==Home directory==This page is part of the [[Getting Started]] Section. It gives some insight into the configuration of BaseX.
As BaseX is a portable application it searches for the location of the home directory by itself.<br />There are three opportunities for the home directory:*Users home directory: In standard case the users home directory is chosen to store the BaseX configuration and database files in it. So if you didn't change anything, all the BaseX files can be found in this location.*Working directory: This directory is chosen if configuration files of BaseX are found in it. So move the configuration files to the working directory if you want to have it as home directory.*Application directory: This directory is chosen if configuration files of BaseX are found in the application directory. This is especially for people using the windows installer of BaseX.==Configuration Files==
==Database BaseX maintains some configuration files==, which are stored in the project’s [[#Home Directory|Home Directory]]:
A database in BaseX consists of several files, which * <code>.basex</code> contains all options that are all bundled in a folder with relevant for running the database nameserver or standalone versions of BaseX.* <code>.basexgui<br /code>defines all options relevant to the BaseX GUI.All of these files are stored in a * <code>BaseXData.basexhistory</code> directory contains commands that have been typed in the home directorymost recently.* An empty <code>. basexhome<br /code>The path file can be changed in the following ways:*[[GUI Tutorial|GUI]]: Choose Menu → Preferences and choose added to a new database path*directory to mark it as [[Server Tutorial#Home Directory|Serverhome directory]]/[[Standalone Tutorial|Standalone]]: <code>SET DBPATH [path]</code>.
Notethat: After changing the database path, all existing databases have to be manually moved to the new location.
==Configuration * 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 <code>web.xml</code> file.
There are two configuration files for BaseX. These two configuration files <code>.basex</code> & <code>.basewin</code> are stored in the home directory.==Home Directory==
==User As BaseX is distributed in different flavors, and log files==The global users are stored in the <code>.basexperm</code> file in the home directory as the configuration files. Local users and permissions are stored in the meta data of the databaseit may be started from different locations, so they don't need an extra file. <br />All log files are stored in text format in the it dynamically determines its home directory <code>BaseXData/.logs</code>.:
* First, the '''Java system property''' {{Code|org.basex.path}} is checked. If it contains a value, it is chosen as directory path.* If not, the '''current user directory''' (defined by the system property {{Code|user.dir}}) is selected if the {{Code|.basex}} or {{Code|.basexhome}} file is found in this directory. * If not, the '''application directory''' (the folder in which BaseX is located) is chosen if one of these two files is found in that directory.* In all other cases, a {{Code|basex}} subdirectory in the '''user home directory''' will be returned. The user home directory is retrieved via the {{Code|HOME}} environment variable, or (if unassigned) the Java system property {{Code|user.home}}. If BaseX is used in an embedded environment (such as a servlet in a [[CategoryWeb Application]]), it may not immediately be clear which directory was picked. You can run the XQuery expression <code>Q{java:org.basex.util.Prop}HOMEDIR()</code> to find out. ==Database Directory== [[Databases]] consists of several binary files. These are located in a directory named by the name of the database. The database root directory is named {{Code|data}}. The database path can be changed as follows:* GUI: Choose ''Options'' → ''Preferences'' and choose a new database path.* General: edit the {{Option|DBPATH}} option in the {{Code|.basex}} configuration file '''Note: Internal''' Existing databases will not automatically be moved to the new destination. ==Log Files== Log files are stored in text format in a <code>.logs</code> subdirectory of the database folder (see [[Logging]] for more information). =Changelog= ;Version 9.0 * Updated: Detection and configuration of home directory and subdirectories. ;Version 8.0 * Updated: {{Code|.basexperm}} is obsolete. Users are now stored in {{Code|users.xml}} in the database directory (see [[User Management]] for more information). ;Version 7.7 * Updated: The {{Code|.basexhome}} file marks a folder as [[#Home Directory|home directory]].