## AjaXplorer Users Manual

AjaXplorer is an easy-to-install file explorer for remotely managing files on a web server or operation as a simple file-sharing system. Its rich layout and actions make it easily accessible to virtually any end-user. It requires PHP and server access (either local or remote via FTP) for installation. It uses an AJAX based interface, providing streamlined and intuitive functionalities, similar to that of a standard file-system explorer on any operating system.

Quick Links:

Project: http://ajaxplorer.info/
Demo: http://www.ajaxplorer.info/demo/
Download: http://sourceforge.net/project/showfiles.php?group_id=192639

Copyright (c) 2008 Trent Scott - trescott3[at]users.sourceforge.net
Doc Version: 2.3.7

Contents:

- Chapter 1: Introduction to AjaXplorer
  - 1.1 About AjaXplorer
  - 1.2 Features
- Chapter 2: Basics
  - 2.1 Download
  - 2.2 Installation
  - 2.3 Configuration
  - 2.4 Required Settings
  - 2.5 Optional Settings
  - 2.6 Protect Your Installation
  - 2.7 Running AjaXplorer
- Chapter 3: Toolbar
  - Buttons
- Chapter 4: Details/Search Pane
  - 4.1 Details
  - 4.2 Search
- Chapter 5: Navigation
  - 5.1 Folders Pane
  - 5.2 Path
- Chapter 6: User Settings
  - 6.1 User Preferences
- Chapter 7: Admin Settings
  - 7.1 User Management
  - 7.2 Repositories Management
  - 7.3 Logs
- Chapter 8: FAQ
  - 8.1 Where are the log files?
  - 8.2 My file upload size is limited, how can I change this?
  - 8.3 I created a repository but cannot see it?
  - 8.4 How do I create user-specific repositories accessible only to them?
  - 8.5 I want to develop my own extensions but the JavaScript and CSS files are unreadable?
- Chapter 9: Credits

Chapter 1: Introduction to AjaXplorer

1.1 About AjaXplorer

AjaXplorer is an easy-to-install file explorer for remotely managing files on a web server or operation as a simple file-sharing system. Its rich layout and actions make it easily accessible to virtually any end-user. It requires PHP and server access (either local or remote via FTP) for installation. It uses an AJAX based interface, providing streamlined and intuitive functionalities, similar to that of a standard file-system explorer on any operating system.

1.2 Features

- File Manipulation
  - Rename/Copy/Move/Delete/Download files or folders
  - Upload multiple files and track status with progress bar (Flash required and no https)
  - Create folders and empty files
  - Edit Text files and code files (js, php, html, java, sql, perl), syntax is highlighted in the editor
  - View Images online, preview images in the list, diaporama of a given folder
  - Listen to MP3s online without downloading them

- Browse and Extract ZIP files online

- Rich GUI
  - Select multiple files or folders (copy/move/delete action can be applied)
  - Drag'n'Drop selection to copy/move
  - List/Thumbnail Display
  - Keyboard Shortcuts: Ctrl + Up/Down Arrow = toggle selection, Tab = navigate between panels, Esc = close dialog windows
- Advanced Features
  - Bookmarks system
  - Search recursively in folders
  - Send URLs with file links to a friend for convenient sharing
  - Recycle Bin with "restore action
  - User Preferences to set preferred language, display or password
  - Multiple Languages: English, French, Dutch, German, Italian and Spanish
  - Customizable GUI with header and footer templates
- Admin Features
  - User Management system
  - Multiple Root Directory to define separate repositories and assign access rights for each user
  - Logging system
- Development
  - Plug-In Architecture to easily extend the application
    - Currently supported plug-ins: fs (filesystem), remote_fs (remote server with AjaXplorer installed), MySQL (browse, edit and search MySQL database), and demo (all write actions disabled)
  - MySQL DB Management (AJXP.MySQL Driver)
    - Configure a repository with your MySQL data (host, username, password, database) and browse the tables, execute MySQL queries and edit/add/remove records or structures within tables

Chapter 2: Basics

2.1 Download

The current build of AjaXplorer can be downloaded from http://sourceforge.net/projects/ajaxplorer/. Unzip using WinZip, ZipGenius or tar -xzf AjaXplorer-core-2.3.7-dist.zip.

2.2 Installation

Now that we’ve got our files, we can upload the whole directory to the web server (using your favorite FTP program) in case you’re not already working there.

AjaXplorer needs to save/download files and be able to modify user registry. Therefore make sure the following directories (and file within) are writeable for the web server:

- files
- server/user

2.3 Configuration

Browse to server/conf and open the file conf.php. Use your favorite text editor to open and modify this document. We’ll customize settings in this file for your unique server configuration and security purposes. Make the mandatory changes listed in section 2.4 Required Settings.

2.4 Required Settings

- $dft_langue="en": Set the default language to be used (modify bold portion).
- define("ADMIN_PASSWORD", "admin"): Set the administrator password which is granted most permissions (access) on your file server (modify bold portion).

2.5 Optional Settings

- ENABLE_USERS: Toggle user accounts on/off.
- ALLOW_GUEST_BROWSING: Toggle whether guests (unauthenticated users) can browse your files.
- AUTH_MODE: Specify the method of authentication to be used by the server for user accounts [default=ajaxplorer].
- AUTH_MODE_REMOTE_XXXXX: Specific settings for a remote server (optional).
- $size_unit: Unit of file size (b=bytes, o=octets) [default=b].
- $max_caracteres: Maximum number of characters for file/directory names [default=50].
- $showhidden: Toggle whether hidden files are visible (1) or invisible (0).
- $upload_max_number: Maximum number of files allowed to be uploaded at once [default=6].
- $webmaster_email: Administrator’s email address (also from address used in ‘Send Link to Friend’ email function). *Note: your servers “mail” function must be enabled.
- $recycle_bin: Clearing the value in this field will turn off recycle bin functionality (archive of deleted files).
- $use_https: Change value to “true” if using an HTTPS (SSL) domain.

2.6 Protect Your Installation

Access through your web server to the following directories should be denied upon completing configuration:

- server/conf
- server/users

Note: AjaXplorer uses .htaccess files to protect these directories automatically, be sure to allow override of the Limit directives on your web server (contact your Webmaster).

2.7 Running AjaXplorer

Upon completing installation, browse to your live site on the web server (http://yourdomain.com). As AjaXplorer loads, it will display "Loading Components… Main Template Loaded… Action Bar Initialized… List Loaded". Once you arrive at the login screen, login using your credentials. [default username=admin / password=admin]

Select Remember Me to save a cookie with your login credentials to the local machine. Note: Do not use on public computers.

Chapter 3: Toolbar

3.1 Buttons

AjaXplorer’s intuitive toolbar (top of the screen) has 15 buttons, corresponding to unique features/functions that can be performed. From left to right, the buttons are as follows:

- Parent: Switch the active view up to the main hierarchical file level. This is the root folder of whatever repository is specified for a user.
- Refresh: Updates the window to display the current files and folders. After making changes, a refresh of the current screen might be necessary.
- Thumbs/List: Change the display output of the files and folders in AjaXplorer. Toggle between thumbnail and list view (including details like size, directory, type and date/time last modified).
- Bookmark: Save a current location as a favorite for quick and easy access.
- Upload: Add files to the current repository [default=6 max]. From the Upload window, click Browse, select the file(s) on your local drive to add and click Send to begin the process. To remove all files from the queue for uploading click Clear. To interrupt the upload process, click Stop.
- New Folder: Create a new folder in the current repository.
- New File: Create a new text file (.txt) in the current repository.
- Download: Download the current selection. This may be an individual file, group of files or entire directory (downloaded as a .zip file).
- Rename: Change the name of a selected file or folder.
- Copy: Make a duplicate of selected file(s) or folders.
- Move: Relocate selected file(s) or folders to a different location in the current repository.
- Delete: Delete selected file(s) or folders from the current repository. Deleted items will move to the recycle bin, if enabled in the Settings.
- Logout: Terminate the active session in AjaXplorer.

Chapter 4: Details/Search Pane

4.1 Details

Click the Details tab in the lower left pane (below Folders) to display current file or folder attributes (name, date/time modified). If a folder is selected, click Explore to view its contents. Click Download to compress the folder contents into a .zip file and download them to your local machine.

4.2 Search

Click the Search tab in the lower left pane (below Folders) to enter a search string (phrase) to find in the current repository. File or folder names are acceptable queries. Click the magnifying glass icon to begin the search or X icon to clear the field. Previous searches are displayed in the box below.

Chapter 5: Navigation

5.1 Folders Pane

The Folders pane (left) provides a quick view of all folders in the current repository. To browse folders within the current repository, simply click the folder name listed. Click the + icon next to a folder to display its subfolders.

The Folders pane is also used to navigate between other repositories (file spaces). To switch repositories, select the repository name from the dropdown menu with Default Files (unless modifed) as the current repository.

5.2 Path

The field below the toolbar (top) displays the current path relative to the root directory (default repository). You can traverse between folders by modifying the path listed here as an alternative to the file browser (below). Click the blue arrow icon to go to the given location and the gold star to bookmark it.

Chapter 6: User Settings

6.1 User Preferences

To modify your individual user settings (the account you're logged in on), click Logged in as xxxx in the upper right corner (xxxx=your username). This opens the User Preferences window wherein you can specify the current Language, Default Display method (details or thumbnails) and Change Password for the account.

Chapter 7: Admin Settings

Note: Admin account is required to change server settings. [default username=admin / password=admin]

7.1 User Management

In the Settings window, click User Management at the top. Under the section labeled Create User, you can specify a new username/password.

The User List section displays all current users on your AjaXplorer file system. To edit a user, click on their name (must be done from admin account). You can specify their Repositories Rights (read/write privileges), modify their password or delete the account.

7.2 Repositories Management

In the Settings window, click Repositories Management at the top. All current repositories (file spaces) will be displayed here and new repositories can be created by giving them a unique label (name) and choosing an access driver.

After specifying the name and driver, you must specify the path to root folder on the server (e.g. files/). You also have the option to specify the name for the recycle bin folder to be used for deleted files.

When finished, click Create (if it is a new repository) or Save (if modifying settings for an existing repository).

To delete a repository, click the red X next to its name under the Repositories List.

7.3 Logs

The built-in logging system in AjaXplorer is useful for debugging and troubleshooting your file server. In the Settings window, click Logs and specify a log file (by date) using the dropdown menu labeled Choose a log file. Log entries are sorted by Date/Time, IP address, Level, User, Action (whatever was done) and Parameters (specific to each operation).

Chapter 8: FAQ

8.1 Where are the log files?

As admin, open the “Settings” window. 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.

8.2 My file upload size is limited, how can I change this?

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.

8.3 I created a repository but 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 window, Users Management tab, and give read/write access to the newly created repository to whichever user you want.

8.4 How do I create user-specific repositories accessible only to them?

As admin, open the Settings window, click Create Repository” 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/AJPX_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.)

8.5 I want to develop my own extensions but the JavaScript and CSS files are unreadable?

Change the $JS_DEBUG variable to true in the file index.php at line 72. After doing so, AjaXplorer will load all JS files and CSS files separately, instead of the big compressed file used normally.

Chapter 9: Credits

AjaXplorer was created by Charles du Jeu. Other developers include Mathieu Baudier, Trent Scott and Stage NexVistion.

Components: WebFX widgets (XLoadTree, SortableTable and Selectable), LightBox modified by Leightbox, and the very nice CodePress syntax highlighter.

Please visit our website, http://ajaxplorer.info for more information.