Mybase Desktop 8.x User's Manual

1. Installing Mybase Desktop

• GNU/Linux

For GNU/Linux, simply extract the downloaded .tar.xz package into your home directory, by using a GUI archive tool, or in Terminal window running the tar command like this:

$tar xJf Mybase-Desktop-Ver800b-Linux-amd64.tar.xz then you can launch the program by running a command line like this: $ cd Mybase8 $./Mybase.run &  Please make sure to include the suffix name ".run" in the command line, so the shell environment can be properly initialized; Without it, the program may not start up normally on Linux systems. It's recommended to create a launcher on your X11 desktop for convenience of launching the program by double-clicking. • macOS For macOS, open the downloaded .dmg package file, then drag the Mybase icon and drop into the system's Applications folder, Mybase will appear in the Launchpad. At the first time running the program, you may need to use Ctrl-Click-Open to launch it from in the Finder; • Windows For Windows, simply run the downloaded .exe setup program and follow the prompted instructions; You'll need to select the target directory and program group name; Once setup completes you can use the Start menu or simply double click on the program's icon to launch it. 2. Uninstalling Mybase Desktop Before uninstalling the program, please be sure first to create backup for your .nyf database files. • For GNU/Linux Simply remove the program's directory. • For macOS Trash the installed Mybase icon from the Application folder. • For Windows Select the "Uninstall Mybase Desktop 8" menu item from the Start menu, and press the "Yes" button to uninstall it completely. 3. Building up databases To build up a database, please first select the [File - New database] menu item to create a new database, then you can add info items within the outline view, input text in the content editor, insert files as attachments, and make individual info items linked each other or with the calendar, make hyperlinks, apply labels/tags, or assign custom icons to individual info items, and more; You have the full control of how your information is stored and organized within Mybase. See below for detailed instructions. 1. Create databases Before you save contents within Mybase, you'll need first to create a new database (.nyf file), whereby you can add info items, then input text contents and then organize them in the tree outline form. In order to create a new database, please select the [File - New database] menu item, then determine the target .nyf database file path and/or set a password for data security. In order to prevent existing .nyf database files from being accidentally overwritten or truncated by mistake when creating new databases, those existing .nyf files will be preserved by simply renaming with a tag ".ToDelByHand" appended to original file names. That's to say, existing .nyf database files will not be deleted or truncated automatically when creating new databases, you'll need to double check and manually delete them from the file system. 2. Add info items The new database automatically opens when it's created. Then you can insert new info items in the outline tree view by selecting the [Organize - New child item] or [New sibling ...] menu items. Each info item accepts a piece of HTML or rich/plain/markdown text as default content. When clicking on an info item within the outline view, the default content will open in the integrated content editor, and you can view or edit the content with ease; 3. Insert attachments/shortcuts Each info item accepts a collection of files as attachments. The attached files can be either a real file inserted and stored in the database, or a shortcut linking to a document stored in the local file system. To insert files as attachments, please select the [Attachments - Add attachments] menu item; To insert file shortcuts, please select the [Attachments - Add shortcuts] menu item. 4. Organizing info items You can organize info items in the tree outline form, and Mybase provides additional organizing methods, such as item linking, symbolic linking, linking with calendar, and labelling etc. 1. Item links Each info item can have a list of related info items, which will be listed out for reference when the item opens. Double-clicking on a related item will open the item. To make an item link, please select the [Organize - Link - Link info item ...] menu item, then select a target item to link. The item links can also be inserted into HTML/Rich text content as hyperlinks, one can click on the hyperlinks to open the target items. To insert an item link into HTML/Rich text content, please select the [Edit - Insert - Insert item link] menu item, then select a target item to link; In order to link an info item from the currently selected text within the HTML/Rich text content, please right-click and select the [Edit hyperlink ...] menu item, then press [Info item] button and select a target info item to link; 2. Symbolic links Symbolic links (Symlinks) are a special kind of info items which can be inserted into the outline tree. Symbolic links behave more likely shortcuts to real info items. There're several synonyms that may describe the concept, such as virtual-node, clone-node, shortcut, transclusion, reference etc. One can create a symlink just containing a reference to another real item. Comparing to the real item, the symlink doesn't save its own data. When clicking on a symlink item, it simply displays content of the referenced item instead of its own. If the referenced item is also a symlink item, it goes forward on the chain till the real item is reached, or an endless loop is detected. Within Mybase, you can create as many symlinks as you see fit. The drawback is that when you copy/export a branch contains symlinks, they're ignored. To insert a symbolic link, please select the [Organize - Link - Symbolic link to ...] menu item, then select a target info item to link. 3. Each info item can be linked with a calendar date by selecting the [Organize - Link - Link calendar ...] menu item. By default, the associated calendar date will be displayed in title text in the outline tree. 4. Label info items In addition to the basic tree structured outline, the label tree provides the second method for categorizing info items. To label an info item, please select the [Organize - Link - Label info item ...] menu item, then select and check one or more appropriate labels to apply to the info item. The label tree is fully customizable and you can add as many labels as you need. To add custom labels, please select the [Organize - Add child item] or [Add sibling ...] menu item within the label tree view; 5. Threads (Keywords) From 8.x on, Mybase introduced a new method of item linking that allows to use special tags like [[ keywords ]] within text contents for the current info item to be linked with other info items containing the same tags. It sounds like the concept of threads, topics, keywords etc., we'd refer the linked info items as threaded items. The keywords and threaded items will automatically be listed out in the relation list for quick reference. Typing the tag "[[" in the text editor triggers a popup menu whereby you can select one of existing threads to join, or select the "New thread name" menu item to add a new one. The [[ keywords ]] tags in text contents will be highlighted and show a Hand cursor on mouse pointer hover, its context menu lists out all threaded items. Right-clicking on a selected keyword in the text editor and selecting the "Join thread" menu item automatically makes the keyword into a thread tag. If no text selected, it allows to choose one of existing threads for the current info item to join. The thread tag [[ keywords ]] allows multiple keywords seperated with a comma, like this: [[ keyword1, keyword2, keyword3 ]] 6. Bookmarks Mybase supports bookmark of paragraphs inside HTML/Rich text content; To define a bookmark of paragraph inside HTML/Rich text content, select the [Bookmarks - Add to bookmarks ...] menu item. Note that Mybase needs to insert an Anchor into HTML/Rich text content when adding a bookmark, so it can scroll down the content view to the bookmarked paragraph when triggering the bookmark item. Mybase also supports hyperlinks to bookmarks from within HTML/Rich text content. To make a hyperlink with a bookmarked item/position, please first highlight a part of text in the HTML/Rich text editor, then select [Edit - Edit hyperlink ...] menu item, and then select an item from in the 'Bookmark' list to link; 7. Custom icons Each .nyf database can store a collection of bmp/png/jpg/gif image files (16x16px) as custom icons, which can be applied to info items and label items. Newly created databases contain several pre-defined icons ready to use, but you may want to import additional desired images as custom icons. To import image files as custom icons, please select the [Organize - Custom icons ...] menu item, the [Custom icons] window pops up, wherby you can press the [Add] button to import image files as custom icons; To apply a custom icon to info items, double click on an icon, or select an icon and press the [Apply] button. 8. Custom Item styles Mybase 8.x supports custom font/color attributes for individual info items, this makes the outline view more customizeable. To set custom styles for info items, please try to first select the outline items and then select the [Organize - Custom styles ...] menu item. 9. Move info items First select one or more info items within the outline view, then select the [Organize - Move - Move item up/down...] menu item to move the selected info items up/down; or select the [Organize - Move - Move to ...] menu item to move them to a specified item as child items; or select the [Organize - Move - Promote to top level] menu item to move them as top-level items. 10. Sort child items by alphabet Info items or label items can be sorted by alphabet or date modified in ascending/descending order. The sorting utility rearranges child items under an item or in the whole sub branch. To sort child info items, please switch to the outline tree view and select the [Organize - Sort child items] menu item. To sort sub labels, please switch to the label tree view and select the [Organize - Sort child items] menu item. 11. Sort child items by calendar Info items can be sorted by associated calendar date by selecting the [Organize - Sort child items by calendar] menu item. To make an info item associated with the calendar, please select [Organize - Link - Link calendar] menu item. 12. Auto numbering The [Organize - Auto number ...] utility helps add ascending numbers to title of each child items under the current item. If the titles already contain numbers, it simply clears the numbers, then you can run this utility again to re-number them. 13. Duplicate info item The [Organize - Duplicate info item ...] utility makes a duplicate of the current info item (branch). This is useful when you want to make a copy of the item and then move it to another item. 14. Copy tree icon The [Organize - Copy tree icon ...] utility copies the current tree icon to all its child items in the outline tree. 5. Capturing data from various sources In addition to individually adding info items while building a database, Mybase provides a set of utilities that help capture data from in various data sources (e.g. disk files, directories, MS-Office and webpages etc.). See below for detailed instructions. Most of import/export specific utilities listed below are written in Javascript, and you have the convenience of customizing the script code or writting your own plugin scripts for particular data processing. For more info on writing plugins, please visit Mybase Plugin Development. 1. Import directory tree This utility imports a disk directory tree (including sub trees and files) into the current .nyf database as sub branches, each folder creates an info item in the outline, and files are imported as attachments (or hyperlinks). To import a direstory tree, please select the [Capture - Import directory tree ...] menu item, then choose a directory to import. Note that importing files as attachments copies all files into the database, that may bloat the database file size. If you'd want to keep the database compact, please be sure to select the [Save files as hyperlinks] option, that indicates to import the directory tree structure with files inserted as hyperlinks, instead of copying whole files into the database storage; File attributes (e.g. path, size and date modified) will be imported with in item contents. Clicking on the hyperlinks launches the original documents as long as they're associated with a program installed on the system. 2. Import .nyf database This utility imports info items from another .nyf database into the current database as sub branches. To import info items from an existing .nyf database, select the [Capture - Import data from .nyf database] menu item, then select a .nyf file, and select an info item (branch) to import. 3. Import files as child items This utility imports selected files as child info items, each file creates an info item under the current item, and is saved in the item's attachment area; For HTML documents, accompanying images (if existing) will be smartly imported into the attachment area as well. To import files as child items, please select the [Capture - Import files as child items ...] menu item, then select one or more files to import. 4. Import MS-Word documents This utility imports MS-Word documents into the current database as child info items. Unlike the [Capture - Import files as child items], this utility attempts to first convert .doc documents into HTML documents and them save them as item's default contents; To import MS-Word documents, please select the [Capture - Import MS-Word documents ...] menu item, then select one or more .doc files to import. This utility requires MS-Word to be properly installed on the system for performing document format conversion via OLE Automation (a Windows feature). 5. Import MS-Word outline This utility imports an MS-Word document with outline items imported as child info items with the original hierarchical outline levels preserved. Each MS-Word outline item creates an info item, and text content are saved as default content in each info items. Currently it is lacking in the feature transfering images while importing MS-Word outline; To import MS-Word outline, please select the [Capture - Import MS-Word outline ...] menu item, and then select a .doc file to import. This utility requires MS-Word to be properly installed on the system for data exchanging via OLE Automation (a Windows feature). 6. Import MS-Outlook items This utility imports MS-Outlook items into the current database as child info items. It also tries to import accompanying images if any present in the selected MS-Outlook messages. To import MS-Outlook items, you'll need to first launch MS-Outlook and select one or more items, and then switch back to Mybase and select the [Capture - Import MS-Outlook items] menu item, the selected MS-Outlook items will be imported as child items with text content saved within each newly created info items. This utility requires MS-Outlook to be properly installed on the system for data exchanging via OLE Automation (a Windows feature). 7. Import OPML items This utility imports OPML items from a specified .opml document into the current database as child info items. To import OPML items, please select the [Capture - Import OPML items ...] menu item, then select a .opml file to import. 8. Import MindMap items This utility imports mindmap items from within a specified .mmap document into the current database as child info items. To import MindMap items, please select the [Capture - Import MindMap items] menu item, then select a .mmap file to import. 9. Import journal template This utility makes a journal template in the outline tree for each day of a specified year. To import a journal template tree, please select the [Capture - journal template] menu item, then input a year number (e.g. 2015). 10. Capture webpages/snippets Mybase accepts any type of files as attachments. To import existing HTML documents saved in the local file system, simply insert them as attachments, by selecting the [Capture - Import files as child items] menu item, each HTML document creates a new child info item; Or seelct the [Capture - Import diretory tree ...] menu item, each sub folder creates a new child info item with files saved as attachments or shortcuts. If you'd want to capture and save webpages (or snippets) directly from within your web browser while surfing the web, please try using the Webcollect addon, which works with Mozilla Firefox and Google Chrome on Linux, macOS and Windows. To install Webcollect addon for Google Chrome, please select the 'Tools - Install Webcollect Host for Chrome' menu item, then proceed to Google Chrome WebStore and add Webcollect addon to your Chrome web browser; To install Webcollect addon for Mozilla Firefox, please select the 'Tools - Install Webcollect Host for Firefox' menu item, then proceed to AMO and add Webcollect addon to your Firefox web browser; The new version of webcollect works with Mybase 7/8.x for Linux, macOS and Windows, but not compatible with earlier versions of Mybase. Before capturing a webpage and saving with Mybase, please try first to launch Mybase and open a target database, and then click the [Save with Mybase] tool button in Chrome/Firefox, the webpage will be captured and saved as a new info item with in the currently working database. By default, if there's no text content selected in a webpage, it tries to capture the whole webpage. In order to capture snippets of a webpage, try first to select the part of interest; The version 8.x of Webcollect addon adds a new command [Copy Html + Images] ( Shift+Alt+C ), which simply put captured contents on the system clipboard, so you can choose to paste the contents elsewhere. [ More info ]. 11. Import text by delimiter This utility imports text content as child items, from a text file with text separated by a delimiter, like this,  Some text lines A ---------- Some text lines B ---------- Some text lines C ---------- Some text lines D  Where the '----------' is the text delimiter. To import the text file as child items, please select the [Capture - Import text by delimiter] menu item, then select a text file, and specify a delimiter. In order to import a text file with each text line saved as a child item, simply supply the '\n' as delimiter. 12. Clipboard monitor The clipboard monitor helps capture info from other programs by monitoring the system clipboard. Once the clipboard monitor is activated, any changes on the clipboard will trigger a popup window and ask for confirmation to save the clipboard content within the currently working database. To activate the clipboard monitor, please select the [Capture - Clipboard monitor] menu item. Selecting the menu item again deactivates the clipboard monitor. Note that the macOS version doesn't support this feature as popup windows are not allowed during clipboard events on macOS. 13. Import data from other programs If you'd like to import data from other programs, please try either of these; • Export your data from other programs, and save them as individual files in txt/html formats, then select the 'Capture - Import files as child items' menu item; • Export your data from in other programs, and map the data as a directory tree (if applicable), then select the 'Capture - Import directory tree' menu item; • Or, try utilizing the 'Capture - Clipboard monitor' that helps you manually copy/paste contents from other programs with less clicks; 6. Sharing data in various formats 1. Export directory tree This utility maps the outline as a directory tree in file system, each info item creates a sub directory (or folder), item content are exported as .html documents (named with defnote.html), and attachments (webpages, images, documents, etc.) are exported as files and stored in the directory tree. To export database as a directory tree, please select the [Share - Export directory tree ...] menu item, then choose a folder location to create the directory tree. 2. Export HTML tree This utility exports item contents as a collection of webpages indexed within an HTML tree. The webpage layout is divided into two panes, the outline items are listed in the left pane, and item content is shown in the right pane when clicking on an outline item by mouse. To export HTML tree, please select the [Share - Export HTML tree ...] menu item. 3. Export current branch to a .nyf file This utility transfers the current outline branch (including item content and sub items) into another .nyf database. If the target .nyf file already exists, you will be prompted to select a destination outline item to save the contents. Otherwise, a new .nyf file will be created to save the contents. To export branch to .nyf file, please select the [Share - Export branch to .nyf file] menu item. 4. Export selected attachments This utility exports the currently selected attachments to a specified folder in the file system. To export selected attachments, please select the [Attachments - Export attachments ...] menu item. 5. Export all files to a folder This utility exports all text contents and attachments from in the current outline branch to a specified folder. To export all files in the current branch, please select the [Share - Export files to folder ...] menu item. 6. Export MS-Word outline This utility exports outline items and/or item contents to MS-Word within the outline view via OLE-Automation. It's useful for writters/researchers to build up the hierarchical outline within Mybase and then transfer it into MS-Word for publishing/printing. To export outline items and/or item contents to MS-Word outline, please select the [Share - Export MSWord outline...] menu item, then select the content/range being exported to MS-Word, and determine a filename to save the contents. This utility requires MS-Word to be properly installed on the system for data exchanging via OLE Automation (a Windows feature). 7. Export .exe standalone databases Mybase 8.x doesn't provide the viewer program, but you may try creating .exe databases by utilizing Mybase Viewer 6.5.x which is compatible with v8.x; In order to export .exe database, you'll need to first download and install Mybase Viewer 6.5.x, and then select the [Share - Export .exe database] menu item from in Mybase Viewer 6.5.x; If any images embedded with BASE64 in HTML contents, it's recommended that you try to first drag the images and drop into the attachments pane, to move the images to the attachments area, for more compatibilities with Mybase Viewer 6.5.x; Note that the .exe database is currently a Windows platform specific feature, but not available for Linux and macOS; And some of new features (e.g. Markdown, Relative paths, Syntax-highlighting etc.) are not supported by the old version 6.5.x. 8. Export CHM project This utility exports contents in the current branch as CHM project files, that can then be compiled into CHM e-books, by invoking Microsoft HTML Help Workshop. To export CHM, please select [Share - Export CHM project ...] menu item, then select a temporary destination folder where to temporarily store all CHM project files. Once all CHM project files are successfully generated, just double click the generated .hhp file in the temporary folder, HTML Help Workshop will open and automatically load the CHM project, and then you can select the [File - Compile ...] menu item to make it into a CHM file. Mybase doesn't include the Microsoft HTML Help Workshop in its package, you'll need to download it separately from Microsoft Download Site and have it properly installed on the system before compiling CHM projects. If you have Microsoft HTML Help Workshop installed in its default folder (i.e C:/Program Files (x86)/HTML Help Workshop/ on Windows 7+, Mybase will automatically invoke the CHM compiler to make the CHM project files into a .chm file, and automatically clean up temporary files in one go, without having to manually run the CHM compiler. As embedded Base64 images may not work when viewing CHM on some old versions of Windows and IE, Mybase attempts to dump all embedded Base64 images as individual image files. Note that CHM is a Windows platform specific feature, but currently not available for Linux and macOS. 9. Export text with delimiter This utility exports text contents from in current branch and saves as a plain text file with text contents separated by a given line delimiter. To export text with a delimiter, please select [Share - Export text with delimiter] menu item, then enter a text delimiter, and determine a file path to save the text contents. 10. Export text with indentation This utility exports text contents from in current branch and saves as a plain text file with the original tree structure preserved. To export text with indentation, please select [Share - Export text with indentation] menu item, then determine a file path to save the text contents, and optionally specify a prefix tag for each item titles. 11. Export text without formatting This utility exports text contents from in current branch and saves as a plain text file without any formatting data. To export plain text without formatting, please select [Share - Export text without formatting] menu item, then determine a file path to save the plain text contents. 12. Export data records to CSV file This utility scans default item contents in the current branch for data records by the given field names, and results (found records) will be saved in a .csv file, which is compatible with familiar spreadsheet software or relational database programs. To export data records to a .csv file, please select [Share - Export data records to CSV file] menu item, then enter field names (sepearted with comma), and determine a .csv filename; For instance, giving the field names: "name1|name2|name3|name4", it searches for data records in item content having text like this;  name1 = value1 name2 = value2 name3 = value3 name4 = value4  and the resulting .csv file will have the records like this;  "name1","name2","name3","name4" "value1","value2","value3","value4" ... ...  In addition, the [Edit - Text utilities - Edit with fillable form] utility provides the convenience of editing this kind of data records within a fillable form. 13. Export Spider Diagram This utility exports the outline items from in the current branch and generates a spider-like diagram. To export a spider diagram, please select the [Share - Export spider diagram...] menu item, then determine a few options and a file name to save the spider diagram in either of PNG/JPG/BMP. 14. Export ePub digital book This utility exports HTML contents from in the current branch and generates ePub digital books, which can be then transferred to iOS/Android devices (e.g. iPhone/iPad/Samsung) for viewing. Each info item in the outline branch creates a chapter in the .ePub e-book. Like the HtmlTree maker, the default HTML contents will be exported inclucing fonts, colors, links and images; If an info item doesn't contain the default HTML content, the first html document (if present) will be chosen as the content of the chapter; If only a list of images are stored in an info item, Mybase tries to make all the images available in the resulting .ePub e-book; Otherwise, for empty info items, a simple list of child items will be displayed. Note that we've put some efforts on validating HTML documents stored in .nyf databases and making them conform to W3C XHTML 1.1 Specs. However, for those random HTML documents with malformed formatting, the conversion may fail, if in this case, you'd need to manually remedy the HTML formatting code before exporting .ePub e-books, or you may simply select the option to ignore malformed HTML code if any. How to view ePub e-books on Apple iPhone/iPod/iPad? There're several e-Book reader applications available for iPhone/iPod/iPad in the AppStore, (e.g. iBooks, Stanza ) If you use iBooks, just drag the ePub files into your iTunes Library (or select Add to Library from the iTunes File menu), then sync your iPhone/iPod/iPad with your computer. The ePub books will appear on your shelf in iBooks right alongside the ones you get through iBook store. For Stanza, please select your device in iTunes, click the 'Apps' tab, then scroll the window down to the 'File sharing' section and select the 'Stanza' item whereby you can drag your ePub files into the 'Stanza Documents' list on the right, and the ePub ebooks will shortly appear on your shelf in Stanza. This plugin utility converts Mybase into an easy-to-use ePub e-book maker. 15. Export HTML content This utility exports current contents in the content editor and save as a single .HTML document. If any images linked in the HTML contents and the images are saved in attachments, they are automatically embeded into the resulting HTML source code with BASE64 encoding. To export current contents as a .HTML document, please select the [Share - Export html content...] menu item, or right-click in the HTML editor and select 'Export html content ...' menu item, and then determine the destination filename in the file system. 16. Export PDF document This utility exports current contents in the content editor and save as a PDF document. To export current contents as a PDF document, please select the [Share - Export PDF document...] menu item, or right-click in the content editor and select 'Export PDF document...' menu item, and then determine the destination filename in the file system. 7. Database maintenance 1. Set password Database password is used to protect database from unauthorized access. Within v8.x, database password only applies to data newly added into the database, and is unchangeable once it's been set; so, it's recommended to set a password as soon as the database is created, if you need a password-protected database. To set a password for the current database, please select [File - Maintenance - Set password] menu item. If for any reason you'd like to change a database password, please try to replicate the database into a new database, by selecting the [File - Maintenance - Replicate database ...] menu item, that allows you to set a password for the newly generated database. 2. Undelete info items and files Any changes to the item content produces a new revision and trashes the previous revision into the recycle bin; Deleting an info item (branch) also trashes the item into the recycle bin. So we have a chance to undelete and retrieve the transhed entries if needed. To undelete trashed entries, please select the [File - Maintenance - Undelete items] menu item, then select the desired entries to undelete. Note that trashed entries will be preserved till you run the [File - Maintenance - Empty recyle bin] utility; In addition, the [File - Maintenance - Replicate database ...] utility ignores trashed entries, during replication; 3. Optimize for size Mybase by default stores all outdated revisions and trashed entities within the database. This may waste some disk space and may bloat the .nyf database file. If you'd want to optimize database for size, please first select the [File - Maintenance - Empty recyle bin] menu item to wipe off the trashed entries, and then select the [File - Maintenance - Optimize for size] menu item to eliminate fragments from within the .nyf database file. After this operation, all trashed entries are wiped off permanently. 4. Backup database It's highly recommended to periodically create backup for important databases or simply enable the Auto-backup option in case of file corruption or disk failure. To manually create a backup for the currently working database, please select the [File - Maintenance - Create backup] menu item, then you can customize the file path and file name for the backup file. To schedule Auto-backup on loading databases or on database maintenance operations, please select the [View - Options] menu item, then you can enable the Auto-backup by checking the 'Create backup on ...' options under the 'Backup' tab. In addition to the inbuilt backup utilities and options, you can also create backups by simply duplicating the .nyf files with in the local file system. All information is stored in .nyf database files. 5. Replicate database The [File - Maintenance - Replicate database...] utility replicates the current database to a new one that allows to set a new password. This utility ignores trashed entries while replicating a database, consequently, the new database contains no revision history records available. The new database is automatically done with size optimization, so it is useful when you want to eliminate space fragment and make the database file size compact. 6. Recover database The [File - Maintenance - Recover database...] utility invokes the command line tool "ssg5recover" to recover database from a given corrupted .nyf file. The command line tool is not shipped within the setup package, you'll need to download it separately from on the webpage; 7. Compression level The [File - Maintenance - Set compression level ...] utility is used to adjust the compression level for the current database. You can set the compression level to a number from 0 to 9; "9" stands for maximum compression ratio of data, "1" for minimum compression ratio but with a higher performance, while "0" simple disables the integrated Zlib compression algorithm. Note that changes to the compression level only apply to data newly added to the database. 8. Define relative path variable The relative path variable is a new feature provided in ver 8.x, which allows to create file:// hyperlinks and shortcuts by using relative path variables; The advantage of this feature is that values of the relative path variables can be re-assigned to help maintain consistency of file:// hyperlinks in case of any changes of folder locations, without having to modify or recreate all existing hyperlinks and shortcuts; To define a relative path variable, select the [File - Maintenance - Define relative path variable...] menu item, then type in a variable name and select a local directory; Variable names accept A-Z, 0-9 and underscore, while the value must be filled with a path to target local file directory without trailing slashes, or leave blank to get rid of the variable name from defined variable list; For convenience, a few variables have been predefined for the common directories; For example,${HOME} stands for the current user's home directory, ${DB} for the directory where the current .nyf database file resides, and${TEMP} the system-defined temporary folder location;

A typical file hyperlink with relative path looks like this 'file:///${HOME}/sub/dir/filename.suffix' if you insert a file link or shortcut from in the home directory, or 'file:///${DB}/sub/dir/filename.suffix' if in the .nyf database folder.

You may want to define additional variables to substitute for other particular folder locations; For example, ${DL} for /Users/uid/Downloads, or${DOC} for /Users/uid/Documents, and/or ${SERVER1} for the UNC path //Server1/sub/dir, etc. Relative path variables used in hyperlinks/shortcuts will be evaluated when opening the file links or exporting HTML contents to local file system; The following plugins have added support of raltive path variables: • Capture - Import directory tree • Capture - Import files as child items • Share - Export CHM project • Share - Export directory tree • Share - Export HTML tree • Share - Export HTML content • Edit - Insert - Insert file link • Edit - Insert - Insert folder link • Attachments - Add shortcuts 9. Apply relative path variables The [File - Maintenance - Apply relative path variables...] utility searches the current database for hyperlinks and shortcuts and attempts to apply relative path variables if applicable; This would be helpful if you'd like to apply relative path variables to a number of hyperlinks and/or shortcuts created before this feature release. 8. Mybase provides several search utilities, e.g. [Find as you type], [Search with index], [Find partial workds] and [Search with RegExp]. The first two utilities require index data for fast find and support boolean searches; while the [Find partial workds] and [Search with RegExp] are scanning-based and capable of handling regular expressions and matching partial words. 1. Index data Before using the [Find as you type] and [Search indexes] options, you'll need to first build/update index data. To build/update index, please select the [File - Maintenance - Update indexes] menu item. From v7.2 on, the Auto-index option has been implemented for contents to be automatically indexed when saving changes made to the contents. For existing contents previously added into your databases, or if you have the Auto-index option disabled, you'll still need to manually select the [File - maintenance - update indexes] menu item. Since the Auto-index option is enabled by default, this version does no longer prompt for confirmation when searching outdated indexes, so you'd want to manually select the [File - maintenance - update indexes] menu item for all existing databases to be indexed before using the new version, and newly added or modified contents will be automatically indexed when saving changes. 2. Find as you type The [Find as you type] feature searches the current database for a phrase as you type. Pressing F3 moves input focus into the edit box whereby you can type in a phrase to seach for. Index data is required, please be sure to first build or update index data. 3. Both [Find as you type] and [Advanced search] support the boolean operators (AND, OR, NOT). You can type a search phrase like this: w1 AND w2 OR w3 OR w4 NOT w5. The boolean operators (AND, OR, NOT) can be abbreviated with the equivalent characters (+, |, -) or (&, |, !). Therefore, you can also type the search phrase like this: w1 + w2 | w3 | w4 - w5. Note that each boolean operator requires a leading space and a trailing space, otherwise it doesn't take effect. 4. Search with RegExp (Search for words or partial words) Mybase also implemented the [Use regular expression] option, which allows to search with regular expressions. To search with RegExp, please select the [Search - Advanced search] menu item, then enter a regular expression (only pattern string without begining/ending slashes, just like this: wj{2,}soft\.com), found items (if any) will be listed in the query results window. This utility scans through databases, no index data required. 5. Find in text This utility matches text with in the current content editor, it behaves like the 'Find' command in Windows Notepad. To find in current content editor, please select the 'Edit - Find in Text ...' menu item, then type in one or more words to find. 6. Search by custom icons The [Search - Search with custom icons ...] utility scans the current branch or whole outline tree for those info items having a given custom icon. This utility traverses the outline tree branches, no index data required. 7. The [Search - List all related items ...] utility scans the item links table iteratively for those info items directly or indirectly associated with the current info item. For example, item A is linked with item B only, while item B is linked with item C and D, when you select the [Search - List all related items ...] menu item on item A, all of them (A, B, C and D) are listed out. This utility looks into the item links table for info items associated directly or indirectly, no index data required. 8. List recently modified entries The [Search - List recently modified entries ...] utility scans the whole database for those entries (info items, item contents, attachments and shortcuts) modified within a specified date period, e.g. today, this week, last week, this month, etc... This utility traverses the outline tree, no index data required. 9. The [Search - Search local file system ...] utility scans local files under a directory for given words or Regular Expressions. You can select to search file names only, or file content, or both. To search with RegExp, please be sure to add a pair of slashes surrounding the RegExp pattern string, like this: /pattern/i If you choose to search file content, it attempts to parse each documents by utilizing the corresponding document filters installed on the system. It may take much time to parse a large number of documents, this utility actively maintains an internal .nyf database to cache textual content of documents, so later searches in the documents could get faster. The cache database is saved in the current user's home directory with the file name "Search file system.nyf", you may remove it at any time if no longer needed; Note that this utility may take quite a while to go through a whole file system, so it's recommended to restrict the search range to the folder as close as possible to the target files. 9. Text content editings For each info items, the deafult text content can be created in one of the 4 supported document formats (HTML, RichText, PlainText, and Markdown). The HTML format is preferred to save and render web contents which are captured from websites, it's fully compatible with HTML/CSS Specs, and an HTML editor is integrated for basic editings of HTML contents; The Rich text format is preferred to take notes or write articles with support of fonts, colors and images. It works like the Microsoft RTF Editor, but is not identical nor equivalent. Unlike RTF Specs, the Rich text is actually saved in a subset of HTML/CSS Specs; The Plain text format can only save plain text without any formatting data preserved; The Markdown format is ideal to take notes and write articles in yet another easy-to-use way. The integrated Markdown renderer supports the CommonMarkdown Specs. 1. Edit HTML source The [Edit - Edit HTML source] utility allows to manually edit HTML source code for the current item's HTML/Rich text content. Mybase v8.x doesn't accept scripts in the HTML source. Scripts (dynamic contents) causes confusion with the inbuilt WYSIWYG HTML editor. So please avoid using scripts (dynamic contents) in HTML source code. However, you can freely use CSS2/3 in the HTML source code; In fact, some of inbuilt text formatting tools have been using CSS2/3 to enhance the WYSIWYG HTML editor. Note that Mybase tries to make HTML source code more human-readable by auto-indentation with Tab characters (0x09); If you're trying to manually edit the HTML source code, please make sure that you always use the Tab characters (0x09) for indentation in the HTML source code, instead of the blank spaces (0x20) or any other UNICODE blank characters. Otherwise, it may produce unwanted extra blank spaces in the resulting webpages. 2. Edit plain text The [Attachments - Edit plain text] utility allows to edit current content or currently selected attachment as plain text. If any attachment file is currently selected, it attempts to load it as plain text for editing, otherwise, the current item's default content is loaded as plain text for editing. Note that this utility always saves text content in UTF-8, no matter what encoding type it's originally saved in. Caution: This utility can only be used to edit text files; Editing arbitrary/binary files as plain text will result in file corruption. 3. Markdown with MathJax support The Markdown content can be loaded into the plain text editor for editing, or rendered in the integrated web browser. The two modes can be switched by using the context menu. In the edit mode, Markdown content will also be syntax-highlighted. From v7.3 on, support of MathJax for Markdown has been added. Mathematical and scientific content can be inserted into Markdown contents by simply using a pair of '$' for inline code snippets, or '' for code blocks; In the case that you need to use the literal character '$' in Markdown contents, prepend a back-slash '\' to the '$' tags.

The online (CDN) version of MathJax is used by default. If you already have a local copy of the MathJax 2.7.x extracted in the file system, the folder location can be specified in the [Options - Content] dialog box to enable the local copy for speed up.

If you've properly setup the local MathJax library, the 'SVG' configurations are recommended; Otherwise, for the CDN version, the 'CHTML' configurations are recommended.

In the case that MathJax renders Maths too small or too big, you may want to scale it up/down in the [View - Options - Content] dialogue.

From v8.0 on, support of MathJax2/3 and Katex have been added, and you can choose which one is used to render Math expressions.

4. Open externally

The [Attachments - Open externally] utility simply exports the current content or currently selected attachment document to the TEMP folder, and then invokes the associated program to open it.

If any attachment file is currently selected, the attachment file is exported and opened; otherwise, the current content in the editor is exported and opened with the associated program.

For consistency of contents of attachments externally opened, any changes made to the attachments within external programs will actively be captured and imported into the database. Manually pressing the Save button attempts to capture external changes again (if changed since last capture) in case of failure capturing the external changes when the document has the exclusive open mode with external programs. For each successful capture of external changes, that will be saved as a new revision and trash the previous revision. If the content has been saved multiple times within external programs, it would produce the same number of revisions within Mybase.

Note that contents saved in the TEMP folder will remain there till you close the database or exit Mybase normally.

5. Paste text contents and images

The [Edit - Paste] utility generally pastes the preferred data from clipboard; However, If there're multiple data formats of clip data available in the system clipboard, it may prompt the 'Paste special' options for you to determine which data format should be pasted at the current input focus;

The [Edit - Paste special ...] utility allows to choose one of data formats available in the system clipboard and paste at the current input focus.

The [Edit - Paste unformatted] utility simply pastes plain text at the current input focus from the system clipboard.

6. Make into table

The [Edit - Text utilities - Make into table ...] utility converts the currently selected tabular text into an HTML table.

The tabular text must be delimited with a special character or string, like this;

1,2,3,4,5,6,7
a,b,c,d,e,f,g
A,B,C,D,E,F,G

It will be converted into an HTML table by using the comma delimiter.

7. Edit with fillable form

The [Edit - Text utilities - Edit with fillable form...] utility allows to edit the [key=value] data records within a fillable form. You can edit existing [key=value] records or append new keys (field names) and values with ease.

In addition, the [Share - Export data records to CSV file] utility helps export existing data records as .csv file for data exchanging with spreadsheet software or other database programs.

8. Custom stylesheet

Custom stylesheet defines text fromatting data (e.g. font name, size, style and colors), that can be applied to the currently selected text in the HTML editor.

To define a stylesheet, please select the [Stylesheet - Defined stylesheet ...] menu item, then determine a name, and setting the text attributes to define the new stylesheet;

If you first highlight a sample text within the HTML editor, and then select the [Stylesheet - Defined stylesheet ...] menu item, it attempts to extract formatting data from the highlighted text to initialize the new stylesheet;

To apply a custom stylesheet to the selected text in other item content, please select [Stylesheet - Name of stylesheet] menu item.

9. Remove unwanted spaces/returns

Select the [Edit - Text utilities - Remove unwanted spaces...] menu item, then choose what kind of spaces you'd want to eliminate from the currently selected text within the RTF editor.

10. Sort text lines by alphabet

Select the [Edit - Text utilities - Sort text lines...] menu item to sort the currently selected text within the HTML content.

Note that it processes the selected content as plain text, and may lose formatting data from individual lines.

11. Syntax highlight

The [Edit - Syntax highlight] utility makes the selected source code highlighted by syntax.

Currently a couple of the familiar programming languages are supported including C/C++, Qt/STL, Java, Javascript, C#, Delphi, VB, Ruby, PHP, Python, GO, Perl, SQL, Bash, Objetive-C, Swift, etc.

12. Insert code block

The [Edit - Syntax highlight] utility makes the selected source code highlighted by syntax.

Currently a couple of the familiar programming languages are supported including C/C++, Qt/STL, Java, Javascript, C#, Delphi, VB, Ruby, PHP, Python, GO, Perl, SQL, Bash, Objetive-C, Swift, etc.

13. Insert quick text

The [Edit - Insert - Insert quick text] utility allows to choose and insert a text content from the pre-defined quick text list. To define a quick text file, simply save quick text as *.q.txt files in either the program's folder, or in the current database's folder, and/or in the './quicktext' sub folder under the program's folder.

14. Make uppercase/lowercase

The [Edit - Text utilities - Make uppercase/lowercase] utility makes the currently selected text into upper/lower case.

15. The [Edit - Edit hyperlink ...] utility makes the currently selected text into a triggerable hyperlink. In addition to web URLs, you can also make hyperlinks to either info items, attachments, bookmarks, or local files.

The latest version allows to create hyperlinks to info items cross different databases.

16. Comment on paragraphs

The [Edit - Comment ...] utility allows to add comment text to the currently selected paragraphs within the HTML editor. The comment text are saved within the 'title' property of the paragraphs (i.e. Block-level tags), so the comment text will pop up while the mouse pointer hovers.

17. Table editings

To insert a new table into the current HTML/Rich text content, please select the [Edit - Table - Insert table] menu item, you can determine the number of rows and columns, and width of the table to be inserted.

Once the table is inserted, you can choose to insert/remove rows/columns by selecting the [Edit - Table - Insert/Delete ...] menu items, or resize the table, or resize selected columns, and/or set background color for selected cells.

With in the HTML editor, Mybase uses CSS formatting for HTML tables, and allows you to fully customize the CSS properties by editing HTML source, or just select the [Edit - Table - Custom table style ...] menu item. Note that the Rich text editor doesn't support the custom CSS properties.

18. Image utilites

Mybase allows to copy/save/rotate/resize images embedded within HTML/Rich text contents. You can access to these utilities from the image's context menu only, the main menus doesn't include these options.

With in the HTML editor, when you copy/paste HTML content from web browsers, Mybase tries to download the linked images and make them embedded into the HTML source; this usually produces larger HTML files and may occupy some more disk space, especially when the HTML content is frequently modified with old revisions pushed into revision history. In order to save disk space, you may want to drag the embedded images and drop into the Attachment pane, this moves the embedded images as attachments, with only links preserved in the HTML source, and makes the HTML content smaller.

The inbuilt Rich text editor also supports these image specific options, you can select an image in the text content and right-click on the image, and then choose 'Resize image' or 'rotate image' menu item. However the operations are different than in the HTML editor which only changes the image's CSS properties, the Rich text editor will make actual changes to the image data for resizing and rotation.

19. Copy text to title

The [Edit - Copy text to title] utility copies the currently selected text in the content editor as the current info item's title. The leading/trailing spaces in the title text will forcedly be trimmed.

20. Revision history

The [Edit - Revision history] utility allows to revert current item content to one of history revisions ever trashed into the recycle bin.

Note that this utility maintains the revision history within the recycle bin, so history revisions will remain till you run the [File - Maintenance - Emtpy recycle bin] utility.

10. Misc. utilities/features increasing personal productivity

1. Keyboard shortcuts customization

To customize keyboard shortcuts, please select [View - Options ...] menu item, then click the [Keyboard] tab, and hit a hotkey (keyboard combination or function key) on the target item within the action list to define it.

2. Items for today (or next week)

Select the [Search - Items for today (or next week)] menu item to list out info items linked with the calender and being due today or in next week;

To make info items linked with the calendar, please select the [Organize - Link - Link calendar ...] menu item.

3. Evaluate math expression or js code

The [Tools - Evaluate expression or js code] utilities calculates the currently selected Math expression in the HTML content, and inserts the resulting values of the expression into the content; For example, the expression "1+2+3" will be calculated and turned into "1+2+3 = 6";

If there's no text selected in the HTML content, a text box pops up, whereby you can type in an Math expression or js code to evaluate, the result of the expression or js code will not be inserted into the content, but only displayed in an 'Alert' window.

Both Math expressions and js code you input must conform to Javascript Syntax, and you can use all of those classes and functions pre-defined in Javascript. For example, "new Date().getTime()" returns the current UNIX time in Milliseconds;

In addition, Mybase plugin APIs is fully supported.

4. Display statistics

The [Organize - Display statistics] utility looks into the current outline branch and reports statistics on file size.

5. Batch redirect shortcuts

The [Attachments - Batch redirect shortcuts] utility replaces file path of shortcuts with a new folder path. It's useful when linked files/documents have been moved to another disk folder, you can update exising shortcuts with the new folder path. without having to re-create all the existing shortcuts.

6. Compare folders

The [Tools - Compare folder] utility looks into two given disk folders, and attempts to detect difference between the two folders. It only checkes filenames and attributes (size, date modified) of files existing in the two folders, and then report difference if any.

7. Detect text encoding

The [Tools - Detect text encoding] utility detects encoding type of a text file.

8. View file in hexadecimal

The [Tools - View file in hexadecimal] utility reveals whole or part of a specified file in the hexadecimal format;

9. Number base converter

The [Tools - Number base converter] utility converts a given big integer into a specified number base, for example, from a decimal integer to hexadecimal or binary.

10. .

11. Mybase Plugin APIs

1. Mybase Plugin Javascript APIs

Mybase Desktop 8.x is built with the Qt Framework and the Structured Storage Library, Mybase exposes its APIs in both C/C++ and JavaScript to extend the functionality by writing plugins; Mybase 8.x has implemented tens of plugins inbuilt as the essential functionality. For third-parties to write plugins, Javascript APIs are currently recommended, while the C++ APIs are complicated and obsolete. If you'd like to find more plugins or have interest in Mybase plugins development work, please go here.

Below is a list of online resources that would help you learn the Javascript programming language;

12. FAQs

1. How do I get started with Mybase Desktop?

First of all, you'll need to download a copy of Mybase Desktop that is appropriate for your system platform (Linux/macOS/Windows), and then have the program properly installed on your system.

Using Mybase is straightforward. Before you input your own information, you'll need first to create a new database (.nyf files), then add info items with in the tree outline view; Each info items accept a peice of Html/Rich/Markdown/Plain text info as default content of the info item, as well as a list of files as attachments with in the Attachment pane. All information are automatically compressed and stored in the .nyf database when clicking the Save button or pressing Ctrl/Command+S. Here is a simple list of basic instructions on using Mybase.

• To create a new .nyf db, select the 'File - New database' menu item,
• To insert info items in the tree outline, select the 'Organize - New item ...' menu items, which inserts new info items as either sibling or child items as you see fit.
• To insert files as attachments or shortcuts, select the 'Attachment - Add attachments/shortcuts' menu item.
• To save changes, select the 'File - Save' menu item, or press 'Ctrl+S'.
• To import materials from other sources, select the 'Capture - Import...' menu items.
• To export info items, select the 'Share - export ...' menu items.
Mybase Desktop provides a sample .nyf database which can be loaded by select the 'Help - Sample database' menu item for demonstration.
2. Does Mybase load a whole database into computer Memory?

No. Mybase supports the 'Load on Access' feature, it only loads the currently working items into the computer's RAM, without having to load a whole database file.

3. Does Mybase use a lot of hard disk space?

Mybase doesn't use any more disk space than its binary package. You'll need enough disk space to store your own .nyf database files. Mybase provides a set of utilities for database maintenance, such as the integrated zip utility, 'Empty Recycle Bin' and 'Optimize for size' etc. All these efforts help make databases compact and save disk space.

4. Does Mybase lock users data? Once data saved in Mybase are they always Mybased?

No. Mybase doesn't lock any users data in it, you have the convenience of exporting/mapping all your data as a directory tree in the file system at any time.

5. What is the size limit of a single database (.nyf file)?

Mybase 8.x integrates the 64-bit storage library (SSG-5), and a single .nyf database size can be extended up to 8EiB in theory, so you can make your database size as large as you want. However, in general uses, you may want to keep your .nyf database size compact (e.g. 300 ~ 500MB) with a balance between size and the convenience of backing up, syncing and/or transferring your database over network.

Mybase provides the Shortcuts and Hyperlinks and Relative path features that help maintain .nyf database size compact and reasonable; and provides the [File - Maintenance - Empty recycle bin/Optimize for size] utilities which allow to clear outdated revisions and eliminate fragments from in .nyf databases.

6. Is it possible to run Mybase Desktop from on a USB stick?

Basically Mybase Desktop works from in any accessible directory in the file system including removable drives (e.g. USB sticks). You may want to install Mybase onto your removable drive, and also put your .nyf database files on it, and then run your database smoothly with Mybase from the removable drive. However, for data safety and stability considerations, it's not recommended to open .nyf databases for editing purpose from on removable drives, in case of unsafely unplugging or accidental USB I/O failure with the removable drive, that may cause damage to the working databases. If you'd like to use it with removeable drives, please be sure to preserve backups of your .nyf databases. This caution also applies to using Mybase from in a shared folder (SMB/NetBIOS) over LAN. Nevertheless, it'd be a good idea if you only view databases from removeable drives or over LAN;

For registered users to use it as a portable version from on USB sticks, try the command-line argument '-portable'.

7. How do I register (unlock, activate) my copy of Mybase with my license key?

Registering Mybase Desktop

• Select the "Help/Register..." menu item;
• Enter your registration name in the 'User name' field;
• Enter your license key code in the 'License key' field;
• Press 'OK' button to save the license key in the computer;

Having problems registering?

• It's recommended that you input the user name and license key codes by the Copy/Paste operations, instead of typing them in manually, in case of typos.
• A valid license key for v8.x consists of multi-line codes, please be sure to input all of them exactly as listed in your licensing info messages.
• Make sure that the program has read/write access permissions to your {HOME} folder or the program's install folder, so the licensing info can be stored in the computer. If there's a system tweaking utility running in background, it's recommended that you temporarily disable it or allow-list this process, in case of problems registering the program. 8. What type of files/documens will be indexed and searchable? Mybase invokes associated file filters installed on the system to parse documents. For Linux/macOS, Mybase provides inbuilt file filters for HTML/TXT/RTF documents; For Windows, Mybase invokes Windows IFilters installed on the system to parse documents based on the file extension names. The IFilters for MS-Office and HTML documents are integrated within Windows 2000+; For other type of documents (e.g. PDF) to be searchable, you'll need to install the appropriate IFilter provided by manufactories. Once a new IFilter is installed, you'll need to clear and rebuild the index data for the relevant documents to be parsed and re-indexed. For example, in order to search .PDF documents, you'll need to install Acrobat Reader or 3rd-party PDF IFilters and then re-build up indexes. 9. . . 13. Howtos 1. How to make a custom UI theme? Within v8.x, the default UI theme consists of a set of .svg icons, .qss stylesheets and .ini settings, and a few inbuilt sample themes are located in the "./themes" folder for demonstration. A custom UI theme is an aggregate of custom icons, stylesheets, settings with the default theme overridden, it doesn't need to fulfil all the UI stylesheets/settings, but just need to make necessary tweaks to the default theme, for example, one of the inbuilt sample themes defines a single color value for the main UI, all the rest settings remain defults. The default theme and custom themes are all located in the "./themes" folder under the program's install folder, where a few .ini/.qss files are essential for the program to run with an appropriate UI look. Each custom UI theme requires a sub folder under the "./themes" folder, whereby one or more custom icons, and/or .qss/.ini files can optionally be provided to make tweaks to the default UI look. Let's try to explain how it works; 1. icons.ini: allows to map identifiers and .svg/png filenames of icons for menus/buttons. The .ini file is a plain text file, in which each line defines a Key/Value entry in the form of "Key=Value", where the Keys are hard-coded to identify each menu commands, tool buttons and/or other UI widgets, the Values determine filenames of the corresponding .svg/png icon, and can be customized by each custom UI themes if necessary. 2. common.qss: allows to define essential stylesheets of the default UI theme for the UI widgets to be rendered appropriately; The .qss file is a CSS-like stylesheet file complying with Qt Stylesheet Specs. The filename 'common' indicates that it's essential for the UI to work well on all supported OS platforms. Each UI theme can provide its own stylesheet file named with "theme.qss" in the corresponding theme folder. 3. linux.qss, mac.qss and win.qss: allows to define (if any/necessary/required) stylesheets specific to OS platforms respectively. 4. The .qss file supports a set of macro variables like "%AppUIBackColor%", that will be evaluated at runtime from global configurations/settings in the Options/Preferences dialog. The macro variables are not required for custom UI themes, and can be safely replaced with constant values appropriate to the theme. 5. Each UI theme may include its own .svg/png icons, theme.qss, theme.ini and/or (linux.qss, mac.qss, win.qss) in the corresponding theme folder. To make a custom UI theme, just follow this; 1. Under the "./themes" folder, make a sub folder named with caption of the theme, and then proceed within the sub folder; 2. Optionally provide some .svg/png icon files, based on the filenames defined in the default icons.ini; 3. Optionally create a "theme.qss" file, to override settings of the default common.qss file; 4. Optionally create a "theme.ini", to override those global UI settings 'App.UI.*', as listed in the "~/Mybase8.ini" for Windows, or "~/.Mybase8.ini" for Linux/macOS, of which those UI specific entries can be re-defined with in the "theme.ini" file of the custom UI theme. For exmaple, one of the inbuilt themes just defines the UI color via the "theme.ini" file with this code: Theme.Title=Sky Blue Theme.Hint=Show the user interface in the Sky-Blue color App.UI.BackColor=SkyBlue App.UI.BackgroundOpacity=80 2. How to translate/localize the user interface? Mybase supports multilingual user interface. By default, Mybase loads locale messages from within the [./lang/enu.ini] file, and displays all messages in English. If you'd like to have a localized user interface other than the default language (English), please try first to make a copy of the [enu.ini] file with in the same folder and rename it to [your-language-abbreviation.ini], and then translate messages in the file into your language. The new language name will be listed in the [View - Language] popup menu after re-launching the program. If you have a language file accomplished and would like to share with other users, please contact us, we greatly appreciate your help. For your reference, a few language packs contributed by our customers are listed below by alphabet. If you'd like to work or test with them, please try first to download and extract the .INI file into the ./lang sub folder under the program's install folder, and then restart Mybase to have the language names appear in the [View - Language] popup menu; Note that the above language packs worked well with v6.x, however, some of messages may be incomplete or incompatible with v8.x. The following language packs have been updated by the contributors and worked well with Mybase Desktop 8.x; 3. How to apply relative file paths to shortcuts/hyperlinks? Mybase supports the 'Relative path' feature, which allows to create local files links with relative path. The simple way to use relative path is that you'll need to first put documents into the directory where the current .nyf database file resides, and then insert the documents into Mybase as hyperlinks or shortcuts, the 'relative path' is automatically applied. When triggering the hyperlinks/shortcuts, the relative path is evaluated. From v7.0 b-23 on, Mybase includes support of the Relative path variables feature, which allows end-users to define a list of relative path variables, and the user-defined relative path variables will be automatically applied when creating local file hyperlinks and shortcuts; The 'Relative path' feature helps maintain consistency of file links between .nyf databases and local file system. 4. How to rename an info item? To rename an info item, select the 'Edit - Edit/Rename' menu item, or simply press F2 in the outline view, or click twice (i.e. click and then click once again, rather than a double-click) on the info item's title, then the item goes into edit mode, whereby you can edit the title text. In addition, you can also copy the currently selected text from within the HTML editor to the item's title, by selecting the 'Edit - Copy text to title' menu item. 5. How to customize default formatting for HTML content When adding new info items, item content will be initialized with the default formatting (font/size/color...). To customize the default text formatting, please select the 'View - Options' menu item, under the 'Edit' tab, you can change the default text formatting. Note that the default text formatting only applies to new info items added thereafter, but not affect any existing HTML contents. 6. How to use custom templates for text contents and/or outline items? Basically the default text formatting for text contents can be customized from in the Options/Preferences dialog box. The default formatting applies to all newly created info items. In order to apply custom templates to text contents separately, try first to make template files by simply saving existing text template as *.q.html (or *.q.txt) files and put them in the program's install folder or in the database folder, whereby you can then select the "Edit - Insert - Insert quick text" menu item to insert the template text in other info items; For outline tree branches, to make template files, just select the "Share - Export branch to .nyf file" menu item, the current branch will be copied into a new .nyf template file you specify; To use the .nyf template files, select the "Capture - Import data from .nyf file" menu item where the selected .nyf template file will be inserted as a new sub branch under the current info item. 7. How to multi-select info items? To have multiple info items selected within the outline view, please use Ctrl+Click or Shift+Click, i.e. hold down the Ctrl (or Shift) key as a modifier when clicking info items by mouse. 8. How to customize the keyboard shortcuts? To customize keyboard shortcuts for menu commands, please select the 'View - Options' menu item, then click the 'Keyboard' tab, and find/filter the command items in the list, and then simply hit a combination/function key on the command item. 9. How to undelete attachments or info items? Please select the 'File - Maintenance - Undelete Items' menu item, the 'Undelete items' window pops up, and all info items including trashed items are listed in a tree view, whereby you can choose to undelete info items or attachments. 10. How to copy a branch to another .nyf database? To copy the current branch (including all child items) to another .nyf database, please select the 'Share - Export branch to .nyf file' menu item, then choose an existing .nyf file or determine a new .nyf filename as the destination database; If the destination .nyf file exists, you'll be prompted to specify the item location where the current branch is copied to; If the destination .nyf file doesn't exist, it will automatically be created with a copy of the current branch. 11. How to use Markdown documents with in Mybase? Mybase 8.x supports markdown documents that comply with the CommonMark Specs. When adding a new info item, the default content type can be set to Markdown. In addition, existing .md documents can alos be inserted as attachments, double-clicking on a .md attachment will open and render it within the content area. To edit a .md attachment, right-click and select the [Edit plain text] menu item, or open with a third-party plain text editor. Moreover, Markdown documents also support mathematical expressions, flowcharts, diagrams. 12. . . 14. Tips 1. Export current branch and produce a new .nyf database file Select the 'Share - Export branch to .nyf file' menu item, you'll need to determine a destination .nyf file name and path. 2. Import a branch from another .nyf database Select the 'Share - Import data from .nyf file' menu item, then select a .nyf file, and choose a branch to import. 3. An easy way to open a database as Readonly When you open a database from either in the 'Recently used databases' menu or the file system, with the [Ctrl] key held down, the database will open as Readonly. 4. Behaviour on pressing the Tab or Shift+Tab key in HTML editor. The behaviour on pressing the Tab key in the HTML editor depends on the current selection. If there's no text currently selected, pressing Tab simply inserts a Tab character, (by default, a couple of '&emsp;' HTML entities are inserted at caret, and you can customize the Tab width in the Options dialog box), while Shift+Tab simply moves input focus backwards to the outline or label views. If the selection is not empty, pressing Tab triggers the 'Indent' action to increase indentation for the selected content, while Shift+Tab decreases indentation. 5. Sync .nyf database files over multiple computers with online drives (e.g. Onedrive, iCloud or Dropbox). For data safety considerations, .nyf database files will be opened in read/write mode exclusively, so only one process can access database files at a time. If you directly put working database files into online drive's folder, it wouldn't sync data until the databases were closed. In order for .nyf database files to be safely synced, it's recommended that you set the backup file path pointing to the online drive's folder, and check the [Create backups on loading] and [Only once a day] options in the [Options - Backup] dialog box, so the online dirve can sync backup files every day in background without file access conflicts. 6. . . 15. Notes 1. Licensing message not received after paid We issue personalized license keys for each customers and deliver them by email within 48-hour after payment transcations completed. The licensing message contains key codes that look like garbage characters, some email service providers may mark the licensing messages as Spam. If you don't seem to receive the licensing message in your Inbox, it might be worth to check your Spam folder as well, some email service providers will automatically file it there. If it's still not found, please be sure to contact us, we'll be glad to help resent it. 2. Suggestions on safely running Mybase software on desktop computers The significant progress on data safety and stability has been made to the version .x which is built with the new 64-bit storage library (SSG-5). In order to more safely run the database software on desktop/laptop computers, here are a few notes/tips/suggestions that would help increase data safety and stability; • It's highly recommended to periodically create backup for your .nyf databases; • Be sure to have working databases normally closed before the OS system shuts down or goes into hibernation; • Editing .nyf databases from in shared folders (SMB/NetBIOS) over LAN with Mybase Desktop is NOT recommended. Accidental network problems may cause damage to the working databases. Nevertheless viewing .nyf databases via file sharing over LAN can be a good idea. • Mybase Desktop can run from in removable drives (e.g. USB sticks); However, it's not recommended to open .nyf databases for editing from in removable drives, accidentally/unsafely unpluging the removable disk may cause file corruption. If you'd like to use it on removeable drives, please be sure first to create backup; • If you have a system tweaking utility (e.g. Anti-virus, Cleaner, etc.) running in background, it's recommended to temporarily deactivate it while Mybase runs, or put Mybase on the 'Exception' list, especially when you experienced problems with it; • It'd be safer if you have working databases closed instead of just leave them running in background in the case that you won't work with them in the rest of the day. • If any problems opening a .nyf database due to file corruption, and there's neither a recent backup nor any other choices, please try running the recovery tool. 3. About the file extension names (.nyf, .bak, .dbindex) • The .nyf file contains titles, notes, webpages, images, attachments, labels, links, everything you saved in the database. • The .bak file is backup of the .nyf database file having the same base file name. • The .dbindex file contains index data created for fast searching. 4. What's the difference between Attachments and Shortcuts within Mybase? When you insert a file as attachment, the whole file is copied into the database, and the database file size usually gets larger. When you insert a file as shortcut, only a file link is inserted into the database, rather than copying the whole file, it won't bloat the database file. If you have a number of (larger) files need to organize with in Mybase, it's recommended to insert them as shortcuts with the relative path applied. 5. Upgrading exisitng .nyf databases to Ver 8.x For better cross-platform support, Mybase Desktop 7.x/8.x has upgraded its storage and text content format; If you have a .nyf database created within old versions of Mybase (e.g. 4.x, 5.x, 6.x) for Windows, and would like to get it to work with Mybase 7.x/8.x, please follow this, • Download and install Mybase Desktop 6.5.1+ on a Windows PC; • Open the .nyf database within Mybase Desktop 6.5.1+; • Select the [File - Maintenance - Replicate from RTF to HTML ...] menu item, specify a new database file name, and press OK button; • After the replication/conversion is done, the generated .nyf database will work with Mybase Desktop 7.x/8.x for both Linux, macOS and Windows; Unlike RTF text formatting, the HTML format doesn't support OLE objects embedding into text contents, OLE embedding is a Windows OS specific feature that is currently not available for Linux/macOS. The replication tool tries to convert OLE objects (if any) into thumbnail images embedded in resulting HTML content. Within v6.5.1+ the inbuilt RTF2HTML conversion during replication only parses a subset of RTF/1.8 control words (e.g. font, style, size, color, alignment, indentation, spacing, picture, etc.), not all RTF control words will be exactly converted. HTML formatting is quite different than RTF, you may need to perform some adjustments manually after conversion, and have old .nyf databases preserved for later reference. If you have MS-Word properly installed on the system, it's recommended that you choose MS-Word to perform the RTF2HTML conersion during database replication. MS-Word fully understands the RTF specifications and performs almost perfect RTF2HTML conversion. Mybase 6.5.1+ provides the option allowing to invoke MS-Word for RTF2HTML conversion while replicating databases. If you'd like to upgrade a database to v8.x from v7.x, no conversion is needed, v8.x is back-compatible with v7.x; 6. Opening attachments externally with associated programs When you open attached documents (i.e. attachments, not shortcuts) with associated programs, the attachment must be extracted and saved into the temporary directory, whereby external programs can use them. Mybase monitors the externally working documents, and tries to update the database if any changes made to the documents, From v7.0 b-24 on, for consistency of contents of attachments externally opened, any changes made to the attachments within external programs will actively be captured and imported into the database. Manually pressing the Save button attempts to capture external changes again (if changed since last capture) in case of failure capturing the external changes when the document has the exclusive open mode with external applications. For each successful capture of external changes, that will be saved as a new revision and trash the previous revision. If the content has been saved multiple times within external programs, it would produce the same number of revisions within Mybase. Note that contents saved in the TEMP folder will remain there till you close the database or exit Mybase normally. 7. Disk space usage with Mybase By default, all information is automatically compressed with the integrated zip utility and saved in .nyf databases. In most of cases, you don't need to care about the disk space usage on Mybase databases. Here are a few notes about disk space usage that may help you understand how Mybase stores information, and how to run it smoothly and safely. • Deleting info items or attachments only marks them as trash (in the Recycle bin), this way, you have the chance of restoring them in a later time when you want them back; That's to say, deleting (trashing) info items or attachments doesn't free up any disk space, and the .nyf database file size will not shrink, till you run the [File - Maintenance - Empty recycle bin/Optimize for size] utility. • Committing changes to an info item's HTML content trashes the previous revision and creates a new entry in the revision history list. You can choose to revert to any one of history revisions, till you run the [File - Maintenance - Empty recycle bin/Optimize for size] utility, which will clear all history revisions. • Inserting files as attachments copies whole file content into the .nyf database, this may bloat the .nyf database file size. If you'd like to organize a large number of documents within Mybase, it's recommended that you just add the documents as shortcuts or hyperlinks, instead of adding as attachments; Shortcuts/hyperlinks only contain file path without file content. In addition, Mybase provides the Relatve path feature, which helps maintain consistency of file links between shortcuts/hyperlinks and local file system. 8. Copy/paste operations The inbuilt Copy/paste utility allows to copy data of [Text, Images, Info Items, Labels, Attachments, URLs, Local Files] to the system clipboard, and paste those data into the views of [Text Editor, Outline Tree, Label Tree, Attachment List, Search Results], and may prompt for further options based on matches of the data and views. Specifically the following Paste operations are supported; • Html/Plain text contents on the system clipboard can be pasted into Html/Rich/Plain text contents as they're, or into the [Outline view, Relation/Attachments List] to create .html/txt attachment files; • Images from in the system clipboard can be pasted into Html/Rich text contents either as Base64 dataURLs, or just image links with image data put into attachment files. Markdown image syntax supported; • Disk files copied from in the local file system [Windows Folders, macOS Finder, Linux File Manager] can be either pasted into the [Outline view, Relation/Attachments List] to add as attachments or shortcuts, Or, pasted into Html/Rich/Plain text contents as file:// links; Markdown linking syntax supported as well; • Info items copied from in the views of [Outline tree, Relation/links list, Search results list] can be either pasted into the Outline view to replicate as sub branches (if any child items), cross-database replication of info items is supported; Or, pasted into the Label tree view to apply the currently selected label to the info items; Or, pasted into the Search results list to append as result items; Or, pasted into the Html/Rich/Plain text editors as hyperlinks, linking back to the original info items, Markdown linking syntax supported; • Label items copied from in the Labels view can be either pasted into the [Outline view, Relation list] to apply the label to the current info item; Or, pasted into the Html/Rich/Plain text contents as hyperlinks, linking back to the original label items, Markdown linking syntax supported; • Attachment files copied from in the Attachments list can be either pasted into the Search results list to append as result items; Or, pasted into the Html/Rich/Plain text editors as hyperlinks, linking back to the original attachment files, Markdown linking syntax supported; Note that the default Paste command may auto-choose the preferred clip data among multiple data formats available in the system clipboard, and may prompt for further options or confirmations; Some of the prompts can be suppressed from in the Options - Prompt dialog box if they're unwanted or annoying. However, if there're any data formats other than [Html, Plain] text contents applicable to paste at the current input focus, the [Paste special] dialog may pop up even during the default Paste operation, in order for users to determine which data format is preferred and should be pasted at the input focus. This may help reduce confusions with mulitple data formats such as [Info items, Label items, Disk files, URLs, Html, text, Rich text, Plain text, Images, etc.] available in the system clipboard and applicable to the current input focus; If this option was unnecessary or annoying in particular cases, it can be turned off by manually editing the plugin scripts located at ./plugins/paste.js 9. . . 16. Troubleshooting 1. Why are all editing tools grayed out? I cannot edit anymore. If the database was open as Readonly, please try to close and re-open it without the 'Readonly' attribute. To do so, select the 'File - Open Database...' menu item without the Ctrl key held down, locate the target database file and press the 'Open' button. Note that current text note can be temporarily set as Readonly by selecting the 'Edit - Edit/Rename' menu item. If this is the case, simply select the menu item again to remove the 'Readonly' flag. 2. Nothing found on searching a database. The [Advanced search] and [Find as you type] utilities are based on index data. Before searching, you'll need to build/update index data by selecting the [File - Maintenance - Update index] menu item. Without index data, you'd want to try the [Find partial words] and/or [Use regular expression] option. From v7.3 on, the [Auto-index] feature automatically updates index data while commiting changes to a database, Nevertheless, you'd still want to periodically select the [File - maintenance - clear index data/update index data] menu item to have a clean index data and reduce its file size. Mybase provides the [Tools - Diagnose file parser] utility for testing if a specific file parser has appropriately been installed on the system. 3. Failure loading a database? If you're having problems opening a .nyf database within v6.3.x/7.x/8.x, please make sure that you have the appropriate rights accessing to the .nyf file, or you may need to find a solution below by given error messages; "Failed to open the database. (ErrCode: -1)" If you experienced the error message with the error code -1, it's more likely that the database is already open within another Mybase instance. If this is the case, simply activate the previous Mybase instance by pressing Alt+Tab or Win+Tab. Otherwise, the .nyf file might be in use by some other programs in background, for example, certain Anti-virus/malware utility might be running in background and actively checking files at that time, you'd want to temporarily disable the utility or allow-list .nyf files and Mybase application. "Failed to open the database. (ErrCode: -32)" or "Bad root folder ..." This error message indicates that the database didn't find its root folder, or the root folder got corrupted, possibly due to accidental power failure, or system crashes, or your USB drive was unsafely unplugged off; You'd have to restore the database from the most recent backup file, or try running the recovery tool (see instructions below). "Invalid file identifier detected ..." If you're sure that the file has the .nyf extension name, and worked ever before within Mybase Desktop, it might have got corrupted, you'd have to restore the database from the most recent backup file, or run the recovery tool (see instructions below). "The database has a signature of the storage library (SSG-3) ..." When you attempt to open a .nyf database created with old versions of Mybase (e.g. 4.x, 5.x, 6.x), it may fail to open with a popup message like this: "The database has a signature of the storage library (SSG-3) which is no longer supported in the new cross-platform system". As indicated, Mybase Desktop 7.x/8.x does no longer support the old version of storage library (SSG-3), you'll need to upgrade the .nyf database with the new SSG-5 storage library. In order to upgrade the storage, please try this; • Download and install Mybase Desktop 6.5.1+ on a Windows PC; • Open the .nyf database within Mybase Desktop 6.5.1+; • Select the [File - Maintenance - Replicate from RTF to HTML ...] menu item, determine a new database file name, and press OK button; • After the replication/conversion is done, the new .nyf database will work with Mybase Desktop 7.x/8.x for both GNU/Linux, macOS and Windows. "Authentication method not supported ..." If you see the error message "Authentication method not supported ..." when opening a .nyf database, it indicates that the database was created with an earlier version, and needs to upgrade its storage format by replicating the whole database with the SSG-5 command-Line or the SSG-5 Replicator for Windows. For Linux/macOS，please try using the SSG-5 command-line tools; 1. Download the ssg shell package, and temporarily save it in your HOME directory; 2. Open a Terminal window, and run the below commands to extract the downloaded .zip package;  cd
$unzip ssgshell.zip  3. then change to the directory where the 'ssg' command resides (e.g. for macOS), and run the following commands to start replicating your database; $ cd ./ssgshell/deploy/mac
$./ssg new new.nyf$ ./ssg copy old.nyf new.nyf /

4. If all goes OK, a new .nyf database will be generated and will work well with the latest version of Mybase Desktop 7.x/8.x; Note that the new database is generated with no password-protection, you may try first to open the database and then select the [File - Maintenance - Replicate database or Set password] menu item to set a password for the new database;

For Windows，please try using the SSG-5 Replicator, which helps upgrade .nyf database storage format to the latest version. Note that this GUI program works well in virtual Windows systems hosted with Parellels or VirtualBox or VMWare.

Backup/Recovery Instructions:

To restore a database from its backup file, simply change the .bak file extension name to .nyf, or duplicate the .bak file as a new .nyf file, then you obtained the .nyf database file.

To run the recovery tool, please try first to download and extract the SSG Command Line Tools package to a disk folder, then open a Terminal window, and change to the directory where the command 'ssg5recover' resides, and then run the command: ssg5recover "/full/path/to/your/db.nyf" [More info] 

 
4.  . . 
 
 
17.