Chapter 5 : AjaXplorer plugins
<< Ch 4 : Settings Management | Up | Ch 6 : F.A.Q. >>
5.1 Introduction to plugins
AjaXplorer comes fully loaded with various plugins to ease the integration with other systems, help you develop your own specific installation, or even use AjaXplorer as a very generic explorer-like GUI for browsing any type of data.
Plugins can be seen as « drivers », or « connectors » that will link AjaXplorer to other backends. They come packed with their own actions and parameters, and can drastically change the way AjaXplorer works. If you want to develop your own plugin, just have a look at the parent abstract class (cf below) and implement the required methods.
As time goes, many of these plugins are contributed by users and even if we do our best to test, we cannot spend days and nights to test them extensively, on many OS, etc. So we will roughly describe them here, and please refer to the « inline » documentation of each plugin : readme files, or comments inside the code files.
5.2 Plugins categories
All plugins are located in the « plugins » folder, and are sorted in three categories
- Authentication plugins :
- Prefix : « auth«
- Default : auth.serial
- Implements : both class.AbstractAuthDriver.php and class.AbstractAjxpUser.php.
- Description : they connect the php backend to any type of authentication mechanism. An auth plugin will handle users basic data (user name and password), their creation and deletion and their credential acceptation for logging in.
- Configuration : global for a given AjaXplorer install, inside server/conf/conf.php.
- Configuration plugins :
- Prefix : « conf«
- Default : conf.serial
- Implements : class.AbstractConfDriver.php
- Description : Connector for all the configuration data of AjaXplorer, included the repositories data and configuration, and the users repository-specific data.
- Configuration : global for a given AjaXplorer install, inside server/conf/conf.php.
- Access plugins :
- Prefix : « access »
- Default : access.fs
- Implements : class.AbstractAccessDriver.php
- Description : One of the most powerfull abstraction : this plugin describe all the data access for a given repository.
- Configuration : per-repository, configured dynamically via the « Settings » repository.
5.3 Access plugins description
- access.ajxp_conf
This is a « reserved » plugin, it is used for generating the « Settings » repository, so there is few chance you will use it by yourself. However, it can be quite a good trainer to see how AjaXplorer can be used simply to do something totally different from file browsing. - access.fs
The default and basic « FileSystem » driver, used to browse, edit, manage, etc all documents contained on a file system. - access.demo
This is simply the access.fs with various « write » rights disabled. - access.ftp
Access files and manage them on a remote FTP server. This one uses the built-in ftp library of PHP. - access.mysql
Use AjaXplorer as a MySQL database browser like phpMyAdmin. Quite usefull for webmasters. Some very precise operations are not implemented, it’s not as complete as phpMyAdmin, but really the standard daily operations on tables and their records are working good. - access.remote_fs
This should be named remote_ajxp maybe : the principle is to remotely access another AjaXplorer install, and browse the files as if it was a « local » file system. - access.ssh
Access a remote server filesystem that only export SSH. It is like SSHFS, you’ll see the remote filesystem as if it was local. It can also encapsulate ajaxplorer file system commands inside SSH calls, allowing at last to have precise permissions on files even on local server. - access.remote_svn
Still very experimental, browse an SVN server, via XML/http. - access.svn
Experimental also, browse a local SVN server, using the svn commandline.
5.4 Auth plugins description
- auth.basic_http
Can be used to interface ajxp to a standard http authentication. For example, place an htaccess/htpassword somewhere above the ajaxplorer installation directory, and users will be automatically logged to AjaXplorer once they have passed the http login dialog. - auth.ldap
If you are already managing your user in a central directory (LDAP), you’ll find this plugin very useful, as you won’t have to recreate existing user in AjaXplorer. - auth.remote
Generic used for integration with various CMS. - auth.remote_ajxp
Log on to a remote installation of AjaXplorer. This is to be used in conjunction with access.remote_fs driver. - auth.serial
The default authentication plugin, stores all data inside php serialized files under server/conf/users/. - auth.sql
Stores the users data inside a database. It is database generic, since it’s using Dibi.
5.5 Conf plugins description
- conf.serial
The default implementation, stores all data inside a php serialized file, server/conf/repo.ser - conf.sql
Database storage implementation, database independant.