ybits (why bits? because.)

WXplorer – A Web-based File Explorer.

WXplorer (wěk-splôr’ər) is a browser-based file explorer with an OS-native look and feel. At the moment it provides read-only access to a directory structure on a remote server, but in the future may be adapted to include file creation, manipulation and deletion.

Application Screenshot

Features

Currently, WXplorer is at the end of phase 1, which includes the following features:

  • Treeview
    • Typical expand and collapse functionality based on the behavior of Windows Explorer (Windows XP)
  • Listview
    • File list view (with a single view type)
    • Single-clicking drills into directories and opens folders (as opposed to double-clicking (due to user feedback)
  • Address bar
    • Functioning back, forward and up buttons
    • Address field which shows the directory path of the current node, but is
      display only
    • Search field which does a filename “like” search (for example, ‘%name%’)
  • Customized tooltips
  • Draggable separator between the tree and list views

There is no exact plan for what the next phase will entail (or if there will even be a next phase), but the future could see some of these different functionalities:

  • An SSL extension that allows the actual modification of a remote directory structure.
  • An options pane for the toggling of file browser settings.
  • Other stuff…

Platform

WXplorer uses three main technologies:

  • XML

    • XML DOM is used as the backbone of this entire application. When looking at other implementations of tree views, the one thing that struck me was that everyone created their own tree structure to represent the data semantically. Because the HTML DOM and XML DOM are so closely related, it seemed like a good idea to just couple them: HTML DOM for the hypertext markup, and XML DOM for the semantic markup. The subset of nodes that make up the tree view and the nodes contained in the XML document are identical, and using XML DOM’s tree methods means no crazy tree implementation.
    • WXplorer uses Sarissa for cross-browser XML DOM implementation. These files are distributed, unmodified, with the release code.
  • Javascript

    • The bulk of the implementation is Javascript, since the bulk of the work is done on the client. This allows for the smooth transitions and no callbacks, and in future versions will allow actual remote file manipulation via XML messaging over SSL.
  • PHP

    • The PHP portion of the application is a script that runs on a remote server that builds and serves the directory structure in XML format. This portion can be replaced with anything that will produce a document in the right format, or, can simply be replaced by a static document (which is how I do the demo).

Licensing

WXplorer is licensed under the GNU General Public License, Version 2 (GPLv2).