anshuman.shandilya-aonhewitt wrote: 1) As we have new site for every client, we apply client specific CSS on the new site. All the classes in our CSS remain same for every client (site) but we change the attributes (eg. color from red to green). If we have different/new node in the same website, then how we apply different only on the node.
Assume you have www.abc.com which has a style sheet named abc.css in Development>Stylesheets. In that stylesheet simply use a few import statements and import the main site and sub site stylesheets. Then create your new node and make it a master page and select the xyz stylesheet in the general properties.
anshuman.shandilya-aonhewitt wrote: 2) We have created global custom settings and then we override one or more settings for every site/client. If we have a new node for a client then perhaps we have to create new set of settings for each client.
What kind of settings are you changing? Site setting? Web part settings?
anshuman.shandilya-aonhewitt wrote: 3) Also we load users specific to site/client. If we create new node in the same site then we have to map users with a client id in a separate table.
There is no need to do this assuming you have a 1 to 1 relationship. If one login can only belong to one "site" then just add a new field to the cms_user table and store that client id in there. If you don't want to store it in the cms_user table, then use the cms_usersettings. Either way, as long as it is a 1 to 1 relationship, no need for a x-ref table. Permissions can also be set to so only users of a particular role can access their node.
Again, I'm just thinking outside the box especially since they are sub sites of the main site. Kentico is very flexible and can be configured many ways.