Generally I have a 'sites' table in my db with some basic site level info, and a separate 'sitesUrls' table that then foreign keys to the sites table. My siteId is the autogenerated key for that site's record in the sites table.
Steve 'Cutter' Blades Adobe Certified Expert Advanced Macromedia ColdFusion MX 7 Developer ____________ http://blog.cutterscrossing.com Co-Author "Learning Ext JS 3.2" Packt Publishing 2010 https://www.packtpub.com/learning-ext-js-3-2-for-building-dynamic-desktop-style-user-interfaces/book "The best way to predict the future is to help create it" On 2/21/2011 10:38 AM, Rick Faircloth wrote: > Sounds like a good idea. > > So, to implement your approach, I would add a siteID into the database > info linked to a domain name? Just an abstract siteID as the main > identifier for the site variables, as opposed to using the site > domain name, right? > > Rick > > -----Original Message----- > From: Steve 'Cutter' Blades [mailto:[email protected]] > Sent: Monday, February 21, 2011 8:13 AM > To: cf-talk > Subject: Re: Feedback on this approach to "many sites, one codebase" (MSOC) > > > I tend to use a siteId, based upon the query return. I can then reuse > that ID for things like the folder name of a SiteSpecific media/assets > folder. If the site url changes, the siteId does not, eliminating future > heartaches. > > Steve 'Cutter' Blades > Adobe Certified Expert > Advanced Macromedia ColdFusion MX 7 Developer > ____________ > http://blog.cutterscrossing.com > > > Co-Author "Learning Ext JS 3.2" Packt Publishing 2010 > https://www.packtpub.com/learning-ext-js-3-2-for-building-dynamic-desktop-st > yle-user-interfaces/book > > "The best way to predict the future is to help create it" > > > On 2/17/2011 11:28 AM, Rick Faircloth wrote: >> Hi, all... >> >> I've been tinkering around the edges with >> "many sites, one codebase" (MSOC) for awhile and >> was interested in getting some feedback on an >> approach I'm taking. >> >> The most basic part is that I use the domain name >> to determine variable values for a site. >> >> I'll start with that. >> >> I use application.cfc to set up the following: >> >> <cfset this.name = "#cgi.server_name#"> >> >> Any issues with that? >> >> Then I have use the onApplicationStart cffunction to >> clear session and application variables. >> >> Then I use the cgi.server_name, determined from the >> URL visited by a user, of course, and run this query to get needed >> values for site variables from a database: >> >> <cfquery name = "qGetApplicationVariables" datasource="globalSiteManager"> >> >> select * >> from siteApplicationSettings >> where (select strcmp(siteName, '#cgi.server_name#')) = -1 >> >> </cfquery> >> >> Then, I set site variables as follows: >> >> <cfset application.dsn = > "#qGetApplicationVariables.applicationDSN#'> >> etc... >> >> At this point, I'm entering all a site's variables into a database > manually, >> although if I continue with this approach, I'll develop an automated >> solution. >> >> The site menu is determined also by values in a database for the site >> by using code such as the following: >> >> <cfset application.calendar = >> '#qGetApplicationVariables.applicationCalendar#'> >> >> If the qGetApplicationVariables.applicationCalendar value is 'yes', then > the >> menu item is shown, if it's 'no', then the menu choice is not shown. >> >> The last piece of this approach is setting path variables, etc, for image >> and >> document uploads, image paths, etc, with this type of code: >> >> <cfset application.userImagesPathAbsolute = >> '#qGetApplicationVariables.applicationUserImagesPathAbsolute#'> >> etc. >> >> This seems to be working fine so far... speed is good, etc., >> but I'd like to know, from those of you who have been down this road > before, >> if I'm heading for a show-stopping issue, or if this is a workable > solution. >> And, I'm really not interested in frameworks...not at this point. >> >> Thanks for taking the time to read this and offer any feedback. >> I'm just ready to develop some applications that I can sell *more than >> once*!! >> "Work smarter, not harder" approach. Watching people getting rich selling >> apps for $.99, such as "Angry Birds", is just killing me. I thought, > surely >> there has got to be a better way to be a freelancer than "one-off" > projects! >> Rick >> >> >> >> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:342469 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

