views:

55

answers:

2

Take for instance Yahoo Mail or Twitter. When someone signs up to use their service, they'll need to automatically deploy a new database, application folder and so on - I assume!

I am planning to write an PHP application to let people add and edit invoices. Good examples would be Zoho Invoice, http://www.getballpark.com/, etc. They sure would be deploying microsites for each customer wouldn't they?

How do you do this? Would it be PHP that will handle it, or some Linux based thing.

Or if I am wrong, correct me. Maybe they have just one huge database and manage their signups from one single application.

Please guide.

+1  A: 

Well most applications don't do that. Just imagine Twitter will have to deploy the whole Ruby on Rails Twitter application or the whole Yahoo Mail Server System for every single User.

You only choose the sollution you suggest if users really need to customize their app (like plugging in own modules or change core functionality). Usually a (more or less) simple User, user options (like themes) and ACL management (e.g. for the enabled modules) should be sufficient for most applications.

Daff
Would you have any examples of such scripts or frameworks that are available online? I would like to see how they are setup to manage such user accounts.
Sid Vel
Well pretty much every bigger PHP Framework has such mechanisms or at least an extensive tutorial on how to implement user and rights management like the Zend ACL compontent of the Zend framework: http://framework.zend.com/manual/en/zend.acl.html
Daff
+1  A: 

Usually, it is best to use one big database. Using a combination of primary keys, foregin keys, you can easily ensure that you only display data which a user's role entitles him to.

Extrakun
Would you be able to point me to an example of a PHP script or framework?
Sid Vel