Configuration
This page gives some insight into the configuration of BaseX.
Configuration Files
Updated: The ancestors of the current user directory are checked as well.
Updated: .basex is never rewritten: only changed options are updated. Local options no longer need a separate section.
BaseX maintains some configuration files, which are stored in the project’s Home Directory:
.basexcontains options for running the server or standalone versions of BaseX..basexguistores the options of the BaseX GUI that differ from their defaults..basexhistorycontains the most recently entered commands.- An empty
.basexhomefile can be added to a directory to mark it as home directory.
Note that:
- Depending on your OS and configuration, files and folders with a
.prefix may be hidden. - In the Web Application context, options can be defined in the
web.xmlfile. - Options are assigned in the following order of precedence: Java system properties, command-line options,
web.xml,.basex, defaults.
If .basex does not exist, it is created with a short header. Global and local options can be added in any order. Afterwards, the file is never rewritten:
- Options without an entry take their default values. Unknown options and invalid values are reported and ignored.
- If options are changed in the GUI, their entries are updated, or appended if they do not exist yet. Comments, the order of the entries and unknown options are preserved.
- Values that are assigned via system properties or
web.xmlare not written to the file.
Home Directory
As BaseX is distributed in different flavors, and as it may be started from different locations, it dynamically determines its home directory:
- First, the Java system property
org.basex.pathis checked. If it contains a value, it is chosen as directory path. - If not, the current user directory (defined by the system property
user.dir) and its ancestor directories are checked. The first directory that contains a.basexor.basexhomefile is selected. - If neither is found, the application directory (the folder in which BaseX is located) is selected if one of these two files is found in that directory.
- In all other cases, a
basexsubdirectory in the user home directory is selected. On Windows, the user home directory is retrieved via the Java system propertyuser.home. On other systems, theHOMEenvironment variable is checked first.
If BaseX is used in an embedded environment (such as a servlet in a Web Application), it may not immediately be clear which directory was picked. You can run the XQuery expression Q{java:org.basex.util.Prop}HOMEDIR() to find out.
Database Directory
Databases consist of several binary files. These are located in a directory named after the database. The database root directory is named data.
- GUI: Choose Database → Preferences and choose a new database path.
- General: edit the
DBPATHoption in the.basexconfiguration file
Log Files
Log files are stored in text format in a .logs subdirectory of the database folder (see Logging for more information).
Changelog
Version 13.0- Updated: The ancestors of the current user directory are checked as well.
- Updated:
.basexis never rewritten; only changed options are updated. Local options no longer need a separate section.
- Updated: Detection and configuration of home directory and subdirectories.
- Updated:
.basexpermis obsolete. Users are now stored inusers.xmlin the database directory (see User Management for more information).
- Updated: The
.basexhomefile marks a folder as home directory.