Architecture Question: One code base, Multiple clients ?

Dec 6, 2008 at 3:39 PM

I went through the forum and there are a few post concerning supporting multiple blogs/clients using one code base.  I use BE.N for blogs/websites/apps (using pages, very nice). 

I'm working on a Standard Operating Procedure (SOP) for updating sites.  Here are my requirements:

  • Support multiple URLs
  • Support multiple subdomains
  • Each site has individual folder for data (for sites using XML storage) or
    Each site has individual tables (SQL Server sites, my clients don't want to mix their data)

Currently, here are my steps for updating clients:

  1. Notify clients
  2. Download BE.N build
  3. Add in custom widgets, user controls, controls, and extensions (all clients get everything, enable/disable per client)
  4. Add in custom themes (all clients get everything)
  5. Update Resource files (again all clients get everything)
  6. Using VS.Net, publish BE.N to a folder (engine is consistent for all clients)
  7. For each client, cloan the published folder
  8. For each client, sync storage (App_data) or SQL Server content locally
  9. Test each client locally
  10. Backup all clients
  11. Push new build for each client ( don't push storage/SQL Server - don't want to overright content)
  12. Post deployment testing for each client
  13. Notify clients

As you can see, there is effort to update all clients.  The biggest time saver is to use controls/extensions and don't modify the BE.N engine.  Create a consistent build for all clients.  Most of the work is making sure build works with all clients content. 

If BE.N could host multiple clients on one build, I would save time on step 7, 11, and 12.  What are your thoughts and would the architecture below be possible?  One copy of the engine supporting multiple clients? While each having their own storage?
   

Jan 21, 2009 at 12:40 PM
Brian, nice post, and just to let you know I'm already working at this very same architecture. Im right now in the final stage of developing, and then testing , but I assure you it works.

Victor
Jan 21, 2009 at 12:45 PM
Victor, if you would, please include me! I would like to see how you accomplished this. Brian. (briancarter@ChipSoftTech.com, http://brian.chipsofttech.com).

On Wed, Jan 21, 2009 at 7:40 AM, prideu2 <notifications@codeplex.com> wrote:

From: prideu2

Brian, nice post, and just to let you know I'm already working at this very same architecture. Im right now in the final stage of developing, and then testing , but I assure you it works.

Victor

Read the full discussion online.

To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)

To start a new discussion for this project, email blogengine@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


Jan 21, 2009 at 12:47 PM
No problem!, as soon as I finish it I'll post the resulting architecture.

Victor




From: [email removed]
To: [email removed]
Date: Wed, 21 Jan 2009 04:45:42 -0800
Subject: Re: Architecture Question: One code base, Multiple clients ? [blogengine:41646]


From: briancarter
Victor, if you would, please include me! I would like to see how you accomplished this. Brian. (briancarter@ChipSoftTech.com, http://brian.chipsofttech.com).

On Wed, Jan 21, 2009 at 7:40 AM, prideu2 <notifications@codeplex.com> wrote:
From: prideu2
Brian, nice post, and just to let you know I'm already working at this very same architecture. Im right now in the final stage of developing, and then testing , but I assure you it works.

Victor
Read the full discussion online.
To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)
To start a new discussion for this project, email blogengine@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com

Read the full discussion online.
To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)
To start a new discussion for this project, email blogengine@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


See all the ways you can stay connected to friends and family
Jan 21, 2009 at 12:47 PM
No problem!, as soon as I finish it I'll post the resulting architecture.

Victor




From: [email removed]
To: [email removed]
Date: Wed, 21 Jan 2009 04:45:42 -0800
Subject: Re: Architecture Question: One code base, Multiple clients ? [blogengine:41646]


From: briancarter
Victor, if you would, please include me! I would like to see how you accomplished this. Brian. (briancarter@ChipSoftTech.com, http://brian.chipsofttech.com).

On Wed, Jan 21, 2009 at 7:40 AM, prideu2 <notifications@codeplex.com> wrote:
From: prideu2
Brian, nice post, and just to let you know I'm already working at this very same architecture. Im right now in the final stage of developing, and then testing , but I assure you it works.

Victor
Read the full discussion online.
To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)
To start a new discussion for this project, email blogengine@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com

Read the full discussion online.
To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)
To start a new discussion for this project, email blogengine@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


Get news, entertainment and everything you care about at Live.com. Check it out!
May 24, 2009 at 5:53 PM

Victor - any update on how your implementation went?  I really need this capability if at all possible.

Thanks.

May 30, 2009 at 6:58 PM

A bit related. I've been experimenting with mojoPortal (will try BE later) using symlinks and site specific user.config files (using the file attribute of the appSettings section, see http://www.mojoportal.com/webconfig.aspx). Using relative symlinks, you can share the same codebase for all clients (yet have separate App_Data folders), and also have separate config files for each site. In the scenario described,most of the time, you'd only need to update the central code base, and upgrade site specific data (ie, run SQL upgrade scripts for each database, and any App_Data upgrades that might be needed). Most customer specific settings would pass transparently to the new version.

Jun 3, 2009 at 11:24 AM
Appears to be what I would like to see in BE.N.  Thanks for the note and I will check it out.  Brian.

On Sat, May 30, 2009 at 1:58 PM, zootie <notifications@codeplex.com> wrote:

From: zootie

A bit related. I've been experimenting with mojoPortal (will try BE later) using symlinks and site specific user.config files (using the file attribute of the appSettings section, see http://www.mojoportal.com/webconfig.aspx). Using relative symlinks, you can share the same codebase for all clients (yet have separate App_Data folders), and also have separate config files for each site. In the scenario described,most of the time, you'd only need to update the central code base, and upgrade site specific data (ie, run SQL upgrade scripts for each database, and any App_Data upgrades that might be needed). Most customer specific settings would pass transparently to the new version.

Read the full discussion online.

To add a post to this discussion, reply to this email (blogengine@discussions.codeplex.com)

To start a new discussion for this project, email blogengine@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com