This is the bridge between a Drupal installation and an AjaXplorer. The aim is to provide a single-signon mechanism based on the Drupal users system : users logged in Drupal must have access to repositories of AjaXplorer. It's never totally evident to interface two different softwares, so don't expect it to be magical, and please follow the steps carefully and in this order.
1.1 Install AjaXplorer and Drupal
First of
all, make sure you have AjaXplorer 4.0.1 installed and Drupal 6.x or
7.x
1.2 Install Drupal plugin
Unpack the
Drupal.user.ajaxplorer.zip inside the [6]"sites/all/modules/"
or [7]"modules/" folder of your Drupal installation.
2.1 Create administrator
If it's not already
done, with the standard ajaxplorer authentication mechanism, be sure
that at least an "admin" user is created.
2.2 Guest Browsing
If you intend to allow
guest browsing, set the "Allow Guest Browsing" option to
true in the Ajaxplorer Settings > Core Options > Common Auth
Options, and if you are logged, log out. This should create the
"guest" user. As admin, log back to the interface and
create a "Guest" Repository. Go to the users section and
grant access (read only may be better) to this repository to the
"guest" user. Now, when you log out, you should have access
to this repository.
2.3 Repositories
Now create one or many
repositories that you will want your Drupal logged users to access.
You can use the AJXP_USER keyword inside the repository PATH if you
want to create automatically "personnal" folders for each
users. Considering the acces rights, the trick here would be to set a
DEFAULT_RIGHT value to "rw", so that you don't have to
manually edit the users rights each time you add them.
2.5 Auth.remote configuration
Now
go back to your conf/boostrap_plugins.php
file and set the
Authentification driver to be the auth.remote.
There is a commented sample in the bootstrap_plugins.php aimed at wordpress user,
you should use the following values :
$AUTH_DRIVER = array( "NAME" => "remote", "OPTIONS" => array( "SLAVE_MODE" => true, "USERS_FILEPATH" => "AJXP_DATA_PATH/plugins/auth.serial/users.ser", "LOGIN_URL" => "/drupal/", [6.x]"LOGOUT_URL" => "/drupal/?q=logout", [7.x]"LOGOUT_URL" => "/drupal/?q=user/logout", "SECRET" => "my_own_private_Drupal_key", "MASTER_AUTH_FUNCTION" => "drupal_remote_auth", "MASTER_HOST" => "localhost", // the drupal host "MASTER_URI" => "/drupal/", "MASTER_AUTH_FORM_ID" => "user-login-form", "TRANSMIT_CLEAR_PASS" => true) );
What you should edit here are only LOGIN_URL, LOGOUT_URL and SECRET. LOGIN&LOGOUT should point to your Drupal installation URL on the server (URL, not the folder path from the server root). For example, here we consider Drupal to be found at http://www.mydomain.com/Drupal/. The SECRET key is what will assure AjaXplorer that the authentification operations called programmatically are indeed called by a trustee. You may put whatever you want, it will be a configuration of the Drupal Ajaxplorer plugin. Warning, if you want to use a "$" sign in your key, you have to put a \ before.
2.6 Checks
Now
if you are logged out, when you go to AjaXplorer URL, if you have
enabled guest browsing you should have access to the Guest repository
and clicking on the "Back" button should send you to
Drupal. If "guest" is not enabled, you should be
automatically redirected to Drupal.
3.1 Activate Module
Login to Drupal as
administrator and go to [6]"Administer > Site Building >
Modules" or [7]"Modules". Here you can select the
"AjaXplorer Bridge" module inside the "Other"
section. Enable the plugin.
3.2 Configure the module
Go to "Site
Configuration > AjaXplorer Settings" (click on the module
"Help" for v7). There are three parameters to configure for
this plugin :
AjaXplorer Install Path : here you have to enter the full path to the AjaXplorer installation. "Full path" in the sense of the server filesystem. On Windows, it could be C:/Programs/ApacheData/html/ajaxplorer, or Linux more probably /var/www/html/AjaXplorer. In any cases, use "slashes" and not backslashes, and take care that names are case sensitive.
Secret Key : here you'll have to enter the "SECRET" you entered in the AjaXplorer conf.php configuration file. If it's not the same, it will (silently) not work.
Auto Create Users : This option is useful specially if you are installing this "bridge" when already managing many users in a Drupal installation. By default ("no"), Users will be created in AjaXplorer only by a Drupal administrator action of creating a Drupal users. Existing users will not be recognized by AjaXplorer. If you set to "Auto create", existing users will be automatically created when a user logs in to Drupal.
Save the module configuration.
3.3 Use!
Now everything should be connected,
and you can try the following : create an Administrator user and a
simple user in Drupal. Log in to Drupal as these user and check that
you are recognized in AjaXplorer, and further more, that the
administrator has AjaXplorer administration rights. If you want to
enable the guest mechanism in AjaXplorer, log out from Drupal and
check that you are recognized as "guest" in AjaXplorer.