Mybase Server 8.x User's Manual


  1. Installing Mybase Server

    Mybase Server 8.x runs on desktop computers and dedicated servers including VPS/NAS running Linux_amd64, macOS 10.14+ or Windows 7+ (x64). The server package for Windows provides a self-extracting setup program, while the Linux/macOS version provides a shell script for the server program to be installed with ease. This section tries to describe how to install the server with the setup program on Windows and the installer shell script for Linux/macOS.

    • Installation on Linux

      Online Installer

      The simplest method to install the server program on Linux systems is to run the below command line in Terminal;

      This command firstly fetches the online installer script which is being invoked to download the latest build of the server program from the website, then the installer script shiped within the downloaded package is automatically invoked to perform offline installation.

      Offline Installer

      Besides the online installer, if you've already downloaded a copy of the server package, you may choose to perform offline installation as follows.

      Firstly extract the downloaded .tar.xz package in your ${HOME} directory, by using a GUI archive tool, or with in a Terminal window running the tar command like this:

      $ cd $ tar xJf Mybase-Server-Ver800b1-Linux-amd64.tar.xz

      Then run the inbuilt installer script to have the server installed into the system as a Systemd service (daemon), like this:

      $ cd MybaseServer $ ./Install-Mybase-Server.sh
      Notes and Tips

      By default, the server program is installed at "/opt/MybaseServer", with the database repository folder located at "/var/opt/MybaseServer/Repository", and the server logs folder located at "/var/opt/MybaseServer/Logs".

      The installer script supports customization of a few server settings (i.e. host name or IP, TCP port number, database repository and server logs folder location). You may choose to take the default settings or customize with your desired settings.

      During the installation, you may be prompted to confirm overwriting if there's an existing version previously installed, and may be asked for your sudo password for systemctl operations.

      Once installation is completed, the server program should have automatically been started and running as a Systemd/Initd daemon, and you can get started by navigating the following URLs with in your preferred web browsers from on the local server computer;

      • http://localhost:8082/welcome
      • http://localhost:8082/admin
      • http://localhost:8082/edit
      • http://localhost:8082/view

      where the default port number "8082" should be replaced with your own settings if customized.

      For users else to connect to the server remotely over network, the "localhost" should be replaced with the server's IP address or host name specific to the network.

      If there's a Linux desktop environment (KDE or GNOME) properly installed in the system, the installer will also try to add a few desktop entries for your convenience of getting started from in the KDE Application Launcher or the GNOME Activities.

      For existing .nyf database files from the desktop edition you would like to use in the server edition, just put them into the repository folder "/var/opt/MybaseServer/Repository" and then restart Mybase Server by using the systemctl utility in Terminal, like this;

      $ sudo systemctl stop mybaseserver $ sudo systemctl start mybaseserver

      Note that, from v8.1 on, existing .nyf and .dbindex database files can be selected to upload to server computer via the "./admin#databases" web interface without having to manually operate in the server file system and restart the server program.

      To check errors or monitor server logs while it runs, try using the tail utility in Terminal, like this;

      $ tail -n 150 -f /var/opt/MybaseServer/Logs/debug_20231001.log

      Note that the server program currently supports amd64/aarch64 based Linux distributions, and the installer supports those familiar Linux distributions which use the Systemd/Initd services. If the installer fails to run, please try making a manual installation by simply copying the whole program files and folders to your Apps directory like: /opt/MybaseServer, whereby the server can manually be launched and self-daemonized by running the below command line in Terminal;

      $ /opt/MybaseServer/MybaseServer.Daemon.sh

      To temporarily perform tests for the server program with std::cerr enabled in a Terminal window in the interactive mode, run this command;

      $ /opt/MybaseServer/MybaseServer.Terminal.sh

      In addtion, if you'd want to run the server program in SoC (System on Chip) such as Raspberry Pi, NAS devices etc., please try first to login to the embedded Linux system via SSH in a Terminal window, then run the shell command: sudo -i, and then run the installer script shipped with in the server package. Note that the SoC systems are widely based on aarch64 (arm64), you'd need to download the aarch64 version of the server package; Also with the faimilar NAS devices, you may have to enable the SSH Login option from in their control pancel before you can login via SSH. For detailed instructions on enabling the SSH option please refer to the NAS user's manual.

    • Installation on macOS

      Instructions

      Open the downloaded .dmg package file in a Finder window, then double click on the installer icon thereof to launch the installer script file.

      Notes and Tips

      By default, the server program is installed at "/Applications/MybaseServer", with the database repository folder located at "/Library/Application Support/MybaseServer/Repository", and the server logs folder located at "/Library/Application Support/MybaseServer/Logs".

      The installer script supports customization of a few server settings, e.g. host name or ip, tcp port number, database repository and server logs folder location. You may choose to take the default settings or customize with your desired settings.

      During the installation, you may be prompted to confirm overwriting if there's an existing version previously installed, and may be asked for your macOS administrative password for Launchctl operations.

      Once installation is completed, the server program should have automatically been started and running as a Launchd daemon, and you can get started by navigating the following URLs with in your preferred web browsers from on the local server computer;

      • http://localhost:8082/welcome
      • http://localhost:8082/admin
      • http://localhost:8082/edit
      • http://localhost:8082/view

      where the default port number "8082" should be replaced with your own settings if customized.

      For users else to connect to the server remotely over network, the "localhost" should be replaced with the server's IP address or host name specific to the network.

      For convenience of controlling the service without having to use Terminal, the installer script tries to add a few command shortcuts in the "/Applications/MybaseServer" folder which is accessible from within the Finder window. If you'd prefer to control (start/stop/restart) the service manually from within Terminal, try running the commands like this;

      % sudo Launchctl unload /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist % sudo Launchctl load /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      For existing .nyf database files from the desktop edition you would like to use in the server edition, just put them into the repository folder "/Library/Application Support/MybaseServer/Repository" and then restart Mybase Server by double-clicking on the Stop/Start command from in the "/Applications/MybaseServer" folder, or using the above Launchctl command line in Terminal.

      Note that, from v8.1 on, existing .nyf and .dbindex database files can be selected to upload to server computer via the "./admin#databases" web interface without having to manually operate in the server file system and restart the server program.

      To check errors or monitor server logs while it runs, open a Finder window of the "/Library/Application Support/MybaseServer/Logs" folder whereby you can double click to view the log files, or alternatively run a command like below in Terminal;

      % open "/Library/Application Support/MybaseServer/Logs/debug_20231001.log"

      or

      % tail -n 150 -f "/Library/Application Support/MybaseServer/Logs/debug_20231001.log"
    • Installation on Windows

      Instructions

      Simply run the downloaded .exe setup program as administrator and follow the instructions, you'll need to select the target directory and program group name. At the last step before finishing, make sure to have the "Register as NT service" option checked, so the server can be configured as an auto-start service. Otherwise, the server program will not start automatically unless you manually run the server with in a Command Prompt window.

      Notes and Tips

      Once the setup is completed with the default settings, the server should have automatically been started and running as an NT serivce in background, you can get started by navigating the following URLs with in your preferred web browsers from on the local server computer;

      • http://localhost:8082/welcome
      • http://localhost:8082/admin
      • http://localhost:8082/edit
      • http://localhost:8082/view

      For users else to connect to the server remotely over network, the "localhost" should be replaced with the server's IP address or host name specific to the network.

      For convenience of controlling the service without having to use the Windows NT Service Control Manager, a few command shortcuts are added into the Start menu of Windows. To control (start/stop/restart) the service using the Start menu, right-click on the Start/Stop menu items and then choose the "Run as administrator" menu item.

      For existing .nyf database files from the desktop edition you would like to use in the server edition, just put them into the repository folder "C:\ProgramData\MybaseServer\Repository" and then restart Mybase Server by using the Stop/Start command from in the Start menu or by using the Windows NT Service Control Manager.

      Note that, from v8.1 on, existing .nyf and .dbindex database files can be selected to upload to server computer via the "./admin#databases" web interface without having to manually operate in the server file system and restart the server program.

      By default, the server program is installed at "C:\Program Files\wjjsoft\MybaseServer", with the database repository folder located at "C:\ProgramData\MybaseServer\Repository", and the server logs folder located at "C:\ProgramData\MybaseServer\Logs".

    • Re-configuring with different settings

      If you'd want to re-configure the server with a different host name, TCP port, or change the repository/log folder location after setup/installation is done, simply re-install the program, the Linux/macOS version of the installer supports customization of the settings.

      For Windows, the setup program doesn't support customization of these settings, it installs a separate .bat command utility instead in the server's install folder for administrators to reconfigure the server later when needed. To reconfigure the server, simply run the .bat file './reconfigure.bat' by right-clicking on the file and selecting the "Run as administrator" menu item, then you'll be prompted to customize the database repository/log folder location, host name and TCP port nubmer.

    • Concerns about network security

      If you're using Mybase Server via Internet and having concerns about security sending data over public network, you may want to set up a VPN or Stunnel, or alternatively set up a reverse proxy to add the TLS/SSL/HTTPS support by utilizing Traefik or the proxy-pass feature provided by familiar web servers like Nginx/Apache.

    • Firewall rules for incoming connections

      During setup or installation, the system firewall will automatically be configured for Mybase Server to open the default TCP/8082 (or another port number specified). You may also want to manually re-configure the system firewall for more customization if needed.

  2. Uninstalling Mybase Server

    Before uninstalling the server program, please be sure first to make backup of your database files.

    • Uninstallation on Linux

      Try first to stop the daemon if it's running;

      $ sudo systemctl stop mybaseserver

      then remove the Systemd configuration file;

      $ sudo rm -f /etc/systemd/system/mybaseserver.service

      finally remove the server program files;

      $ sudo rm -rf /opt/MybaseServer

      By default, the database repository folder is setup at "/var/opt/MybaseServer/Repository", and the server log files are kept in the "/var/opt/MybaseServer/Logs" folder. You may choose to back them up in a safe place for later reference, or remove them if they are no use.

    • Uninstallation on macOS

      Try first to stop the daemon if it's running, by double clicking on the Stop utility from in the "/Applications/MybaseServer" folder, or use the command line like this;

      % sudo Launchctl unload /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      then remove the Launchd configuration file;

      % sudo rm -f /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      finally trash the server program files from in the Finder window at the "/Applications/MybaseServer" folder;

      By default, the database repository folder is setup at "/Library/Application Support/MybaseServer/Repository", and the server log files are kept in the "/Library/Application Support/MybaseServer/Logs" folder. You may choose to back them up in a safe place for later reference, or remove them if they are no use.

    • Uninstallation on Windows

      Select the "Uninstall" menu item from the Start menu, and press the "Yes" button to confirm the operation.

      By default, the database repository folder is setup at "C:\ProgramData\MybaseServer\Repository", and the server log files are kept in the "C:\ProgramData\MybaseServer\Logs" folder. You may choose to back them up in a safe place for later reference, or remove them if they are no use.

    • Be sure to make backup before uninstalling

      Before uninstalling the server program, please be sure to make backup of your own database and log files for later reference if necessary. [ How to backup ].

  3. Administrative Control Panel

    Mybase Server 8.x provides a web user interface for administrators to manage and configure the database server. To login to the administrator interface, open the link http://localhost:8082/admin on your server computer. For remote administration, replace the "localhost" with the IP address or host name specific to your network. If you have the server listen on a different TCP port other than the default 8082, replace the port number as well.

    The administrator web interface uses tabbed pages to lists out existing entries of databases, users, groups, privilege schemes and web sessions separately, and allows administrators to add, remove, edit and manage the entries with ease.

    1. Working Databases

      Currently working databases are listed out under the "Databases" tab in the "./admin#databases" page whereby you can manage (e.g. create, edit, duplicate, rename, upload, download, trash, untrash and drop) the databases, change database titles and adjust database sequence to be listed in the web user interface.

      Create new databases

      To create a new database, click the [ New ] button in the "./admin#databases" page, that indicates the server to make a new .nyf database file named with a given database ID in the server's repository folder. The database is identified by its ID which is determined at creation, and may contain 1-32 characters picked from in the supported character set [a-z, A-Z, 0-9, -, _, CJK].

      By default the [ New ] button in the "./admin#databases" page doesn't allow to set password for new databases, if you'd want to password-protect new databases, click on the [ New ] button with the [Control, Shift, Alt, Meta or Command] key held down, the password specific input fields will show up in the "New database" dialog box. Since the server program keeps and reads database passwords in the server configuration file without asking you for passwords again once they're set up and done, so please be sure to backup database passwords in a safe place in case of any problems with the server configuration file, you'll also need the passwords to open the password-protected .nyf databases either in the desktop edition, or choose to upload them to another server computer.

      Open database for edit

      To open a database for edit, first select it and then click the [ Edit ] button in the "./admin#databases" page, the selected database will open in a new tab or window whereby you can add info items and input text contents into the database.

      Upload local database files

      The server edition supports .nyf database files generated with the desktop edition 7.x/8.x. To migrate existing .nyf databases file to the server edition, you may choose to manually copy .nyf files to the server's repository folder by using a file utility such as SCP/SMB/NFS/FTP with RDP/SSH and then restart the server program to mount them; Or, choose to upload the .nyf files via the web interface without having to RDP/SSH to the remote server computer.

      To upload local .nyf database files to server computer, click the [ Upload ] button in the "./admin#databases" page, and then select .nyf and .dbindex files to upload from in the local file system.

      For password-protected .nyf database files to work with the server program, database passwords will be saved in the server configuration file, so the databases can be re-mounted in case that the server computer/program needs to restart.

      For those .nyf files generated with in legacy version 4/5/6.x to work with the server program, try first to upgrade file format to the new version 8.x.

      Download database files

      Each database consists of a .nyf file and possibly an accompanying .dbindex data file, both of which are compatible with the desktop edition. It's easy to backup or migrate existing databases to the desktop edition by downloading the database files.

      To download a database file from server computer, first select it and then click the [ Download ] button in the "./admin#databases" page, the hyperlinks to the selected database files will be shown in a popup window whereby you can click on the links to start file downloads.

      Note that it may take a while for server computer to dump out whole data of the working database before the file download starts, especially for large databases. Please be patient and do not initiate concurrent or multi-threaded downloads in case of srever computer overloaded.

      Duplicate databases

      To duplicate select databases, click the [ Duplicate ] button in the "./admin#databases" page, the selected databases will be duplicated with in the server's repository folder.

      Rename database

      To rename a database, first select it and then click the [ Rename ] button in the "./admin#databases" page.

      Edit database title

      The title of database is a descriptive text shown as its display name which can be different than the database ID. To change title text of selected databases, click the "Title..." button in the "./admin#databases" page.

      Adjust database sequence

      If there're multiple databases available in the working databases list, you may want the database entries to be listed in a specific order. To adjust the database sequence, click the "Sequence..." button in the "./admin#databases" page.

      Referesh databases list

      This utility indicates the server program to mount all .nyf databases existing in the server repository folder and then keep the working database list updated in the web interface. It may help when you have one or more .nyf database files manually put into the server repository folder from within the file system instead of by uploading files via the web interface.

      To refresh the working databases list, click the [ Refresh ] button in the "./admin#databases" page.

      Trash databases

      Trashing a database just marks it as deleted and delists it from in the working databases list without permanently deleting any files from on the remote server computer. The file name of a trashed database will have an additional suffix of ".ToDeleteByHand" or ".ToDeleteByHand_#" if it is recurring. You have the chance of restoring trashed databases in a later time when needed, or permanently deleting them if they are no use. To trash selected databases, click the [ Trash ] button in the "./admin#databases" page.

      Trashed databases

      Trashed database files are preserved on the server repository folder but renamed with an additional suffix of ".ToDeleteByHand" or ".ToDeleteByHand_#" if it is recurring.

      To list out trashed databases, click the [ Trashed ] button in the "./admin#databases" page.

      Restore trashed databases

      Trashed databases can be restored by manually removing the suffix name of ".ToDeleteByHand" or ".ToDeleteByHand_#" from in the server file system or from in the Trashed databases list of the web interface.

      To restore a trashed database, click the [ Trashed ] button in the "./admin#databases" page, existing trashed databases will be listed out in a popup window, then select the traget and click the [ Restore ] button.

      Drop trashed databases

      Trashed databases can be dropped by manually deleting the corresponding files having the suffix name of ".ToDeleteByHand" or ".ToDeleteByHand_#" from in the server file system or from in the Trashed databases list of the web interface.

      To drop a trashed database, click the [ Trashed ] button in the "./admin#databases" page, existing trashed databases will be listed out in a popup window, then select the traget and click the [ Drop ] button.

    2. User Accounts

      User accounts are used for clients to login and access the database system with password authentication. Existing user accounts are listed out under the [Users] tab whereby you can choose to create new user accounts, initialize login passwords, group user accounts, or disable/enable/delete user accounts.

      To add a new user account, click the [ New ] button in the "./admin#users" page. Name of user accounts contains no more than 32 characters of [a-z, A-Z, 0-9, -, _, CJK].

      To reset password for selected user accounts, click the [ Password ] button in the "./admin#users" page.

      To group selected user accounts, click the [ Owner groups ] button in the "./admin#users" page. A user account can be put into one or more owner groups with all privileges combined and inherited.

      To temporarily disable selected user accounts, click the [ Disable ] button in the "./admin#users" page. Disabled user accounts can no longer login to the server till they're re-enabled.

      To delete selected user accounts, click the [ Delete ] button in the "./admin#users" page.

      Note that in order for newly created user accounts to have privileges to login and access to the database system, make sure they've been put into a group account having appropriate privileges to login and access.

    3. Group Accounts

      group accounts are used to group existing user accounts for them to have appropriate privileges accessing to the database system. Existing group accounts are listed out under the [Groups] tab whereby you can choose to create/delete/disable group accounts.

      To add a new group account, click the [ New ] button in the "./admin#groups" page. Name of group accounts contains no more than 32 characters of [a-z, A-Z, 0-9, -, _, CJK].

      To temporarily disable group accounts, click the [ Disable ] button.

      To delete selected group accounts, click the [ Delete ] button in the "./admin#groups" page.

    4. Privilege Schemes

      Privilege schemes are created by administrators to grant specific access privileges to groups accounts, users accounts of which will obtain the access privileges automatically. A privilege scheme is defined with the 3 factors: a group account, a list of database IDs and a list of access privileges which are granted on the databases to the given group account.

      To add a new privilege scheme, click the [ New ] button in the "./admin#privileges" page, then choose a group account which will obtain the privileges of this scheme. For existing privilege schemes, group accounts can be changed to others by clicking the 'Group...' button in the "./admin#privileges" page.

      To specify target databases on which to grant selected privilege schemes, click the "Databases..." button in the "./admin#privileges" page.

      To grant specific access privileges in selected privilege schemes, click the "Privileges..." button in the "./admin#privileges" page. With in the privileges list window, clicking on the [Editor, Viewer, Anonymous, Full, None] button automatically selects the pre-defined access privileges respectively. To modify selection of the pre-defined privileges, check/uncheck the desired/unwanted privileges separately.

      To delete selected privilege schemes, click the [ Delete ] button in the "./admin#privileges" page.

    5. Anonymous Access

      A delegate user account needs to be assigned in order to grant appropriate access privileges to anonymous visitors. To turn on the Anonymous Access option, click the "Anonymous Access" button, then specify a valid user account as delegate, anonymous visitors obtained access privileges of the delegate user account accordingly.

      Note that turning on the Anonymous Access option makes the server accessible to the public domain over network with no credentials required, for data security, it's necessary to limit anonmous access privileges as few as possible. By default setup, the server program is initialized with the "guest" user account, the "anonmous" group account and the "anonmous" privilege scheme, which grants the mininum privileges required for anonmous visitors to use the "./view" web interface.

      In addition, the IP address filter applies to anonmous access as well, so you may want to set it up with a list of specific IP addresses or patterns in the "./admin#ipfilter" page.

    6. Web Sessions

      For each user account successfully logged in to the server, a web session ID is created to maintain its session state on the server side. Sessions that have been left in idle for 60 minutes will automatically be closed, and a re-login is required to continue using the web interface. Sessions can forcedly be closed by administrators if necessary. Active sessions are listed out in the "./admin#sessions" page.

      To forcedly close selected sessions, click the [ Kill ] button in the "./admin#sessions" page.

    7. IP Filter

      A list of IP addresses or patterns can be set up in the "./admin#ipfilter" page to block unauthorized IP addresses from accessing to the server.

      Entries of the IP filter can be either specific individual IP addresses (e.g. 192.168.1.1), or CIDR (e.g. 192.168.1.0/24), or RegExp patterns (e.g. /^192\.168\.[1-5]\.[0-9]{1,2}$/).

      Each IP filter entry takes a line, or multiple ones on a single line must be separated with the semicolon ';'. RegExp patterns must be enclosed by slashes. To comment, prepend the '#' character on each comment lines. For example:

      # IP address 192.168.1.1; 192.168.1.2 192.168.1.3; 192.168.1.4 # CIDR 192.168.2.0/24; 192.168.22.0/24 # RegExp /^192\.168\.[3-5]\.[0-9]{1,2}$/

      The default IP filter policy is "Block", which means to setup a "Block-list", IP addresses matched any of the listed patterns are blocked. The filter policy can be changed to "Allow", which turns the IP filter list into an "Allow-list", only IP addresses matched any of the listed patterns are allowed, otherwise blocked.

      The IP filtering by default takes effect at the http layer, accessing to the server from a blocked IP address returns 403. Note that if the server runs with one or more reverse proxy servers, the IP filter policy and settings applies to all of them, if any of them is blocked or disallowed, 403 is returned.

    8. Event Logs

      The server program generates event logs and saves them with in date-based .log file names, which are listed in the "./admin#eventlogs" page and automatically sorted in reverse chronological order for administrators to have the convenience of inspecting server events via the web interface without having to RDP/SSH to remote server computers.

    9. About/Licensing

      The application specific info including app version info, custom app title and licensing info are listed out in the "./admin#about" page.

      The application title is shown at the top of the web interface with a default value of "Mybase Server (Demo)". If you'd like to customize it, click the [ Set app title ] button in the "./admin#about" page.

      To install a license on the server computer, click the [ Install license ] button in the "./admin#about" page, then supply your registration name and license key codes with in the popup dialog box. If you've got multiple license keys registered under a same user/company name, please install them separately.

      To uninstall licenses previously installed on the server, click the [ Uninstall licenses ] button in the "./admin#about" page, all existing licenses will be removed from in the server computer.

      If you'd like to buy one or more user licenses, click the [ Buy licenses ] button in the "./admin#about" page.

  4. Building up databases

    Mybase Server uses the .nyf database file format which is compatible with the desktop edition, so you may choose to upload existing .nyf database files generated with in the desktop edition, or create new databases in the "./admin#databases" page, then load the databases in the "./edit" web interface whereby you can add new info items and add text contents into the databases.

    1. Create databases

      To create a new database, click the [ New ] button in the "./admin#databases" page, or select the [ Action - Database - New ] menu item from in the "./edit" page.

    2. Add info items

      Once a database is created and loaded in the "./edit" interface, you can add info items in the outline tree view by selecting the [ Action - Info items - New ] menu item, or by using the tool buttons above the outline view. Each info item accepts a piece of text information in HTML/Text/Markdown format as the default item content, that will automatically open when the info item is clicked from in the outline view.

    3. Custom content type

      For newly created info items, document format of the default item contents can be set to one of the 3 supported formats: [ HTML, TEXT, MD ]. The HTML format is used to store web pages, or write articles with HTML formatting; The TEXT format is used to keep only plain text information with no formatting data preserved; The MD format (namely Markdown) is used to write articles in an easy-to-read format.

      Newly created info items will automatically be locked and go into edit mode, then you can edit content in the inbuilt text editor. If you've the webcollect addon installed within your web browser (Chrome/Firefox), you'll have the convenience of copying web contents and pasting into the text editor.

    4. Add attachments

      In addition to the default item content, each info item also allows a collection of files to be stored as attachments. To upload local files as attachments, click the [ Attach ] button in the Relation view, then select one or more local files to upload.

  5. Editing text contents

    To start editing text contents of an info item, click the [ Edit ] button above the content view, then the item content is automatically locked for edit till the "OK" button is clicked to commit changes, or the "Cancel" button is clicked to discard changes.

    1. HTML content

      The html editor supports a set of essential formatting tools such as font, size, style, color, images and hyperlinks etc.

    2. HTML source code

      To edit html source code of current text content, click the [ Edit ] button above the content view.

      The html source code is supposed to contain only inner html source code of the <body> element, avoid using any other outer elements e.g. <body> or <head>

    3. Plain text content

      For info items added as plain text, the content editor only supports plain text with no any formatting data preserved when commiting changes. To edit plain text contents, click the [ Edit ] button above the content view.

    4. Edit Markdown text

      Info items addded as Markdown are automatically rendered into HTML for viewing when they open in the content view. To edit the markdown text, click the [ Edit ] button above the content view.

      Markdown syntax supported by the integrated Markdown renderer conforms to the Common Markdown Specs, with some extended features such as Syntax highlighting, Flowcharts and Katex/MathJax supported.

    5. Capture web contents

      To capture web contents from a website, simply copy selected contents and then paste into the inbuilt content editor. Note that most websites have images linked rather than embedded in BASE64, and the default Copy utility provided by web browsers generally captures only html text without linked images embedded, therefore when viewing the captured content with in the web interface, it'd connect to the original websites to fetch the images.

      If you have the WebCollect addon installed within your web browser (Chrome/Firefox), you can take advantages of it to copy web contents with stylesheets and images embedded into html source code. and choose to capture whole or a portion of web page.

    6. To insert hyperlinks in html contents, first select a link text in the content editor, then click the [ Make hyperlink ] tool button above the content view, then specify a url to link.

      The target link can be either a http[s]:// link to a website, or an internal nyf:// link to an info item or attachment existing in the database. Cross-database links are supported.

      The nyf:// protocol scheme is an app-defined protocol scheme inherited from the earlier desktop editions 4.x/5.x/6.x/7.x/8.x for internal use only. The use of the nyf:// protocol scheme in the server edition is totally for back-compatibility with the desktop editions. The compatibility helps maintain the .nyf databases interchangeable between the server edition and the desktop edition with the internal links remaining valid.

    7. Insert images

      To insert images into html contents from local file system, first upload them as attachments of the current info item by clicking the [ Attach ] button in the Relation view, then the attached images can be inserted into html contents by selecting the [ Action - Images - Insert ] menu item above the content view.

    8. Resize images

      To resize selected images in html contents, select the [ Action - Images - Resize ] menu item above the content view, then specify one of listed sizes or proportions.

    9. Copy text to title

      To rename the current info item with selected text from in the content view, select the [ Action - Selection - Copy to title ] menu item above the content view. Redundant blank spaces will automatically be stripped off.

  6. Organizing info items

    With in the "./edit" web interface, info items are organized and listed in the intuitive tree-structured outline form, and can additionally be categorized with tree-structured labels for a secondary hierarchy view, and can also be bi-directionally linked with other info items.

    1. Label info items

      Before applying labels to info items, you'll need to add desired custom labels into the label tree view. To add custom labels, click the Labels tab, then select the [ Action - Label - New ] menu item, or click the [ New ] tool buttons above the label tree view in the "./edit" web interface.

      New labels can be added as sibling above or below, or as child items with unique names. Like the outline tree, the label tree is also fully customizable and you may add as many labels as you need.

      Once the lable tree is created, labels can be applied to info items by selecting the [ Action - Label - Apply label ] menu item under the Outline tab.

      By labelling, tree-structured info items are categorized with in a secondary hierarchy view of the database.

    2. Make item links

      Each info item can have a list of related info items, which will be listed in the Relation pane for reference when it opens. Double-clicking on a related item jumps to the item, it works like a bidirectional link between related info items.

      To make item links with the selected info item, select the [ Action - Link - Link with ] menu item under the Outline tab in the "./edit" web interface, then select one or multiple target info items to link.

    3. Move info items

      To move selected info items to another location in the outine tree, select the [ Action - Location - Move up/down/to ] menu item.

      If an info item is locked for edit by another user, the item can't be moved before it's unlocked.

  7. The server program tries to automatically update index data with text content when committing changes or uploading attachments, in order for the database to remain full-text searchable without having to manually update index data beforehand. In addition you may want to rebuild (clear and update) indexes manually in case of any problems with the index data.

    1. Clear index data

      To clear index data, select the [ Action - Index data - Clear ] menu item at the top of the "./edit" web interface. Note that without index data the database is no longer full-text searchable till index data is re-built.

    2. Update index data

      To update index data, select the [ Action - Index data - Update ] menu item at the top of the "./edit" web interface. It may take quite a while to complete the process especially for large databases.

    3. Search for keywords

      Before a database can be full-text searchable for keywords, please be sure that index data has been updated. Without index data, searching for any keywords would return nothing.

      To search an indexed database for keywords, type in keywords to the search box at the top of the "./edit" web interface and press Enter key, search results if any matched will be listed out in the Results pane which will show up at bottom of the web interface.

      The search utility supports boolean operators: [AND, OR, NOT] and their abbreviations: [ &, |, ! ]; For example, you may search for "ABC or XYZ", or equivalently "ABC | XYZ".

    4. Search with labels

      Selecting an label item in the label tree view automatically runs a query with the label name, query results if any matched are listed out in the Results pane at bottom of the "./edit" web interface.

      To turn on/off recursive queries with sub labels included, select the [ Action - Options - Search sub labels ] menu item above the label tree view.

  8. FAQ

    1. Does Mybase Server load a whole database into computer Memory?

      No. Mybase Server supports the 'Load on Access' feature, it only loads the currently working info items into the server computer's RAM, without having to load a whole database into RAM, so does as well at the client side.

    2. Does Mybase Server use a lot of hard disk space?

      Mybase Server doesn't use any more disk space than its binary package, you'll need enough disk space to store your own database and log files on the server computer. At client side, it's web-based with no write access to the local file system, it may need a small amount of bytes of localStorage for user preferences to be kept with in your web browser.

    3. Is it possible to run Mybase Server from on a USB stick?

      The server edition is designed to primarily run on desktop or server computers as a system daemon/service in order to enable multi-user access features and provide consistent access privilege schemes for collaboration over network. For test/trial purpose, it does run in Console/Terminal window from with in any disk folders though.

      If you'd like to have a portable and productive version of Mybase software running from on a USB drive, it's recommended to try the desktop edition.

    4. What type of files/documens will be indexed and searchable?

      Mybase Server invokes associated file filters installed on the server system to parse documents during updating index data.

      For Linux/macOS, Mybase Server provides inbuilt file parsers for html/txt/md/xlsx/docx/pptx documents.

      For Windows, Mybase Server invokes IFilter plugins installed on the system to parse documents based on extension names. The IFilter plugins for MS-Office and HTML documents are inbuilt with in Windows 2000+; For other documents (e.g. PDF) to be searchable, you'd need to install appropriate IFilter plugins provided by their manufactories or 3rd-party vendors.

      For example, in order to search .PDF documents, you may want to install an IFilter plugin from Acrobat Reader or 3rd-party vendors.

      Note that once a new IFilter is installed, you'll need to clear and rebuild the index data for it to take effect with existing documents re-parsed and then indexed.

      In addition, any external IFilter modules that have caused problems to the server program will automatically be quarantined and ignored during file parsing and indexing.

    5. Does Mybase Server work behind a reverse proxy with TLS/SSL/HTTPS enabled?

      Yes. Mybase Server works behind reverse proxy servers (e.g. Nginx, Apache, and Traefik) with TLS/SSL/HTTPS enabled.

      By properly setting up a reverse proxy, Mybase Server can run in your local private network without having to expose its IP address and TCP port to the public network, and it's also possible to convert HTTP into HTTPS for secure connections based on TLS/SSL certificate keys installed in your reverse proxy server.

      For instance, if Mybase Server is installed on the same server computer where Nginx is installed, and listening on localhost:8082, adding the following settings in your Nginx configuration file truns on a reverse proxy for Mybase Server to run with TLS/SSL/HTTPS enabled.

      server { listen 443 ssl; server_name xxx.com www.xxx.com; access_log /path/to/access.log; error_log /path/to/error.log; ssl_certificate /path/to/ssl_certificate.pem; ssl_certificate_key /path/to/ssl_certificate_key.pem; # ... other settings ... location /mybase/ { proxy_pass http://localhost:8082/; proxy_set_header Host $host; proxy_set_header Referer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

      With this configuration Nginx is reloaded, Mybase Server running in your private network ( http://localhost:8082/ ) will be accessible to the public network via the secure link: "https://www.xxx.com/mybase" where the "xxx" is your website domain name and the "/path/to/ssl_certificate*" points to your SSL certificate files.

      If you don't have an ssl certificate installed in your reverse proxy server, you may want to get an ssl certifiate for free from a certificate authority like Let's Encrypt or ZeroSSL. For temporary/unofficial use, you may simply generate a self-signed ssl certificate by using OpenSSL without having to get it from a certificate authority.

    6. .

      .

  9. Howtos

    1. How to get started with Mybase Server?

      First of all, you'll need to download a copy of Mybase Server setup package which is appropriate for your system platform (Linux/macOS/Windows), and then have the server program properly installed on your system by running its setup program or installer script shipped with in the package.

      Once the server setup/installation is completed, you can access to the server via http://localhost:8082 from on the server computer itself, where the default port number "8082" should be replaced with your own settings if customized, and for clients to visit the server over network, the "localhost" should be replaced with the server's IP address or host name specific to the network

      For the initial setup/installation, the default login name is set to "admin" with no password required. For security considerations it's recommended to set a password for the admin account in the administrative control panel once the server is installed.

      Mybase Server provides intuitive web-based user interfaces for administrators and editors respectively, which can be chosen to login to at the login form. The administrator interface (./admin) is intended for administrators to create/remove/edit databases, user accounts, group acounts, privilege schemes and ip filters as needed. The editor interface (./edit) is intended for viewers/editors to view/edit contents of databases mounted on the server.

      At the client side, before you input your own information, you'll need first to create a new database if this is not done earlier in the administrator interface, then add info items in the tree-structured outline view. Each info item accepts a peice of text info in Html/Text/Markdown format as its default content, as well as a list of files as attachments that can be uploaded to the server by using the "Attach" tool button in the Relation pane.

      Default text content of an info item is automatically loaded and shown in the content view when clicking on the info item. Pressing the "Edit" button lets the content view go into edit mode, whereby you can make changes to the text contents and finally press the "OK" button to save changes on the server. The inbuilt content editor provides a set of editing/formatting tools specific to text fonts, colors, styles, links and images.

      Info items can be categorized with labels, and can also be bidirectionally linked with other info items as appropriate. Appllied labels and linked info items are listed out in the Relation pane for reference.

      [ How to migrate .nyf databases from the desktop edition ] [ How to backup .nyf databases ]

    2. How to install license keys on Mybase Server?

      To install a license key for Mybase Server, please try this;

      • Login to the administrative contorl panel via the link http://localhost:8082/admin for default setup, or via http://[your-server]:[port]/admin for custom setup;
      • Click the Register button on the About tab-page;
      • Enter your registration name in the Registration Name box;
      • Enter your license key code in the License Key box;
      • Press the OK button to install the license key on the server.

      Having problems registering?

      • It's recommended that you input the registration name and license key codes by using the Copy/Paste command, instead of typing them in manually, in case of typos;
      • A single valid license key for v8.x consists of multi-line codes, please be sure to input all of them exactly as shown in your licensing emails.

    3. How to make a custom UI theme?

      The web user interface is based on HTML/CSS and customizable by revising the inbuilt .css files located at the ./css folder, or putting your custom ui theme .css files into the ./themes folder. There're several inbuilt sample themes shipped within the "./themes" folder for demonstration, you may try first to make a duplicate from one of the demo theme .css files and then revise it by using a plain text editor.

    4. How to translate/localize the user interface?

      The web user interface is multilingual and customizable based on the default English template file. To translate it to another language, try first to make a duplicate of the default English template file "./lang/en-US.ini" and rename it with the new language ID (BCP47), e.g. zh-CN.ini, then open the new .ini file with a plain text editor, and then translate all existing messages.

    5. How to rename an info item?

      To rename an info item, click on its title text twice (click once and then click again, rather than double-clicks), then the item title text goes into edit mode.

      In addition, the current info item can be renamed with the selected text from in the content view by selecting the [ Action - Selection - Copy to title ] menu item above the content view.

    6. How to multi-select info items?

      To have multiple items selected within tree views, hold down the Ctrl (or Command) key as a key modifier when clicking on info items by mouse.

    7. How to make backup of .nyf databases?

      It's so important to frequently make backup of databases and keep them in a safe place in case of any problems with the software tools or storage devices or any other potential hardware/software failure.

      If you choose to backup database files from on server computer, please navigate to the database repository folder whereby you can duplicate/copy the .nyf database files to your backup storage devices. Note that currently working database files are locked by system while they're open to prevent potential file access conflicts with other programs/processes, so please be sure first to stop the server before duplicating the .nyf and .dbindex database files in the server repository folder.

      From v8.1 on, you may also choose to download the .nyf and .dbindex files from remote server computer via the "./admin#databases" web interface and then keep them at the client side or in a safe palce you see fit.

      In addition, you may also want to backup .log files for later reference, please navigate to the server logs folder whereby you can duplicate/copy the .log files to your backup storage devices.

    8. How to migrate exisitng .nyf databases between the server edition and the desktop edition?

      If you have existing .nyf databases created within the desktop edition (e.g. 7.x, 8.x), and would like to use them with in the server edition, you may choose to put them into the server's repository folder by using a file utility such as SCP/SMB/NFS/FTP, and then restart the server program to let them take effect.

      From v8.1 on, you may choose to upload existing .nyf and .dbindex files to the server computer from in the "./admin#databases" web interface without having to RDP or SSH to the remote server computer;

      For inverse migration from the server edition to the desktop edition, simply download or dump out the working .nyf and .dbindex files from the server repository folder, then they're ready to work with in the desktop edition.

      Note that for migration of legacy .nyf database files created with in the earlier verion 4/5/6.x, it's required first to upgrade the storage format to the latest version 8.x by using Mybase Desktop v6.5.1.

    9. How to manually start/stop the server program?

      By default setup, the server program is installed as a system service that is automatically managed by the OS system. The server program auto-starts up at boot and stops at system shutdown. In the case that you'd want to manually start/stop/restart the system service, please follow the below instructions.

      For Linux: to manually start/stop the systemd service of Mybase Server, run the systemctl command in Terminal like this;

      $ sudo systemctl start mybaseserver $ sudo systemctl stop mybaseserver

      For macOS: you may choose to run the Start/Stop command from in the /Applications/MybaseServer folder, or alternatively run the launchctl command in Terminal like this;

      % sudo Launchctl load /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist % sudo Launchctl unload /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      For Windows: you may choose to right-click on the Start/Stop menu item from in the Windows Start menu and then choose to Run as administrator; Or alternatively use the Windows Service Control Manager (SCM).

    10. .

      .

  10. Notes

    1. Licensing message not received after paid

      We issue personalized license keys for each customers and deliver via 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 did not arrive, please be sure to let us know, we'll be glad to help resent it.

    2. Suffix/Extension names (.nyf, .dbindex)

      Files named with the .nyf suffix are primary data files of Mybase software, containing info items, text contents, images, attachments, labels, links, everything saved in the databases.

      Files named with the .dbindex suffix are accompanying files automatically generated to keep index data for fast searching.

    3. Database repository folder location

      By default, the database repository is setup at the following folder location if not customized during setup/installation.

      • For Linux: /var/opt/MybaseServer/Repository
      • For macOS: /Library/Application Support/MybaseServer/Repository
      • For Windows: C:\ProgramData\MybaseServer\Repository

    4. Server logs folder location

      By default, server event logs are kept in the following folder location if not customized during setup/installation.

      • For Linux: /var/opt/MybaseServer/Logs
      • For macOS: /Library/Application Support/MybaseServer/Logs
      • For Windows: C:\ProgramData\MybaseServer\Logs

    5. .

      .

  11. Troubleshooting

    1. .

      .