3 Core Configurations

In AjaXplorer, except for very low-level configurations that must be set before launching any part of the framework, all options are editable directly via the GUI, through the « Settings » repository. You can access it by logging as « admin » and opening the repository chooser in the top left corner of the application.

Once in this repository, you will discover the plugin architecture of AjaXplorer : every feature, included the GUI, are plugged into the application via plugins, and non-surprisingly the core configurations are themselves defined via plugins of a certain type (core). Browse the various "Core configurations" and "Plugins" lists, and double click on a plugin in the right list to open its configuration editor. In the editor, open the various sections by clicking on the headers, and you can get a description of each option when you fly with your mouse above the option name.

Some plugin have options, some don’t. We will review the most important ones : the « core » plugins and the most standards plugin used on almost every installation (gui.ajax, access.fs). However, it is strongly recommended to refer to the dedicated <a href= »/plugins/ »>plugin section</a> of this website : plugins documentations are « self-contained » inside the plugins, thus this section will be generated dynamically and automatically synchronised to the latest version of AjaXplorer.

Core configurations

AjaXplorer Core

  • Main options : here you will find the basic options to change the name of the application and the default language.
  • Sharing : « public folder » is a folder where the temporary share links will be created. Thus the path on the server and its URL to be accessed via the web are important. By default, it is located in the data/public/ folder. It’s also possible to chooser whether to allow the sharing of folders across existing ajaxplorer users or only with external temporary users.
  • Compression features : gives you some control on the zip usage in the application. Gzip download is just a feature that automatically compresses the output of the files downloads, but it’s automatically decompressed by the browsers, it’s nothing to do with the real « Zip creation » feature.
  • WebDAV Server : webDAV server settings, see the <a href= »/documentation/webdav/ »>dedicated section</a> of this documentation.
  • Miscalleneous : an important configuration here is the « Temporary Folder » that can be used by the application to replace the standard PHP temp folder for all common operations requiring temporary files creation. In some case, particularly on restricted installation on shared hosts (php safe_mode, open_basedir, etc), you may see error messages telling you a temporary folder is not writeable. In that case, you can set the tmp folder to another location, for example create a « tmp » folder below your allowed folder, make it writeable by the server, and set its absolute path here. Warning, do not make it visible on the web! Place it above your www or public_html folder, or if you just can’t use htaccess or equivalent to deny access via the web.

Common « auth » plugins options
  • These options are inherited by all « auth » plugins. Here you can enable / disable the whole user system, allow a guest access, set the passwords minimum length…
  • The « Store Credentials in Session » option is important if you plan to use a specific auth driver that should dynamically pass the user-input credentials to another access driver for connecting a remote server. If you activate this option, you should make sure that mcrypt is enabled on your system.

Common « conf » plugin
  • Let user create repositories : will activate the repository for non-admin users, as soon as their are repositories templates created (see the repositories section).

Common « uploader » plugins

Here you can define a list of allowed extensions for upload, and set the limits of size and number of concurrent upload. Please not that the maximum upload size is always limited in the end by your server configuration (through the php.ini).
See the core plugins pages for more information on these options.

Other important plugins

GUI / Client Plugin gui.ajax

This plugin brings the whole web interface. Thus it comes with a set of configurations that you’ll probably often want to modify.
  • Mainly, if there are many themes available, you can choose here.
  • Customization of the startup screen (with your own icon, welcome message, etc)
  • Automatic deconnexion of the interface, synchronized with the server session expiration (« Client Session Config »)
  • Google Analytics configuration

ACCESS / File System access.fs

This is the most used repository driver and contains various configurations for hiding specific files or folders based on their name or extension.

Other configurations are set for each repository instance.

Scripting configuration: php config files.

Some configuration must be loaded before anything else, or sometime you event want to define your own set of configuration directly inside dedicated files, without having to edit the configurations via the GUI. In that case, everything is happening in the conf/ folder!

extensions.conf.php

This is a list of all extensions supported by default by the application. Each line contains an extension name, an associated icon and an i18n string ID to describe the extension. This should be migrated in the core.ajaxplorer plugin for more consistency. If you want to add an extension support, you should prefer the <extensions> tag in the plugins manifest.xml files. But still, it can be a handy way to duplicate a line quickly here…

bootstrap_plugins.php

To be able to run, the framework need at least a CONFIGURATION plugin (in charge of loading/storing all the configuration data), an AUTHENTICATION plugin (in charge of identifying a user credential), and a LOGGER plugin.
These cannot be defined via the GUI, and must be instanciated from the configuration written in the php file. The OPTIONS key are the technical names of the plugins options. See the associated plugin documentation page for each option description.

bootstrap_repositories.php

This file allows to define a repository entirely as a PHP array of key/values. The default repositories with wich AjaXplorer comes bundled are defined here. These repositories will not be editable via the GUI.
It can be handy to manually define a repository here when you want to keep control of its unique ID : instead of being dynamically (and randomly) generated, the $REPOSITORIES key is the unique id.

bootstrap_context.php

You should avoid touching this one, unless you know exactly what you are doing. It is loaded before everything else, so if you want to set some specific PHP setting (typically session config) that must be applied very soon, you can put it here.
Debug Modes : it can sometimes be usefull to debug the application : the JS debug option is usefull if you are developer and extending the user interface (see developer doc). The Server debug adds more precise logs on the server side on each action triggered. Can be particularly usefull when having upload problems, as upload is a complex server operation and error reporting can easily fail.

bootstrap_conf.php

Since 4.2.0, this file can be modified to fix basic configurations like server encoding or php.ini values.

Scripting plugins configurations

If you want to distribute a set of options for a given plugin, add a conf.plugin_type.plugin_name.inc file in the conf/ folder containing a PHP array named $DRIVER_OPTIONS. It will be loaded automatically and these options will be applied to the plugin. These options can still be overriden throught the GUI.