The Minimum Customisation Requirements to use JXplorer
There aren't any. JXplorer should work quite happily against any LDAP directory out of the box. Directory structure modifications can be made with the tree view (cut/copy/paste/delete of entries and sub-trees), while individual entry attribute values can be edited using the table editor.
That said, bear in mind that unless the directory publishes its schema, (the equivalent of a data dictionary), the browser will be fairly limited in what it is able to do. Almost all modern directory servers do this, so it shouldn't generally be a problem.
So Why Should I Customize Anything?
Reasons for customisation fall into two general categories;
tweaking the GUI, and modifying the behaviour of the browser to
provide more advanced functionality.
Tweaking the GUI
There are a number of reasons you might want to change the GUI, including:
- Corporate Branding - providing a distinct look and feel for a client or a product.
- Simpler Interface - providing tools to do commonly used activities quickly.
- Providing Extended Help - you may want to provide more information to the user.
- Data Specific Display - you may want special icons for some types of data, or special displays for specific entry types.
A lot of these changes can be made very simply in JXplorer. Custom icons can be easily dropped in, while Corporate/product specific graphics can easily be incorporated using a simple extended version of html.
Customised HTML View
If you were using JXplorer in a help desk or data entry environment, it is straight forward to build custom HTML forms that only allow data entry for a handful of attributes, and possibly restrict the allowed values, or provide more on screen help information.
Custom HTML Form
For more complex GUIs (such as configuration wizards, or complex data viewers), it is
possible to write plug-in Java components. These require
a programmer to write a Java class that conforms to a simple interface. An example
is included in the 'plugins' subdirectory of JXplorer.
Changing Behaviour
Advanced applications may need to make fundamental changes to the operation of the browser. Possibilities include:
- Changing the way data is sent to the directory.
- Doing multiple actions at once; i.e. creating multiple entries as a single action.
- Providing more complex GUI editors for users such as multi-step 'wizards', or GUIs with some form of contingent behaviour.
- Providing user data validation in the client.
- Handling unusual data types (e.g. binary data, or application specific data).
There are a number of ways to directly customise JXplorer with Java plugins. It is possible to write special editors that are called from the table editor when a particular data type is encountered (an image file might be sent to an editor, or a sound file to a audio player).
For more complete customisation, a pluggable entry editor can be used, which either replaces or accompanies the html and table editor views available in the browser right hand pane:
A Plug-in Entry Editor
Pluggable entry editors range from trivially straightforward to implement (a simple data display editor might only be a dozen lines of code) through to extensive editors that can configure and extend every aspect of JXplorer, while continuing to use the basic directory connection and JXplorer threading model.