Proposal – Live site, construction site

Locked
User avatar
japie1001
Joomla! Apprentice
Joomla! Apprentice
Posts: 17
Joined: Sat Oct 22, 2005 4:38 pm
Location: Netherlands
Contact:

Proposal – Live site, construction site

Post by japie1001 » Wed Mar 21, 2007 12:46 pm

I'm working out an Idea for The Summer of Code 2007.

I've put my proposal here because I'd like to know if you think this a good idea for the Summer of code. And what can be improved?

All feedback is welcome!

Proposal – Live site, construction site

The problem
When you have a live site and want to change your site, you have to make a change, look on your site if the change has gone well. If
not, you have to fix it. The problem is: Your visitors are seeing a site under construction, which sometimes will not work.

The solution (=my proposal)
You have a live site and a construction site. Visitors who visit your site see the live site. You (the administrator) can also see the construction site. You can change your construction site and if everything is perfectly working and perfectly looking, you press the “publish al changes in construction-site” in the Joomla-admin and the live site is updated. Your visitors haven’t seen a half working site while the changes where made.

The other solution (=a dirty work-a-round, not my proposal)
You create 2 databases and 2 joomla-sites. You point your domain to the first Joomla installation. You make the changes to the second site. When all changes are done, you point your domain to the second joomla-installation.

Disadvantages:
• Non-technical people can’t do this.
• Webdesign-businesses can’t let their clients do this.
• It costs more time.

Functional requirements
Enable/disable function
visitors can work with Joomla the way they used to do, and those who need this functionality can enable it.
• Components, modules and mambots can be installed in the construction-site, without affecting the live-site.
• Existing components, modules and mambots don’t have to be alternated to work with this function.

My idea how to implement it
Create a copy of all database tables, but with a different prefix. Also create  2 folders for components on the live-site and a folder for components in the construction-site.  So if there is an installation-query:

CREATE TABLE #__somecomponent

If this function is enabled, the following SQL query will be executed:

CREATE TABLE josconst_somecomponent

And when published to live site:

CREATE TABLE joslive_somecomponent

If this function is disabled it will work the way it is working now:

CREATE TABLE jos_somecomponent

The prefixes will also be changed this way in the $database->setQuery() function.

Advantages of this way of implementation:
• Third party developers don’t have to change their components to work with this function. All existing components don’t have to change.

Disadvantages of this way of implementation:
• This causes a double database size and almost double filesize on the server.

User avatar
willebil
Joomla! Guru
Joomla! Guru
Posts: 762
Joined: Thu Aug 18, 2005 12:06 pm
Location: Netherlands

Re: Proposal – Live site, construction site

Post by willebil » Wed Mar 21, 2007 9:06 pm

Project proposals need to be submitted to the Google application and not here. And to give you open feedback, you can aim a bit higher with your proposal...

(and don't forget to read the student guideline documentg)


Locked

Return to “Past Google Summer of Code Editions”