Centralize Multiple Installs
Hi –
I run a freelancer website based on the RBS framework (Open source, located here: http://cogzidel.com/Products/RBS). My freelancers are too expensive for this project, so I need someone from here to do this (and other projects based on this script).
This script and my site use PHP/LAMP/CodeIgniter/MySQL technologies.
I have multiple installations already installed and running based off of primary domains and subdomains for what is considered three main site versions — US, UK, and International projects (internationalsite.com, samesite.us, sub1.samesite.us, sub2.samesite.us, samesite.co.uk, sub1.samesite.co.uk, etc.). These are ALREADY installed and working fine. BUT … at this time, I also have multiple admins and users need to sign up multiple times. 90% of the information in the databases of EACH working install is basically the same. There has to be a way to tie them all together and an easier system than this.
I want to bring these installations together and centralize EACH SITE VERSION on ONE database (the main database for that site version (US, UK, or Intl)). Unless you have a better idea or a better way to go about it, I currently feel that I want:
1. Freelancer/Client signs up at mainsite.us. This user confirms their email and is back at the main US site signing up. They select their state and choose their US city. If this user is in a city that has a sub-site (let’s say New York), then the user is then given an option (AJAX/Javascript) of signing up at both places (i.e., “mainsite.us” and “newyork.mainsite.us”). At that point the user is added to the sites they selected, all with the same login.
I don’t need US users and UK users and INTL users working on the same database at this time.
2. Feedback, user balances, profiles, notifications (messages and new projects), and logins etc. should all be the same on the mainsite.us site, as well as the city site they signed up to. Clients should also have the option to post projects for both the mainsite.us site AND the city.mainsite.us site THAT THEY ARE SIGNED UP FOR.
This script is built on PHP/CodeIgniter and ideally each site version should be based on ONE central install and ONE database (instead of 30). E.G., The US site and subdomains should be based off of the US files and install, the UK site and subdomains should be based off the UK files and install. This will require modifying the database and taking a look at the current installation for the subdomains to make this work for one site, and then we can just apply it to the other.
This means that a modification to the UK site files should affect ALL sites under this install, as they reference the same app and core directories, as well as language files (anyone familiar with CodeIgniter should understand this). The same goes for the US site. This also means that should be able to create a new city site any time (I can manage installations, config, database admin, and templating myself, so it’s ok).
Maybe I’m overcomplicating this, but the end result should be:
My two site versions (US, UK) should reference TWO central installs and have TWO central databases (one for each site version). The INTL site is fine, for now.
Users who sign up at both the UK version as well as the London site, for instance, should have the same feedback, account balances, notifications, etc. whether they are logged in to the london.mainsite.co.uk or mainsite.co.uk versions.
Clients and Freelancers CAN only sign up for, say, london.mainsite.co.uk IF THEY WANT to. So they should still have the option to log in like this, somehow.
Clients who post projects can post at both the main site and its subdomains if they so choose, or just one or the other.
The Admin for the main site (US, UK, or Intl) is the admin for the main site and all subdomains, somehow.
We’ll handle this mod/hack in a seperate install on my/your server — NOT live on my production site. Once I’ve seen it working, we can quickly back up the US site and give it a try live.
I can escrow to start the project and YOU NEED to work fast (you should have the idea, have already taken a look at the files/structure, and go into this already knowing what your approach is going to be).



