This is the first post on how some of the ideas that I have written down in my little black book about Drupal.
The FireOrb project is the implementation of these ideas into a working CMS based from Drupal 4.7. So let's start with getting a true backend. One that can be translated seperately from the Frontend. One that does not attach itself to the frontends menu system.
I am going to start out by breaking off the URLs looking for administration. They will be redirected via .htaccess to a new directory and index.php file.
RewriteCond %{QUERY_STRING} ^q=admin/(.*)$
RewriteRule ^(.*)$ admin/index.php [L,QSA]
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Then I am going to place a little code in the index.php located in the directory "admin" to continue the processes. You will have to be sure to set the settings.php $base_url or the regular non-admin links will point to the wrong directory. So now the only thing remaining is to bootstrap again and do the code for a control panel.
<?php
$path = ''.dirname(__FILE__);
$path_arr = explode('/',$path);
array_pop($path_arr);
$admin_path = implode('/',$path_arr);
chdir($admin_path);
require($admin_path.'/includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$output = menu_execute_active_handler();
print '<div id="topbar-admin">Control Panel for FireOrb'.'</div>'. theme('page',$output).'<div id="topbar-admin">Control Panel for FireOrb'.'</div>';
?>
Now what is going to happen is whenever I surf to any URI below the "/admin" path then the index.php in the admin directory is used. Otherwise you get the installation root index.php. Óla! A complete and seperate backend. In this case I am still using the page.tpl.php but it is a simple matter to create and use another template file. Checking it out at the demo site [1] (admin/admin) you have a backend that looks like this:

This is a great step forward because now you can do things like have seperate languages for the frontend and backend. Change the menu layout with CSS to get that Joomla backend look. The best thing is that now I may be able to move part of modules so that they only respond to the backend location. Meaning that frontend hooks and backend hooks can be seperated for a possible performance gain.
The FireOrb code is of course truly alpha but many things work right out of the box without bugs. Now while I could submit this to the Drupal project I simply do not have the patience required for waiting a year to see the idea to come to fruition. It is easier to create a new CMS based on this code. That's it for now.
Welcome to the FireOrb project! Stay-tuned for some other code tips and features that just did not make it into Drupal but will be the basis for an entirely new CMS.
Happy Publishing!