F.A.Q

Advanced Customizations

Can I add a custom header/footer to the GUI

The AjaXporer default GUI is defined inside the plugin gui.ajax. As you can see, the content of the « ajxp_desktop » (i.e. the application main zone) is described here precisely. Now have a look at the hook.demo plugin : you can see sample of HTML snippets added « before » and « after » the main « ajxp_desktop ». Best way is to activate the hook.demo properly and put your own header/footers here, so that it won’t be overriden by a future update. More easy can be to copy the hook.demo samples inside the gui.ajax.

Read the plugins section of this documentation, as well as the developper doc!

Back To Top

The JS and CSS are not readable! Is this a cripple-ware ???

No. They are just compiled for performances issues.

Change the AJXP_CLIENT_DEBUG variable to true in the conf/bootstrap_context.php configuration file. After doing so, AjaXplorer will load all JS files and CSS files separately, instead of the big compressed file used normally.

 

Back To Top

Where are the log files?

As admin, open the Settings repository. You probably see a Logs tab but nothing listed inside of it. If so, there is probably a write permission missing — the « logs » folder is created inside the « server » folder. Thus the /path/to/install/server/ folder should be writeable.

Back To Top

I cannot find the source of the flash uploader.

The flash uploader is in fact not pure flash but FLEX, based on the FLEX3.0 library. You can download a free version of the compiler on Adobe website. The ActionScript and MXML sources can be found in the AjaXplorer SVN, below the trunk/core/flex. More info at http://sourceforge.net/scm/?type=svn&group_id=192639

Back To Top

Fine Tuning your installation

Can I add a custom header/footer to the GUI

The AjaXporer default GUI is defined inside the plugin gui.ajax. As you can see, the content of the « ajxp_desktop » (i.e. the application main zone) is described here precisely. Now have a look at the hook.demo plugin : you can see sample of HTML snippets added « before » and « after » the main « ajxp_desktop ». Best way is to activate the hook.demo properly and put your own header/footers here, so that it won’t be overriden by a future update. More easy can be to copy the hook.demo samples inside the gui.ajax.

Read the plugins section of this documentation, as well as the developper doc!

Back To Top

How can I filter some file extensions, both for display and for upload?

DISPLAY : If you are using the standard filesystem driver, there is  a specific configuration file that you can edit to limit some file extensions or folders to be displayed in AjaXplorer. Open the file server/conf/conf.access.fs.inc and edit the specific configuration variables (from version 4 and later, you can edit these values directly by editing the access.fs plugin options) :

  • SHOW_HIDDEN_FILES : value true or false
  • HIDE_EXTENSIONS : value 0 or an array of extensions to hide
  • HIDE_FILENAMES : value 0 or an array of file names to hide
  • HIDE_FOLDERS : value 0 or an array of folder names to hide

UPLOAD : For the upload part, it’s not done via configuration, but you can easily hack one file to suit your needs. Open the file plugins/uploader.flex/flash_tpl.htmlat line 8 :
You can see :
>> $FlashVar = ‘&fileTypes=*.*&fileTypeDescription=All%20files&totalUploadSize=’.$confTotalSize.’ [.... end of line]

You can edit the « fileTypes » and « fileTypeDescription » variable using for instance the following syntax :

>> [...]&fileTypes=*.doc;*.jpg;*.gif&fileTypeDescription=My%20Type%20Description&[...]

Be aware of replacing the « space » by %20 in the description. Once you’ve made changes, clear your browser cache to be sure to see your changes happen.

Back To Top

Is there a way to colorize files or folders like on MacOS finder?

Yes, check AjaXplorer Plugins > Meta Plugins in the documentation, use the meta.serial plugin with the special keyword « css_label ».

 

Back To Top

Is there a mail notification feature?

Yes, please check the Administrator Guide for enabling notifications.

Back To Top

How do I set the default display to “thumbnails” with a given size?

Open the file plugins/gui.ajax/manifest.xml and modify the <property> inside the <component_config className= »FilesList »> tag. « thumbSize » accept only numeric values, « displayMode » accept only “list”, “details” or “thumb” values. Warning, both properties are overriden by user’s preferences, so you should test your changes on a clean user (create a new one for tests purposes).

Back To Top

How can I totaly disable an action?

In AjaXplorer, all actions are defined and aggregated inside XML files. These files are brought to the application generally via plugins, except for some very basic actions defined in server/xml/*.xml. First thing is to see what plugins are active (basically, if you have no idea, search in access.fs, conf.serial and auth.serial), and look for the <action name= »the_action »></action> XML block. Comment the whole bloc (using <!– comment content –> markers) if you want to totally disable the action, or finetune the attributes of the action if you want to leave the action enable but just remove it from the toolbar, the contextual menu,etc.

Back To Top

Is there a way to create a rating system on files?

If you are using a version superior to 3.3.X, add first a metastore.serial Meta Source to the repository.
Add a « Meta Source » to your repository (either via the GUI or the bootstrap_repositories.php file, depending on where your repository is defined), using the meta.serial plugin. As a « meta_field » use the specific keyword « stars_rate », and as « meta_label », whatever you want, « Rating » for example.
See more about meta.serial plugin here.

Back To Top

How do I add editor support for a file extension?

[From version 4, the "Open with..." action allows you to choose any editor to open any extension type, and will remember this choice as a user preference]
Go to the plugin editor you are interested in, and open the file plugins/editor.editor_name/manifest.xml. Inside this file, you can see an attribute « mimes » of the main document element, « <editor> ». Just append the files extensions you want here, separated by commas.

Back To Top

How do I create user-specific “private” workspaces?

As admin, open the Settings window, click Create Workspace and in the Path form, use the AJXP_USER keyword to create a path that will be adapted to each user. For example, use the following configuration:

Repository Label : My Files
Driver : File System
Path :  AJXP_INSTALL_PATH/files/AJXP_USER
Create : Yes
Recycle bin folder :  recycle_bin

(Each user will have their own unique repository and the admin can view them when browsing the Default Repository packed with AjaXplorer.)

Back To Top

How do I grant a default right to all users for a given workspace?

Use the Default Rights parameter of a repository configuration. Allowed Values are « r » (read), « w » (write) and « rw » (read write). If you’re dealing with the default repository, this is done inside the conf/bootstrap_repositories.php file, inside the DEFAULT_RIGHTS array key. Otherwise, it’s done via the Settings panel.

 

Back To Top

How do I raise the maximum upload size ?

File upload size limit is not an AjaXplorer limitation, but a server configuration for PHP.

If on a shared host, it is unlikely that you can access this configuration.

If you are on your own server and can edit the PHP configuration file (php.ini), please have a look at the upload_max_filesize instruction on the PHP website. Do not forget to update the post_max_size as well.

If your webserver is IIS, it is not enough you should configure maxAllowedContentLength also, if you not do this you would have an 10054 error in the browser and a 400.13 error on the http log of IIS.
A great article exist about it, at the official site :http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

Important :

Once you have changed your server configuration, you will have to first restart it (the server software, not the machine!), and then to see AjaXplorer correctly apply this, follow the following step : open the Global Configurations > Core Configs > Uploader Options, set the upload file size to 0 and save. When re-opening, you should see the new value from php.ini correctly loaded.

Back To Top

Licensing Questions

The JS and CSS are not readable! Is this a cripple-ware ???

No. They are just compiled for performances issues.

Change the AJXP_CLIENT_DEBUG variable to true in the conf/bootstrap_context.php configuration file. After doing so, AjaXplorer will load all JS files and CSS files separately, instead of the big compressed file used normally.

 

Back To Top

Can I integrate AjaXplorer inside my proprietary software?

If you software license is not open-source or not compatible with AGPL, NO, you can’t. But you can contact me and we can discuss an alternative licensing model that would allow you to do so.

Back To Top

Can I modify and/or integrate AjaXplorer inside my open-source software?

As long as your software license is compatible with the AGPL, and that the modifications are published, and that you leave the link on the user interface, YES.

Back To Top

Can I use AjaXplorer to offer a commercial service, like a cloud storage service?

Under the very strict AGPL conditions as explained above (leaving the source code link), yes, you can. But beware that this means that you must publish every modification you make to the code, and as the license is « copyleft », you will probably also have to publish the rest of your administration panel under a compatible license if ajaxplorer is integrated with it. So you’d probably want to contact us and buy a specific commercial friendly license.

Back To Top

Can I use AjaXplorer for free on my website, as a company?

As long as you do not modify AjaXplorer deeply (modifications like theming or little tweaks are not taken into account), and as long as you leave a link to the source code (i.e. to this website, except if you want to host the source code on your own website) on the user-interface (this is the particularity of AGPL against GPL), yes you can.
For example, if you change the logo of the splashscreen (using the gui.ajax plugin options) and let the « Powered by AjaXplorer » mention, this will be ok. If you want to remove this reference, you should contact us.

Back To Top

Troubleshoot

After migration from 4.X to 5.X, I still see the old GUI

  1. Goto database management (phpmyadmin or else)
  2. Select your ajaxplorer database
  3. Select the table “ajxp_plugin_configs”
  4. Delete row/entry gui.ajax
  5. Log onto ftp or shell
  6. Go to your your ajaxplorer data directory for me /var/www/***/data
  7. open cache directory /var/www/***/data/cache
  8. delete files “plugins_cache.ser”,”plugins_queries.ser”,”plugins_requires.ser”
  9. clear browser cache
  10. If you have installed php-apc or other caching solutions, flush their cache)
  11. Reload browser page

Those steps worked for Niklas, see this thread from the forum, hopefully for you too.

Back To Top

Hosting many instances side-by-side, things get messed up when I log to one instance and switch to another.

You can add the following instruction in your base.conf.php file,

$INI_SET['session.cookie_path'] = dirname($_SERVER['REQUEST_URI']);

This will ensure that the session cookie only concerns a given URI of your domain, and thus cookies won’t be shared between the various instances.

Back To Top

The Share button does not appear

Inside the conf/bootstrap_context.php file, there is a folder defined by PUBLIC_DOWNLOAD_FOLDER, that is by default pointing to YOUR_INSTALL_PATH/public. You have to create this folder and make it writeable by the server, to see the « Public URL » action appear in the GUI.
Of course, you can point to a different folder. By default, this will then generate a link with the current ajaxplorer URL followed by « /public/ » and the php file. But you can change this URL by editing the PUBLIC_DOWNLOAD_URL to whatever you want. That way, your ajaxplorer can be in a private zone, and create public links inside a public zone.

Back To Top

Everything is working fine, except all downloads are corrupted!

In some case, we have detected problems with the gzip encoding and some browsers. Try disabling the “Gzip compression” in the AjaXplorer Core Options.

Back To Top

How do I solve the character encoding warning at startup ?

Most distributions do not set the locale used by the server filesystem in webserver startup script or php.ini configuration file. While it’s ok for most php application, AjaXplorer must know what character encoding the filename use in order to display them correctly.

A usual safe value is UTF-8, as most Posix system use UTF-8 internally because it’s language independant.

If you don’t know what to put there, you should try this:

  • Put UTF-8 and check that files named with your language special character (like é for French) are displayed correctly. If it’s working, don’t change this anymore.
  • Else, if you have shell access to your server, type:
    • export | grep « LANG »
    • The output usually says « lang_Country.encoding » (for example en_US.UTF8)
    • The encoding part is what your should put (UTF-8).
  • If you don’t have a shell access, please check Wikipedia for your language most used character encoding (for example, in France it’s ISO8859-1), and try with this encoding.
  • If you are uploading your file by FTP, chance are high that the encoding you need is ISO8859-1 (as most FTP server use this encoding)
  • If none of the above works for you, please ask on AjaXplorer forum, and blame your distribution vendor.

AjaXplorer remote filesystems repositories tries to detect remote filesystem encoding, so you shouldn’t have to fix it for remote filesystems (ssh, ftp, remote access).

Back To Top

I created a workspace but I cannot see it

This often happens if you have created a repository but not granted access to this repository for each user. Logged in as admin, open the Settings repository, Users Management tab, and give read/write access to the newly created repository to whichever user you want.

Back To Top

After modifying a plugin, my changes do not come up!

As for 3.2.1, there is now an optimization cache that keeps track of the full plugins registry. You’ll have to simply delete the two files plugins_requires.ser, plugins_queries.ser, and plugins_cache.ser located either in server/conf/(until 3.2.4) or in data/cache (after) and refresh your browser to regenerate them. The registry should be up-to-date.

A good practice is also to clear the i18n cache at the same time : data/cache/i18n/*.ser.

For developers, you can even disable this cache totally by using the AJXP_SKIP_CACHE variable inside data/conf/bootstrap_context.php.

Back To Top

Bunch of E_NOTICE errors, blank page

Change the error_reporting level of PHP to not display the E_NOTICE errors.

This can be done either by setting a php_value inside an .htaccess file at the root of your installation, or more simply by modifying directly the php.ini file of your server. A typical « production » value recommended by the PHP team is error_reporting =  E_ALL &~E_NOTICE

You may ask yourself why do such errors appear?! These errors are more warnings than errors and do not prevent the application from functioning. AjaXplorer is mostly a single-man long term work and began when PHP was one or two versions from here, and some low-level language structure have changed since them, even if still supported. So be indulgent and disable E_NOTICE ok?

Back To Top

Blank page or ugly PARSE ERRORS

Two basic checks : is your PHP version > 5.3 ? On some shared hosts, you must activate PHP5 in a given folder by setting an .htaccess instruction. Refer to your host documentation. Second question (particularly on Linux installations ) is dom-xml extension enabled for PHP? If not, update and install (via yum or equivalent) the php-xml package, and everything should work fine.

Back To Top