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-style-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:342459 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm