Combining 7 sites into a single "multiple-tree" site
Hi,
We have 7 sites that share an identical code base and identical database schema. The database content is approximately 50% "shared" (as in the same entry exists across multiple sites; not actually shared between sites) and 50% unique to each site.
We are considering trying to restructure the site so that there is one instance of sitefinity, and each of the 7 sites is a tree of pages below the root - ie domain.com/site-name-1, domain.com/site-name-2, etc...
What I am unclear about is the procedure for merging and managing the content. We do not want all of the content to immediately be available to every site - some of it will need to be segregated.
- What's the most efficient way to flag data as belonging to one or multiple sites? Is it a custom classifier, a database column (bool) for each site that we can check, etc?
- Will these flags, whatever they are, need to be added before or after we merge the databases?
- Is there a process by which we can merge the database automatically and have the flags populate per content piece based on the database of origin?
Thanks,
Stuart
Hi Stuart,
Thank you for using our services.
Sitefinity MultiSite is indeed a very convenient feature for the use case scenario you have pointed out.
We have implemented content sharing between sites based on our provider architecture, i.e. when you decide on sharing a particular module's content between sites Sitefinity will dynamically create an additional provider to serve these items in the destination site as well.
Regarding the SiteMap, actually each site is represented by a unique SiteMapRoot, and all pages under it are considered as belonging to this site. This logical separation is quite convenient for what you have pointed out as end functionality.
Currently there is no out of the box automated solution for merging multiple Sitefinity instances in a MultiSite instance. We have been working on an internal project for achieving this, however it's not fully tested and guaranteed to be covered as an out of the box feature. However if you would find it useful, I'm attaching the SQL script and instructions related to this approach, to this message.
Regards,
Boyan Barnev
Telerik
Hi Boyan,
I should have been more explicit: we are NOT using Sitefinity's Multisite feature because management does not want to increase licensing costs by an order of magnitude. Instead, we are building a single instance of Sitefinity that contains all of the code and content for each site, with each site being represented as a single page "tree", who's root page is "/sitename", with an overall homepage at "/".
We are taking all of the custom modules from the existing sites and importing the structure into the new instance. Then we are adding a custom "sites" classification to each module. We're working with Falafel Software to script the merging and automatic tagging of "sites" for each of the custom modules. We've also added "sites" as a custom field to events, since those will have to be segregated by site as well.
It's fairly easy for me to filter the custom modules by the site tag based on the url of the page requested. However, I do not see a way to filter the built-in Events widget by a custom classification. Is this something that's easy to configure, or should I just build a custom Events widget in MVC and do the filtering there?
Thanks,
Stuart
Multi-site costs MORE than 7 separate sites??
Something seems off there eh...
We only have two domains; the others are all subdomains which are free. So we're currently paying for two "Standard Edition" licenses: 2 x $2000 = $4000. Multisite for two domains was quoted at 2 x $25,000 - $10,000 (a discount for the second domain) = $40,000.
Oh god :) Wow....