One of our client had its intranet environment build in Drupal 5x. They decided to migrate to Drupal 6.
Old Drupal 5 environment was a multi-site environment hosting three intranet website. The main website was common corporate intranet website and the other two were department specific websites lets name it as “depart1” and “depart2” of the purpose of this writing.
There was separate team to manage each of the site. The team managing the corporate site decided to move the infrasctructure to Drupal 6 while the other two departments had not planned yet for the move.
Old Folder Structure:
All the three sites were served from a common codebase lying in the /var/www/html. Each site had a different database and each site had several modules that were specific to their own needs.
The sites were servered from following urls
1. http://my.corporate.com/
2. http://my.corporate.com/depart1
3. http://my.corporate.com/depart2
Base site had its files folder in root while the two department sites had its own files folder. All the three sites shared a folder from the root /documents with several sub-folders where all site maintainers were uploading files from ftp. These files were linked in the content in all the three sites.
New Folder Structure:
/var/www/html/drupal6
/var/www/html/drupal5
Post Migration same URLs were to be maintained. So we moved /document folder of root to drupal6 folder and a symlink was created for the same in drupal5. httpd.conf file was edited to allow url http://my.corporate.com/ to be served from drupal6 folder.
URL of department sites was to be preserved so we created symlink for depart1 and depart2 in drupal6 and pointed them to drupal5 folder in root i.e. /var/www/html/drupal5.
Also created symlinks /drupal6/sites/my.corporate.com.depart1/ & /drupal6/sites/my.corporate.com.depart2/ and pointed them to /drupal5/sites/my.corporate.com.depart1/ & /drupal5/sites/my.corporate.com.depart2/ respectively.
Thus all the three sites were severed from their existing urls. So far so good.
Challenge
All the three sites were using TinyMCE & its FileManager plugin. That is where the problems started in depart1 & depart2 sites. When you open the File Manager plugin from TinyMCE Editor it will display all the files of /drupal6 so all authorization settings were not working. We changed TinyMCE FM configuration files to use Drupal authentication but now authentication will take you to the authentication of main corporate site. We changed settings in FM config file to use /depart1/auth_drupal.php & /depart2/auth_drupal.php.
Now both Drupal6 and Drupal5 sites exists peacefully.