RE: Advice and direction, please.
Google can index PDF files can't it? Why not install a Google search on your site and let it go to town on your directory structure? -Original Message- From: Ry Mittlestadt [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2008 11:18 AM To: CF-Talk Subject: Advice and direction, please. Hi All, I need a little help and direction with a project. Iââ¬â¢ve got 50+ .pdf ââ¬Ëjournals.ââ¬â¢ Each journal has 3 to 5 articles in it. We want to make the journalââ¬â¢s text searchable, and to be able to send (download) just the related article(s) instead of the whole journal. Weââ¬â¢re running CF8 and MySql on windows and we own the journals, so there arenââ¬â¢t any copyright issues. Question 1 ââ¬â Which search engine ââ¬â Verity or Google? We already use Verity on our site, but Google is pretty cool and powerful. Question 2 ââ¬â Where to store the pdfââ¬â¢s ââ¬â in a directory or in MySql? Iââ¬â¢ve gathered from other peopleââ¬â¢s posts that there are issues with MySqlââ¬â¢s BLOB data type. I donââ¬â¢t know exactly what those issues are - would I run into them storing pdfââ¬â¢s in MySql? Question 3 ââ¬â pdf files ââ¬â Should I save each article as a separate file (or record) or should I leave the articles in the journal and let CFPDF pull the particular article out? If youââ¬â¢ve had a similar project, what did you do and why? Thanks!! ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;192386516;25150098;k Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:307422 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice Survey or Polling Application
I have a feeling you will have trouble solving this problem off the shelf. Why not modify Ray's application to use client vars and a database? -Mark -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, January 07, 2008 8:58 AM To: CF-Talk Subject: Advice Survey or Polling Application All, Can anyone recommend a poll and survey application? For the survey application I tried to use Ray Camden's Soundings on our cluster and it requires we use sticky sessions. His application is great to say the least, however when we use sticky sessions another of our large applications stops working properly. I know, I shouold go fix the app and keep it in sticky sessions. It's just too big to fix right now. Thanks. D ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:295999 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice Using CFMail
Hi Joel This would no doubt cause some delay on your mail spool, I do recall that CF used to have a limit of 40 on the cc/bcc fields but I think this was fixed in version 5 upwards. I guess you could test it and see what happens, say to a gmail account. If you did go down the route of looping cfmail you could maybe cause a delay between each occurance of the tag by using say a udf to cause a pause in the code: http://www.cflib.org/udf.cfm/sleep Also be sure to keep your emails layout to a minimun / not html heavy etc. Sorry for the rushed response. HTH Jose Diaz On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: I have a forum in which users can subscribe to particular threads. When other users make replies, all users who are subscribed to the thread will receive an email (basic stuff, I know). My question is regarding what the best practice for handling this mailing should be. Currently, I am querying my db to get the emails of subscribed users. Using the listAppend function, I create a list of emails and pass it into the bcc field (I don't want every user to get the emails of every other subscribed user). Right now, this is not a problem as the user base is small. However, if it increases (and I expect it to very soon), I am wondering if this is the best way to do this. So my question is this: Would it be best to continue with what I am doing (list of addresses), and is there a certain limit to the number of addresses that can be in the bcc field? Or...should I loop over the cfmail tag itself, running the tag the same number of times as there are subscribed users? In this option, are there going to be significant performance issues if, say, there are 500 subscribed users (thus the cfmail tag running 500 times?) And, of course, there may be other ways to do this entirely that are better than either of these options. I am definitely open to those as well. Thanks! ~| Upgrade to Adobe ColdFusion MX7 The most significant release in over 10 years. Upgrade see new features. http://www.adobe.com/products/coldfusion?sdid=RVJR Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277733 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice Using CFMail
At the moment, I'm on Godaddy shared, so I'm not sure. However, I am going to be going the dedicated route soon and will be using mx7. You don't need to delay the emails anymore... What version of CF are you using? On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| Macromedia ColdFusion MX7 Upgrade to MX7 experience time-saving features, more productivity. http://www.adobe.com/products/coldfusion?sdid=RVJW Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277748 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice Using CFMail
Jose-- Thanks for the response. Creating a deliberate delay on the cfmail (with the udf you suggested), I assume, would be to keep the server from getting overloaded, correct? As to the heaviness of the email, it would be extremely light, containing only the text which the user has posted in the forum and a link to the thread. Thanks again for the response! Joel Hi Joel This would no doubt cause some delay on your mail spool, I do recall that CF used to have a limit of 40 on the cc/bcc fields but I think this was fixed in version 5 upwards. I guess you could test it and see what happens, say to a gmail account. If you did go down the route of looping cfmail you could maybe cause a delay between each occurance of the tag by using say a udf to cause a pause in the code: http://www.cflib.org/udf.cfm/sleep Also be sure to keep your emails layout to a minimun / not html heavy etc. Sorry for the rushed response. HTH Jose Diaz On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| ColdFusion MX7 by Adobe® Dyncamically transform webcontent into Adobe PDF with new ColdFusion MX7. Free Trial. http://www.adobe.com/products/coldfusion?sdid=RVJV Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277737 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice Using CFMail
I would be doing a loop, and I would also ask what version of CF if its CFMX6+ then cfmail its ok to use. But god forbid, I wouldn't use more than one email address for something like this in any one field To:, CC: or even BCC: The reason being and its very simple, you could be seen as a mass mailout and get blocked by many ISP's. However thats not to day that you might not with a cfloop either, but at least the emails when spooled will not go unless the server is idle reducing the time between emails being sent out. On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: I have a forum in which users can subscribe to particular threads. When other users make replies, all users who are subscribed to the thread will receive an email (basic stuff, I know). My question is regarding what the best practice for handling this mailing should be. Currently, I am querying my db to get the emails of subscribed users. Using the listAppend function, I create a list of emails and pass it into the bcc field (I don't want every user to get the emails of every other subscribed user). Right now, this is not a problem as the user base is small. However, if it increases (and I expect it to very soon), I am wondering if this is the best way to do this. So my question is this: Would it be best to continue with what I am doing (list of addresses), and is there a certain limit to the number of addresses that can be in the bcc field? Or...should I loop over the cfmail tag itself, running the tag the same number of times as there are subscribed users? In this option, are there going to be significant performance issues if, say, there are 500 subscribed users (thus the cfmail tag running 500 times?) And, of course, there may be other ways to do this entirely that are better than either of these options. I am definitely open to those as well. Thanks! ~| ColdFusion MX7 by Adobe® Dyncamically transform webcontent into Adobe PDF with new ColdFusion MX7. Free Trial. http://www.adobe.com/products/coldfusion?sdid=RVJV Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277738 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice Using CFMail
You don't need to delay the emails anymore... What version of CF are you using? On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: Jose-- Thanks for the response. Creating a deliberate delay on the cfmail (with the udf you suggested), I assume, would be to keep the server from getting overloaded, correct? As to the heaviness of the email, it would be extremely light, containing only the text which the user has posted in the forum and a link to the thread. Thanks again for the response! Joel Hi Joel This would no doubt cause some delay on your mail spool, I do recall that CF used to have a limit of 40 on the cc/bcc fields but I think this was fixed in version 5 upwards. I guess you could test it and see what happens, say to a gmail account. If you did go down the route of looping cfmail you could maybe cause a delay between each occurance of the tag by using say a udf to cause a pause in the code: http://www.cflib.org/udf.cfm/sleep Also be sure to keep your emails layout to a minimun / not html heavy etc. Sorry for the rushed response. HTH Jose Diaz On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| Macromedia ColdFusion MX7 Upgrade to MX7 experience time-saving features, more productivity. http://www.adobe.com/products/coldfusion?sdid=RVJW Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277739 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice Using CFMail
It depends on their spam rules, some isp's spam filters can see it as a mass mailout and consider you as a spammer. Its very rare but it can happen... Same as multiple email address in the fields can also be flagged as being spam as well. On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: Andrew-- That is a very good point; I had not thought of that. Why would an ISP block an email sent from a loop, if each to: field is unique and the cc: and bcc: are blank? Just curious, as I have very little knowledge of those issues. Thanks! I would be doing a loop, and I would also ask what version of CF if its CFMX6+ then cfmail its ok to use. But god forbid, I wouldn't use more than one email address for something like this in any one field To:, CC: or even BCC: The reason being and its very simple, you could be seen as a mass mailout and get blocked by many ISP's. However thats not to day that you might not with a cfloop either, but at least the emails when spooled will not go unless the server is idle reducing the time between emails being sent out. On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| Create robust enterprise, web RIAs. Upgrade integrate Adobe Coldfusion MX7 with Flex 2 http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277754 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice Using CFMail
Andrew-- That is a very good point; I had not thought of that. Why would an ISP block an email sent from a loop, if each to: field is unique and the cc: and bcc: are blank? Just curious, as I have very little knowledge of those issues. Thanks! I would be doing a loop, and I would also ask what version of CF if its CFMX6+ then cfmail its ok to use. But god forbid, I wouldn't use more than one email address for something like this in any one field To:, CC: or even BCC: The reason being and its very simple, you could be seen as a mass mailout and get blocked by many ISP's. However thats not to day that you might not with a cfloop either, but at least the emails when spooled will not go unless the server is idle reducing the time between emails being sent out. On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| Upgrade to Adobe ColdFusion MX7 Experience Flex 2 MX7 integration create powerful cross-platform RIAs http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJQ Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277749 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice Using CFMail
Do you see any fail-safe way around this to accomplish what I need to do? Or is it rare enough that the vast majority of my clients will be unaffected? Thanks It depends on their spam rules, some isp's spam filters can see it as a mass mailout and consider you as a spammer. Its very rare but it can happen... Same as multiple email address in the fields can also be flagged as being spam as well. On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| Upgrade to Adobe ColdFusion MX7 Experience Flex 2 MX7 integration create powerful cross-platform RIAs http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJQ Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277785 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice Using CFMail
No... Simply just do a cfloop around your cfmail and use the spool attribute and away you go. I doubt you will have a problem with your isp, but if you do then you can always ask them to filter your traffic through... But that is extreme case gone bad, which I doubt will happen. On 5/12/07, Joel Watson [EMAIL PROTECTED] wrote: Do you see any fail-safe way around this to accomplish what I need to do? Or is it rare enough that the vast majority of my clients will be unaffected? Thanks It depends on their spam rules, some isp's spam filters can see it as a mass mailout and consider you as a spammer. Its very rare but it can happen... Same as multiple email address in the fields can also be flagged as being spam as well. On 5/11/07, Joel Watson [EMAIL PROTECTED] wrote: ~| Deploy Web Applications Quickly across the enterprise with ColdFusion MX7 Flex 2 Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:277799 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Neil you regularly spout this tripe. Many of us in the FarCry community use FarCry for *very* large and complex installations every day. We often wonder how it is we ever managed with such a simplistic application framework. The proof is in the pudding -- when you build enterprise class applications time and time again with a product it stands to reason that you come to associate the platform as being enterprise. But then I guess it depends on what on earth the class of enterprise means to you. There's no clear definition for what makes something enterprise software, but I think that most people wouldn't categorize FarCry as enterprise software. Vendor support tends to be a feature of enterprise software, as well as conformance to various APIs, standards, etc, etc. Don't feel bad, though - most enterprise software sucks. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262736 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
If I understand correctly, a wildcard setup as you describe would require a dedicated IP for that particular domain, right? You could have two A records pointing to the same IP address, although that will break reverse lookups. One other thing... when you describe your method of setting up a development site by adding a new site with a host header, that's what I do to setup up a new site *using* IIS... you said you do that without fooling with IIS... ??? You'd still have to create the virtual server, but it would be simpler than creating the virtual server, binding it to an IP address, etc. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262739 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
You could have two A records pointing to the same IP address, although that will break reverse lookups. But other than creating two A records (and breaking reverse lookups, which I don't want to do because of the email issues), I wouldn't be able to implement a wildcard setup for a domain with a dedicated IP on a single domain server... is that correct? Could I not still use my single server and get an admin domain for the CMS app, and point the domain to a different IP (but the same server hardware), then use a wildcard host header for the CMS domain? Such as *.CMSdomain.com? Or would I have to enter a subdomain for each website...e.g., Bodaford.CMSdomain.com, Johnson.CMSdomain.com as host headers. Also, I'm still not sure why I couldn't (or maybe I could...things are getting a little confused here... :oP) use the same server I use now for serving sites, purchase an admin domain, point it to my current server, use a wildcard or specific host headers to point to the CMS site, and handle the app like that...??? I think I may be confused over what point proper DNS setup requires independent server hardware and software, and also a separate IP as opposed to what I've been doing the last several years...just running a single server (hardware and software) using a single IP and host headers. What aspects of what I'm trying to do requires going to a separate IP or server hardware and software, it at all? Rick -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED] Sent: Monday, December 04, 2006 11:46 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... If I understand correctly, a wildcard setup as you describe would require a dedicated IP for that particular domain, right? You could have two A records pointing to the same IP address, although that will break reverse lookups. One other thing... when you describe your method of setting up a development site by adding a new site with a host header, that's what I do to setup up a new site *using* IIS... you said you do that without fooling with IIS... ??? You'd still have to create the virtual server, but it would be simpler than creating the virtual server, binding it to an IP address, etc. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ ~| Create robust enterprise, web RIAs. Upgrade integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262764 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
To be fair, I did put forward FarCry for review as our potential replacement for an internal CMS, it didn't meet our criteria on a few counts but the main stumbling points were from the features the big boys in the company wanted and from info they read on cms watch etc. I can post what these were next week for debate :-) I like FarCry, a lot, but when I reviewed other systems it was good but not the best in other 'enterprise class' systems. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Geoff Bowers To: CF-Talk Sent: Sat Dec 02 05:16:57 2006 Subject: Re: Advice needed on how to proceed with app... Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. It's fortunate that you can rewrite the UI for every element of FarCry to make it as simplistic as you need. The zero programming effort, out of the box solution cannot be all things to all people, all the time. On 02/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. Neil you regularly spout this tripe. Many of us in the FarCry community use FarCry for *very* large and complex installations every day. We often wonder how it is we ever managed with such a simplistic application framework. The proof is in the pudding -- when you build enterprise class applications time and time again with a product it stands to reason that you come to associate the platform as being enterprise. But then I guess it depends on what on earth the class of enterprise means to you. geoff http://www.fullasagoog.com/ ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262576 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
To add, it wasn't just features of the product which I think should be classed as Enteprise, we looked that things like, can the vendor support the product 365/24/7 follow the sun, is the company viable financially to support it worldwide - what is their Gartner ratinng etc... This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Robertson-Ravo, Neil (RX) To: CF-Talk Sent: Sat Dec 02 08:01:09 2006 Subject: Re: Advice needed on how to proceed with app... To be fair, I did put forward FarCry for review as our potential replacement for an internal CMS, it didn't meet our criteria on a few counts but the main stumbling points were from the features the big boys in the company wanted and from info they read on cms watch etc. I can post what these were next week for debate :-) I like FarCry, a lot, but when I reviewed other systems it was good but not the best in other 'enterprise class' systems. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Geoff Bowers To: CF-Talk Sent: Sat Dec 02 05:16:57 2006 Subject: Re: Advice needed on how to proceed with app... Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. It's fortunate that you can rewrite the UI for every element of FarCry to make it as simplistic as you need. The zero programming effort, out of the box solution cannot be all things to all people, all the time. On 02/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. Neil you regularly spout this tripe. Many of us in the FarCry community use FarCry for *very* large and complex installations every day. We often wonder how it is we ever managed with such a simplistic application framework. The proof is in the pudding -- when you build enterprise class applications time and time again with a product it stands to reason that you come to associate the platform as being enterprise. But then I guess it depends on what on earth the class of enterprise means to you. geoff http://www.fullasagoog.com/ ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262577 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
It just adds another level of performance on large databases esp when the load is uneven. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Rick Faircloth To: CF-Talk Sent: Sat Dec 02 02:13:12 2006 Subject: RE: Advice needed on how to proceed with app... Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Maybe I'm not quite seeing your vision clearly. Hi, Josh... No, you've got the vision straight... I'll reconsider the database approach. I think I'm just remembering the pain it was to deal with the database when it was handling *every* part of the site... all graphics, text... everything. That was overkill... Now that I'm creating the sites separately, it probably would be better to maintain client data in similar tables, using Primary Foreign Keys to link the data to the site. I wonder if there's better database performance one way or the other? Seems like it would be quicker for a database to parse through data for only one site, rather than for any number of sites... but it certainly would be easier on me to create the db just once... probably go that route... Thanks for the feedback, Josh. Rick -Original Message- From: Josh Nathanson [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 5:24 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Maybe I'm not quite seeing your vision clearly. You could have a Clients table to hold that information, including their domain name or whatever...then in your actual site data table, have a foreign key for the ClientID. This would achieve the separation you're looking for, without having to worry about managing separate databases. So you'd have: Client Table ClientID (primary Key), Name, Domain, Address etc. SitePages Table ClientID (foreign Key), SitePageID (primary Key), PageContent etc. Listings Table (this is for Real Estate right?) ClientID (foreign Key), ListingID (primary Key), Address, SqFt, Price, Bedrooms etc. This would all be in a single database, and would be easier to maintain than creating separate databases for each client. -- Josh ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262579 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
I'd be interested in hearing a short list of those features... Let's get them added - at least as plugins :) -mark -Original Message- From: Robertson-Ravo, Neil (RX) [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 2:01 AM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... To be fair, I did put forward FarCry for review as our potential replacement for an internal CMS, it didn't meet our criteria on a few counts but the main stumbling points were from the features the big boys in the company wanted and from info they read on cms watch etc. I can post what these were next week for debate :-) I like FarCry, a lot, but when I reviewed other systems it was good but not the best in other 'enterprise class' systems. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Geoff Bowers To: CF-Talk Sent: Sat Dec 02 05:16:57 2006 Subject: Re: Advice needed on how to proceed with app... Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. It's fortunate that you can rewrite the UI for every element of FarCry to make it as simplistic as you need. The zero programming effort, out of the box solution cannot be all things to all people, all the time. On 02/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. Neil you regularly spout this tripe. Many of us in the FarCry community use FarCry for *very* large and complex installations every day. We often wonder how it is we ever managed with such a simplistic application framework. The proof is in the pudding -- when you build enterprise class applications time and time again with a product it stands to reason that you come to associate the platform as being enterprise. But then I guess it depends on what on earth the class of enterprise means to you. geoff http://www.fullasagoog.com/ ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262588 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice needed on how to proceed with app...
Rick Faircloth wrote: and send them all to that for content management. I found that using subdomains like this confuses many clients who think that www has to be in there somewhere, and they end up trying to go to www.REA.WhiteStoneMedia.com, which, of course, doesn't work and leads to phone calls from them trying to figure out why they can't access their sites... Why wouldn't it work? It only doesn't work if you don't configure it to work. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262597 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
You can pretty easily make www.rea.white Work. I do this routinely. If I add a subdomain intended for run of the mill users I also add a www. Entry for it in DNS and the host header as well... Another approach is to use a wildcard entry with a dedicated IP. -mk -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 10:16 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Now, after our little Farcry sidebar (which I have no plans to use, cause I like to build my own, even while simpler, at least I understand it and can troubleshoot it much easier)... back to my original question, or at least a continuation thereof... If I decide to take this approach: - Build Custom Front Ends - Build a CMS for all relevant sites to use - Build a database for each client's site The next question that comes to mind is how to structure the domains / subdomains for the CMS's. If I'm *only* doing a CMS for Real Estate agents, then I can create a subdomain for my domain, whitestonemedia.com, called REA.WhiteStoneMedia.com, and send them all to that for content management. I found that using subdomains like this confuses many clients who think that www has to be in there somewhere, and they end up trying to go to www.REA.WhiteStoneMedia.com, which, of course, doesn't work and leads to phone calls from them trying to figure out why they can't access their sites... If I build a CMS for churches (my next project) and their sites, then I could use a subdomain called, say, CMS.WhiteStoneMedia.com (Church Management System for this particular CMS acronym), and send my client's there for content management. Is this the way to go? Or should I have dedicated domains for each category of site, such as www.RealEstateSiteManager.com for agents and www.ChurchSiteManager.com for churches. It would be nice, and feel more personal to the client if I could tie their domain name into the CMS name, somehow. Perhaps this where Aliases in DNS come into play? Let's say I have a single site manager for Real Estate agents, then an agent's site called www.StrickfordHomes.com. For their site manager, I use a subdomain called cms.StrickfordHomes.com. I then use an alias and forward them to my overall CMS site for Real Estate agents, called REA.WhiteStoneMedia.com. Would that be a better approach? Or is there a better way (probably) that I haven't considered, yet? Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262598 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
Mark A Kruger wrote: You can pretty easily make www.rea.white Work. I do this routinely. If I add a subdomain intended for run of the mill users I also add a www. Entry for it in DNS and the host header as well... Another approach is to use a wildcard entry with a dedicated IP. I do this by rule, too, because a LOT of people *WILL* automatically type www. in front of any web address, because they think all web addresses have to start with that. I also find it annoying when companies don't put DNS records in for just domain.com, without the www. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262600 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
Well... I guess I could do it that way. I have always tried to keep the format they type in as close to what they will do instinctually, which is the xxx..xxx format. The extra dot format seems to confuse. But maybe it's really just the lack of www in there somewhere that confuses them. So, I could do that... do you think that is the best solution? Rick -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 11:53 AM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Rick Faircloth wrote: and send them all to that for content management. I found that using subdomains like this confuses many clients who think that www has to be in there somewhere, and they end up trying to go to www.REA.WhiteStoneMedia.com, which, of course, doesn't work and leads to phone calls from them trying to figure out why they can't access their sites... Why wouldn't it work? It only doesn't work if you don't configure it to work. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262601 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Another approach is to use a wildcard entry with a dedicated IP. Not sure I understand that... do you mean a wildcard entry for an IP for a particular CMS domain? Rick -Original Message- From: Mark A Kruger [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 11:55 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... You can pretty easily make www.rea.white Work. I do this routinely. If I add a subdomain intended for run of the mill users I also add a www. Entry for it in DNS and the host header as well... Another approach is to use a wildcard entry with a dedicated IP. -mk ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262602 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
You could also just go with admin.theirdomain.com or www.theirdomain.com/admin (which is what I do). Or just put an admin link on the front page =) I have a community web site software that I built back in 2001 where the authentication setup is the same for all users, you log into the home page, and if your account is flagged as an admin, then you get the admin link. (www.clicksitecommunities.com) Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262605 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Need some clarification... For this part: admin.theirdomain.com I know how to handle that in the DNS... I just add admin as a subdomain (I guess that's the correct term) for their domain. www.theirdomain.com/admin For the address above, how would I handle that in the DNS? Forwarding? If it's done by forwarding, I would then have to setup another domain or subdomain to forward to... I'm sure I'm missing something. It can't be that complicated. I think they will understand www.theirdomain.com/admin better than www.admin.theirdomain.com and therefore will have to call me less to get the address correct. And I probably will put a link on the front page of their sites. I've always put a Site Manager as the last link in the menu. It could less conspicuous, but I've never had any trouble with anyone hacking in... Rick -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 12:51 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... You could also just go with admin.theirdomain.com or www.theirdomain.com/admin (which is what I do). Or just put an admin link on the front page =) I have a community web site software that I built back in 2001 where the authentication setup is the same for all users, you log into the home page, and if your account is flagged as an admin, then you get the admin link. (www.clicksitecommunities.com) Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262607 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
The next question that comes to mind is how to structure the domains / subdomains for the CMS's. Rick, How about using DNS wildcard? Lots of app-as-a-service sites already use it. You can register a single generic sounding domain like realtoroffice.net. Then pre-append your client's company name on the URL like http:// Stickfordhomes.realtoroffice.net . This way, you do not need to manage any subdomains. Michael -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 8:16 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Now, after our little Farcry sidebar (which I have no plans to use, cause I like to build my own, even while simpler, at least I understand it and can troubleshoot it much easier)... back to my original question, or at least a continuation thereof... If I decide to take this approach: - Build Custom Front Ends - Build a CMS for all relevant sites to use - Build a database for each client's site The next question that comes to mind is how to structure the domains / subdomains for the CMS's. If I'm *only* doing a CMS for Real Estate agents, then I can create a subdomain for my domain, whitestonemedia.com, called REA.WhiteStoneMedia.com, and send them all to that for content management. I found that using subdomains like this confuses many clients who think that www has to be in there somewhere, and they end up trying to go to www.REA.WhiteStoneMedia.com, which, of course, doesn't work and leads to phone calls from them trying to figure out why they can't access their sites... If I build a CMS for churches (my next project) and their sites, then I could use a subdomain called, say, CMS.WhiteStoneMedia.com (Church Management System for this particular CMS acronym), and send my client's there for content management. Is this the way to go? Or should I have dedicated domains for each category of site, such as www.RealEstateSiteManager.com for agents and www.ChurchSiteManager.com for churches. It would be nice, and feel more personal to the client if I could tie their domain name into the CMS name, somehow. Perhaps this where Aliases in DNS come into play? Let's say I have a single site manager for Real Estate agents, then an agent's site called www.StrickfordHomes.com. For their site manager, I use a subdomain called cms.StrickfordHomes.com. I then use an alias and forward them to my overall CMS site for Real Estate agents, called REA.WhiteStoneMedia.com. Would that be a better approach? Or is there a better way (probably) that I haven't considered, yet? Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262609 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice needed on how to proceed with app...
On 12/2/06, Michael E. Carluen [EMAIL PROTECTED] wrote: The next question that comes to mind is how to structure the domains / subdomains for the CMS's. Rick, How about using DNS wildcard? Lots of app-as-a-service sites already use it. You can register a single generic sounding domain like realtoroffice.net. Then pre-append your client's company name on the URL like http:// Stickfordhomes.realtoroffice.net . This way, you do not need to manage any subdomains. Michael Be careful of wildcard settings on your sites. Yeah it's cool but Search Engins do not like it at all. The problem stems from Google, yahoo etc thinking there are more than one website with the exact same content. This of course means when someone goes to domain1.thedomain.com or domain2.thedomain.com they view the same index.cfm page as domain3.thedomain.com. Now of course if you use some #CGI.SERVER_NAME# lookups first, then set the content of index.cfm to match the domain in question you could be ok. You can even use wildcard for any site name, right... When a user registers to use your app, they get a pre-maid subdomain name from you and they can enter a domain name in their preferences and setup an A record that points to the IP address of this site. #CGI.SERVER_NAME# does a lookup on your customer table for the domain name and if it finds it with or without www. it's routed correctly. -- Casey ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262612 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
Casey Dougall wrote: Be careful of wildcard settings on your sites. Yeah it's cool but Search Engins do not like it at all. The problem stems from Google, yahoo etc thinking there are more than one website with the exact same content. This of course means when someone goes to domain1.thedomain.com or domain2.thedomain.com they view the same index.cfm page as domain3.thedomain.com. That doesn't really apply if you're using host headers. So domain1.domain.com and domain2.domain.com are completely different sites - even if they're running the same CFML code base. I can do this with BlogCFM - a single code base installed in a single web site can run multiple blogs (from a single database), where each blog has its own template and its own content - all based on CGI.HTTP_HOST. I could have a DNS wildcard set for *.myblogdomain.com, and have 3 different blogs, blog1.myblogdomain.com, blog2.myblogdomain.com and blog3.myblogdomain.com All running the same virtual host / web server. Now of course if you use some #CGI.SERVER_NAME# lookups first, then set the content of index.cfm to match the domain in question you could be ok. Right, and I think that's what he's talking about doing. Of course, if we're just talking about the admin, then it doesn't matter cuz you don't need the admin login page showing up in google anyway :) Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262614 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Now of course if you use some #CGI.SERVER_NAME# lookups first, then set the content of index.cfm to match the domain in question you could be ok. Right, and I think that's what he's talking about doing. Casey, Rick R.: Yes, that is what I meant. Rick F.: domain1.thedomain.com, domain2.thedomain.com, and www.thedomain.com all resolves to a single domain. Then, you can evaluate #CGI.SERVER_NAME# as a list with a . delimiter. You can then look at the first position to lookup your client's specific info in your database.If its domain1, then lookup the db for domain1's specific info (domain1 = clientid1). If its www, then redirect to a main website (Ricks page). If the list only contains 2 values (ie thedomain.com) then redirect like to the same page as the www. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262619 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
Maybe I'm misunderstanding the term DNS wildcard... can you explain what that is in your scenario? In the scenario you describe, I don't see a DNS wildcard that I understand, because I would be registering a domain for my CMS site, then pre-pending my client's company on the front, as you demonstrated with http://StickfordHomes.RealtorOffice.net. That would work, I just don't see what the wildcard part is... Also, StickfordHomes.RealtorOffice.net would be a subdomain of RealtorOffice.net... right? You must mean I wouldn't have to handle subdomains for each client... correct? Rick -Original Message- From: Michael E. Carluen [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 2:07 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... The next question that comes to mind is how to structure the domains / subdomains for the CMS's. Rick, How about using DNS wildcard? Lots of app-as-a-service sites already use it. You can register a single generic sounding domain like realtoroffice.net. Then pre-append your client's company name on the URL like http:// Stickfordhomes.realtoroffice.net . This way, you do not need to manage any subdomains. Michael ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262623 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Rick, An entry on the dns server for *.mydomain.com resolves any host that is not otherwise specified to that IP address. We do this for development subdomains. We have a domain with a wildcard entry that points to our busiest development server. When we need a new dev domain (which can happen 8 or 10 times in a week) we simply go to the server and add a new site with a host header It automatically resolves without fooling with IIS. If you had a wildcard entry you could simply add www.admin.mydomain.com + admin.mydomain.com plus any other *.mydomain.com to your host header list on the site. -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 11:45 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Another approach is to use a wildcard entry with a dedicated IP. Not sure I understand that... do you mean a wildcard entry for an IP for a particular CMS domain? Rick -Original Message- From: Mark A Kruger [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 11:55 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... You can pretty easily make www.rea.white Work. I do this routinely. If I add a subdomain intended for run of the mill users I also add a www. Entry for it in DNS and the host header as well... Another approach is to use a wildcard entry with a dedicated IP. -mk ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262624 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
We do exaclty this for a customer with affiliates. They actually share a single codebase. When a web request comes in we check out the first part of the domain string which is like affiliateid.domain.com (ie. 888.domain.com). From that information we can set up the properties of that affilaite site - pages, layout, session, application name Whatever we like. In this manner we can run 40 or 50 individual looking sites out of a single IIS site and single code base. It works fairly well - but naturally there are some trade offs. -mark -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 3:06 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Maybe I'm misunderstanding the term DNS wildcard... can you explain what that is in your scenario? In the scenario you describe, I don't see a DNS wildcard that I understand, because I would be registering a domain for my CMS site, then pre-pending my client's company on the front, as you demonstrated with http://StickfordHomes.RealtorOffice.net. That would work, I just don't see what the wildcard part is... Also, StickfordHomes.RealtorOffice.net would be a subdomain of RealtorOffice.net... right? You must mean I wouldn't have to handle subdomains for each client... correct? Rick -Original Message- From: Michael E. Carluen [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 2:07 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... The next question that comes to mind is how to structure the domains / subdomains for the CMS's. Rick, How about using DNS wildcard? Lots of app-as-a-service sites already use it. You can register a single generic sounding domain like realtoroffice.net. Then pre-append your client's company name on the URL like http:// Stickfordhomes.realtoroffice.net . This way, you do not need to manage any subdomains. Michael ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262625 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Be careful of wildcard settings on your sites. Yeah it's cool but Search Engines do not like it at all. The search engines wouldn't matter since the domain would only be for the CMS site. That's non-public anyway. The scenario you describe is a bit more complicated than what I was considering. When I say that I would be building custom websites, I essentially mean that I would handle not only the site design and development for the client, but I would also register their domain, if they needed one, and handle the DNS manually. I wouldn't know how to begin to build a site that automatically created the A records, etc. that would be needed. And virtually every client I would have around here would desire and require my handling of those matters. I don't anticipate this being a completely automated system for allowing clients to setup their own sites, and handle their DNS, etc. That would take me out of my custom site niche and be quite complicated, as well... I would also be using their login information to determine the client using the CMS and then their database name would be looked up in a central database for the CMS app and their database name would be assigned to a variable to be used throughout the CMS process. Looked up once in a query, then assigned to session variable, like Session.Database. I found out last time I tinkered with something like this not to assign any values to application variables, since they are shared with all users in an app, and to use session variables, instead. Sound good? Rick -Original Message- From: Casey Dougall [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 2:49 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Be careful of wildcard settings on your sites. Yeah it's cool but Search Engins do not like it at all. The problem stems from Google, yahoo etc thinking there are more than one website with the exact same content. This of course means when someone goes to domain1.thedomain.com or domain2.thedomain.com they view the same index.cfm page as domain3.thedomain.com. Now of course if you use some #CGI.SERVER_NAME# lookups first, then set the content of index.cfm to match the domain in question you could be ok. You can even use wildcard for any site name, right... When a user registers to use your app, they get a pre-maid subdomain name from you and they can enter a domain name in their preferences and setup an A record that points to the IP address of this site. #CGI.SERVER_NAME# does a lookup on your customer table for the domain name and if it finds it with or without www. it's routed correctly. -- Casey ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262626 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
Now of course if you use some #CGI.SERVER_NAME# lookups first, then set the content of index.cfm to match the domain in question you could be ok. Right, and I think that's what he's talking about doing. Exactly... Rick -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 3:07 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Casey Dougall wrote: Be careful of wildcard settings on your sites. Yeah it's cool but Search Engins do not like it at all. The problem stems from Google, yahoo etc thinking there are more than one website with the exact same content. This of course means when someone goes to domain1.thedomain.com or domain2.thedomain.com they view the same index.cfm page as domain3.thedomain.com. That doesn't really apply if you're using host headers. So domain1.domain.com and domain2.domain.com are completely different sites - even if they're running the same CFML code base. I can do this with BlogCFM - a single code base installed in a single web site can run multiple blogs (from a single database), where each blog has its own template and its own content - all based on CGI.HTTP_HOST. I could have a DNS wildcard set for *.myblogdomain.com, and have 3 different blogs, blog1.myblogdomain.com, blog2.myblogdomain.com and blog3.myblogdomain.com All running the same virtual host / web server. Now of course if you use some #CGI.SERVER_NAME# lookups first, then set the content of index.cfm to match the domain in question you could be ok. Right, and I think that's what he's talking about doing. Of course, if we're just talking about the admin, then it doesn't matter cuz you don't need the admin login page showing up in google anyway :) Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262627 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Rick F.: domain1.thedomain.com, domain2.thedomain.com, and www.thedomain.com all resolves to a single domain. Then, you can evaluate #CGI.SERVER_NAME# as a list with a . delimiter. You can then look at the first position to lookup your client's specific info in your database.If its domain1, then lookup the db for domain1's specific info (domain1 = clientid1). If its www, then redirect to a main website (Ricks page). If the list only contains 2 values (ie thedomain.com) then redirect like to the same page as the www. Just what I was thinking... thanks for the confirmation! Rick -Original Message- From: Michael E. Carluen [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 3:24 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262628 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
I see what you mean, I think... this was the first approach I took a couple of years ago when I started working on a multi-user website. I determined how everything on the site would look and work based on the CGI.Server_Name. It was a little more complicated that what I plan to do. I'm going to develop the sites independently, which will all work the same and have similarly structured databases. If the sites have no functional customization, I can use the same CMS for all, as well as just dump the SQL for an existing site, then import the SQL, including data, for a new database. Then I use the imported data as test data for the site. Then when I let the client in to the CMS, they get to learn the CMS by using the test data... at least that data that I don't clear out for them after the import. -Original Message- From: Mark A Kruger [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 4:21 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... We do exaclty this for a customer with affiliates. They actually share a single codebase. When a web request comes in we check out the first part of the domain string which is like affiliateid.domain.com (ie. 888.domain.com). From that information we can set up the properties of that affilaite site - pages, layout, session, application name Whatever we like. In this manner we can run 40 or 50 individual looking sites out of a single IIS site and single code base. It works fairly well - but naturally there are some trade offs. -mark ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262639 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
If I understand correctly, a wildcard setup as you describe would require a dedicated IP for that particular domain, right? Realize, that here, I have only one server right now, and only 1 IP. I want to add another server for development soon and will probably be adding another 4 IP's shortly. ( I need at least one more IP for SSL and one for development.) But right now, there's one server and, probably more significantly for what we're discussing, only 1 IP. So does having 1 IP make using a wildcard setting for a domain impossible? Would adding another IP with one server make it possible to use a wildcard? Or does using a wildcard require a dedicated IP on a dedicated server with only one domain? One other thing... when you describe your method of setting up a development site by adding a new site with a host header, that's what I do to setup up a new site *using* IIS... you said you do that without fooling with IIS... ??? Thanks for the advice... Rick -Original Message- From: Mark A Kruger [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 4:17 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Rick, An entry on the dns server for *.mydomain.com resolves any host that is not otherwise specified to that IP address. We do this for development subdomains. We have a domain with a wildcard entry that points to our busiest development server. When we need a new dev domain (which can happen 8 or 10 times in a week) we simply go to the server and add a new site with a host header It automatically resolves without fooling with IIS. If you had a wildcard entry you could simply add www.admin.mydomain.com + admin.mydomain.com plus any other *.mydomain.com to your host header list on the site. -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 11:45 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Another approach is to use a wildcard entry with a dedicated IP. Not sure I understand that... do you mean a wildcard entry for an IP for a particular CMS domain? Rick -Original Message- From: Mark A Kruger [mailto:[EMAIL PROTECTED] Sent: Saturday, December 02, 2006 11:55 AM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... You can pretty easily make www.rea.white Work. I do this routinely. If I add a subdomain intended for run of the mill users I also add a www. Entry for it in DNS and the host header as well... Another approach is to use a wildcard entry with a dedicated IP. -mk ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262640 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Building a feature rich CMS from the ground up will take a lot of work. I'm lazy at times, which is why I like to leverage the experience of other projects, especially open source, because they've already learned from the mistakes I'd probably make. One caveat: I've never used Farcry, but I've seen demos and have been impressed. Also, the farther you get away from CF 4.5, the harder it's going to be to upgrade. I'd suggest you start with CF 7 now. -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 2:51 PM It sounds like a workable solution. Once, I started building a single web app that included a single front-end website, single CMS, and a single database that would contain all info for every site, including all graphics, text, etc. That turned out to be too complicated to manage. I think this approach would be more workable for a one-man operation. And I know this sounds like a duh moment for many of you who have been doing this for a long time, but I've always been one who resisted reusing graphics, code (I do copy and paste *some* ;o), etc to make sure I am always learning. Coding from scratch and creating graphics from scratch always ensures that I'm starting with everything I know at the time, rather than just continuously copying what I knew 5 years ago. I'll still update the app to deploy knew things I learn, but this sounds like a reasonable compromise between custom work and reuse. EMF idahopower.com made the following annotations. -- This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. == ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262531 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Also, the farther you get away from CF 4.5, the harder it's going to be to upgrade. I'd suggest you start with CF 7 now. Thanks for the feedback, Jacob... I had thought about upgrading awhile back, but then the upgrade price from 4.5 to 7 jumped from about $600 to $1300 and that put a halt to the upgrade for the moment. Especially with CF 8 due out next year, I can't see spending $1300 now and another $600 next year to get into CF 8... Rick -Original Message- From: Munson, Jacob [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 5:02 PM To: CF-Talk Subject: RE: Advice needed on how to proceed with app... Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Building a feature rich CMS from the ground up will take a lot of work. I'm lazy at times, which is why I like to leverage the experience of other projects, especially open source, because they've already learned from the mistakes I'd probably make. One caveat: I've never used Farcry, but I've seen demos and have been impressed. Also, the farther you get away from CF 4.5, the harder it's going to be to upgrade. I'd suggest you start with CF 7 now. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262534 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice needed on how to proceed with app...
I had thought about upgrading awhile back, but then the upgrade price from 4.5 to 7 jumped from about $600 to $1300 and that put a halt to the upgrade for the moment. Especially with CF 8 due out next year, I can't see spending $1300 now and another $600 next year to get into CF 8... Oh, well if you're concerned about finances, that makes sense. Although, you can get the subscription option, which costs more, but it's less than paying for both CF 7 and CF 8 separately. But if you're waiting for CF 8 anyway, no sense in paying that much. I've got my fingers crossed that Adobe will pay attention to my blog entries and those of others lately that have discussed ways to have a free version of CF 8, and still be profitable. But I don't really think they'll do it. EMF idahopower.com made the following annotations. -- This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. == ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262535 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice needed on how to proceed with app...
Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Maybe I'm not quite seeing your vision clearly. You could have a Clients table to hold that information, including their domain name or whatever...then in your actual site data table, have a foreign key for the ClientID. This would achieve the separation you're looking for, without having to worry about managing separate databases. So you'd have: Client Table ClientID (primary Key), Name, Domain, Address etc. SitePages Table ClientID (foreign Key), SitePageID (primary Key), PageContent etc. Listings Table (this is for Real Estate right?) ClientID (foreign Key), ListingID (primary Key), Address, SqFt, Price, Bedrooms etc. This would all be in a single database, and would be easier to maintain than creating separate databases for each client. -- Josh - Original Message - From: Rick Faircloth [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Friday, December 01, 2006 1:51 PM Subject: Advice needed on how to proceed with app... Ok. so for about 10 years now, I've been making a living building websites, static and dynamic, as well as web apps. I've built them one at a time, always going back to the drawing board to recreate every page, form, and query from scratch. Mostly because I knew that once I started reusing code, it would be easy to fall into a rut and stop writing better code. However, the time has come for me to leverage what I've learned in CF (albeit CF 4.5) and develop some reusable applications that I can sell to more than one customer. (Market forces at work.) My first reusable app will be dynamic websites for Real Estate agents. What I'm after is some advice on the approach. My thinking so far: - Build custom designed websites (my niche) on the public side, rather than use one-size-fits-all cookie-cutter templates - However, instead of building the CMS end of the app from scratch, I figured I'd build a one-size-fits-almost-all CMS app for the Real Estate sites - The CMS would differentiate clients by their login info and, as we do with many app variables, I would tell the CMS which database to work with based on the login info. seems like it would be easier to recreate databases per client rather than try to manage one database for all the clients' data - So, in summary, I create custom websites (graphically), build one CMS app to handle adding, updating, and deleting data for the various sites, and use individual databases for each site (MySQL) It sounds like a workable solution. Once, I started building a single web app that included a single front-end website, single CMS, and a single database that would contain all info for every site, including all graphics, text, etc. That turned out to be too complicated to manage. I think this approach would be more workable for a one-man operation. And I know this sounds like a duh moment for many of you who have been doing this for a long time, but I've always been one who resisted reusing graphics, code (I do copy and paste *some* ;o), etc to make sure I am always learning. Coding from scratch and creating graphics from scratch always ensures that I'm starting with everything I know at the time, rather than just continuously copying what I knew 5 years ago. I'll still update the app to deploy knew things I learn, but this sounds like a reasonable compromise between custom work and reuse. I'll cut my teeth on this approach with CF 4.5, then move on to CF 8 when it comes out. Thoughts anyone? Thanks, Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262536 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice needed on how to proceed with app...
Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262544 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Rick Root To: CF-Talk Sent: Fri Dec 01 23:00:08 2006 Subject: Re: Advice needed on how to proceed with app... Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262545 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
Josh Nathanson wrote: Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Security, Backup/restore, code complexity, site portability. Multiple commercial clients on multiple web sites - even all on one server.. I want each of them to have their own database, their own datasource, etc. That's the security. If one client messes up his data in a massive way, it's a lot easier to restore HIS database and not worry about the other clients. Having to add a client ID to every method call - or at least to every query - adds a level of code complexity *AND* data complexity that simply isn't necessary. Site portability - most of the time, I build sites for my clients, and they own the sites - and the code. Even if I'm reusing my own code and giving them a discounted rate cuz I don't have to redevelop, they can still take their web site to another developer, another hosting company, etc. Unless you're building a massive production system where the benefits of having a single database outweigh the above issues.. I think it's a much better idea to have separate databases. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262546 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
Robertson-Ravo, Neil (RX) wrote: It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. Why not? It's a lot more powerful than your run of the mill php CMS systems that are open source, full commercial support is available for it, and it's got pretty much all the features you'd want an enterprise class CMS to have, especially from the level of workflows, approvals, and such. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262547 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice needed on how to proceed with app...
Well I don't see PHP as enteprise :-) I don't expect it to be listed on the cms watch as an Enterprise CMS - if it was to be listed it would no doubt be classed as low to mid end, I would expect. It is better than CommonSpot programatically that is for sure though, Having spent the best part of a year or so looking at CMS systems it doesn't compare to the Enteprise ones we evaluated (not all of them were good though... cough, VIgnette) - but it is in ColdFusion :-) This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Rick Root To: CF-Talk Sent: Fri Dec 01 23:12:37 2006 Subject: Re: Advice needed on how to proceed with app... Robertson-Ravo, Neil (RX) wrote: It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. Why not? It's a lot more powerful than your run of the mill php CMS systems that are open source, full commercial support is available for it, and it's got pretty much all the features you'd want an enterprise class CMS to have, especially from the level of workflows, approvals, and such. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262549 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
It's a lot more powerful than your run of the mill php CMS systems that are open source, full commercial support is available for it, and it's got pretty much all the features you'd want an enterprise class CMS to have, especially from the level of workflows, approvals, and such. Does Enterprise mean it won't work for average users? I mean one of the main purposes of CMS is to make things easy for non technical users. I've heard that the latest versions of Farcry are a lot more user friendly than it use to be. -- This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. == EMF idahopower.com made the previous annotations. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262552 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice needed on how to proceed with app...
Munson, Jacob wrote: Does Enterprise mean it won't work for average users? I mean one of the main purposes of CMS is to make things easy for non technical users. I've heard that the latest versions of Farcry are a lot more user friendly than it use to be. It would have to be =) No, enterprise doesn't mean it won't work for average users, but it OFTEN means it's a lot more complex than average users NEED. I've looked at Farcry twice now, once in the early 2.x releases, and once again when 3.0 was released. Both times I decided to stick with my home grown CMS, which is far less powerful, but a whole lot simpler to use *AND* to customize. I've thought about releasing it open source, but it's such a horrid piece of software, I'd be embarassed to release the source code :) Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262556 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Don't know anything about Farcry, but I do know that one thing I make sure my clients get is a *simple* to use app. The last app I built for an insurance company who didn't like the complexity of the insurance company management software it had purchased. The nice thing about web apps is I can make the functions, tied to links and page changes, very verbose and write the instructions, such as, Click here to do so and so... Very easy to follow and they like that and are willing to pay for it. Rick -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 6:00 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262563 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Some good points, Rick... Rick -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 6:07 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Josh Nathanson wrote: Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Security, Backup/restore, code complexity, site portability. Multiple commercial clients on multiple web sites - even all on one server.. I want each of them to have their own database, their own datasource, etc. That's the security. If one client messes up his data in a massive way, it's a lot easier to restore HIS database and not worry about the other clients. Having to add a client ID to every method call - or at least to every query - adds a level of code complexity *AND* data complexity that simply isn't necessary. Site portability - most of the time, I build sites for my clients, and they own the sites - and the code. Even if I'm reusing my own code and giving them a discounted rate cuz I don't have to redevelop, they can still take their web site to another developer, another hosting company, etc. Unless you're building a massive production system where the benefits of having a single database outweigh the above issues.. I think it's a much better idea to have separate databases. Rick ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262564 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice needed on how to proceed with app...
Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Maybe I'm not quite seeing your vision clearly. Hi, Josh... No, you've got the vision straight... I'll reconsider the database approach. I think I'm just remembering the pain it was to deal with the database when it was handling *every* part of the site... all graphics, text... everything. That was overkill... Now that I'm creating the sites separately, it probably would be better to maintain client data in similar tables, using Primary Foreign Keys to link the data to the site. I wonder if there's better database performance one way or the other? Seems like it would be quicker for a database to parse through data for only one site, rather than for any number of sites... but it certainly would be easier on me to create the db just once... probably go that route... Thanks for the feedback, Josh. Rick -Original Message- From: Josh Nathanson [mailto:[EMAIL PROTECTED] Sent: Friday, December 01, 2006 5:24 PM To: CF-Talk Subject: Re: Advice needed on how to proceed with app... Rick, the only thing I'm wondering is, why create a separate database for each client's site data. That seems to add a layer of complication that might not be needed. Maybe I'm not quite seeing your vision clearly. You could have a Clients table to hold that information, including their domain name or whatever...then in your actual site data table, have a foreign key for the ClientID. This would achieve the separation you're looking for, without having to worry about managing separate databases. So you'd have: Client Table ClientID (primary Key), Name, Domain, Address etc. SitePages Table ClientID (foreign Key), SitePageID (primary Key), PageContent etc. Listings Table (this is for Real Estate right?) ClientID (foreign Key), ListingID (primary Key), Address, SqFt, Price, Bedrooms etc. This would all be in a single database, and would be easier to maintain than creating separate databases for each client. -- Josh ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262565 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice needed on how to proceed with app...
Munson, Jacob wrote: Sounds like a good plan to me. The only suggestion I'd make is to look at something like Farcry for your CMS parts. Farcry is an enterprise CMS. Your average real estate agent will *NOT* be able to use it. It's fortunate that you can rewrite the UI for every element of FarCry to make it as simplistic as you need. The zero programming effort, out of the box solution cannot be all things to all people, all the time. On 02/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: It is a good CMS that is for sure, but I certainly wouldn't class it as Enterprise. Neil you regularly spout this tripe. Many of us in the FarCry community use FarCry for *very* large and complex installations every day. We often wonder how it is we ever managed with such a simplistic application framework. The proof is in the pudding -- when you build enterprise class applications time and time again with a product it stands to reason that you come to associate the platform as being enterprise. But then I guess it depends on what on earth the class of enterprise means to you. geoff http://www.fullasagoog.com/ ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262574 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice about query caching
Thanks everyone for your input. - Paul Hello everyone, First post here, so don't get too hard on me. I'm developping a small e-commerce application with less than 1000 products ( around 700). As far as I know, only product prices would be updated on a weekly basis. I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? or is it better to use Cachedwithin or CachedAfter options from CFquery ? your advice is more than welcome. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260145 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
Paul, You should never store database information into a memory variable unless it is within your shopping cart and then I would store it as a array. If you know for certain that only the prices would be updated weekly, and you know for certain on which day, I would use cachedwithin with a timeout of say 6 days. Hope this helps. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:05 AM Subject: Advice about query caching Hello everyone, First post here, so don't get too hard on me. I'm developping a small e-commerce application with less than 1000 products ( around 700). As far as I know, only product prices would be updated on a weekly basis. I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? or is it better to use Cachedwithin or CachedAfter options from CFquery ? your advice is more than welcome. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260056 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
Thanks Doug, Your feedback is greatly appreciated. Could you tell me why storing a recordset in an application variable is not recommended. I saw this technique used several times, and prefered over the cachedWithin method. Apparently it's easier to control, to flush the cache, and I guess you could use Cfqueryparam as well. But again, I'm quite confused with the two methods, as both are loaded in the memory anyway.. I guess if cachedWithin is here, it's probably for a good reason. Thanks again Doug :) Paul, You should never store database information into a memory variable unless it is within your shopping cart and then I would store it as a array. If you know for certain that only the prices would be updated weekly, and you know for certain on which day, I would use cachedwithin with a timeout of say 6 days. Hope this helps. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:05 AM Subject: Advice about query caching Hello everyone, First post here, so don't get too hard on me. I'm developping a small e-commerce application with less than 1000 products ( around 700). As far as I know, only product prices would be updated on a weekly basis. I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? or is it better to use Cachedwithin or CachedAfter options from CFquery ? your advice is more than welcome. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260057 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:55 AM Subject: Re: Advice about query caching Thanks Doug, Your feedback is greatly appreciated. Could you tell me why storing a recordset in an application variable is not recommended. I saw this technique used several times, and prefered over the cachedWithin method. Apparently it's easier to control, to flush the cache, and I guess you could use Cfqueryparam as well. But again, I'm quite confused with the two methods, as both are loaded in the memory anyway.. I guess if cachedWithin is here, it's probably for a good reason. Thanks again Doug :) Paul, You should never store database information into a memory variable unless it is within your shopping cart and then I would store it as a array. If you know for certain that only the prices would be updated weekly, and you know for certain on which day, I would use cachedwithin with a timeout of say 6 days. Hope this helps. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:05 AM Subject: Advice about query caching Hello everyone, First post here, so don't get too hard on me. I'm developping a small e-commerce application with less than 1000 products ( around 700). As far as I know, only product prices would be updated on a weekly basis. I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? or is it better to use Cachedwithin or CachedAfter options from CFquery ? your advice is more than welcome. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260058 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
It shouldn't have to be calling into the app scope for every request - only the first call - onApplicationStart (depending on how fresh you want the data). You would then have to control the flushing yourself. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Doug Brown To: CF-Talk Sent: Sun Nov 12 13:14:10 2006 Subject: Re: Advice about query caching Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:55 AM Subject: Re: Advice about query caching Thanks Doug, Your feedback is greatly appreciated. Could you tell me why storing a recordset in an application variable is not recommended. I saw this technique used several times, and prefered over the cachedWithin method. Apparently it's easier to control, to flush the cache, and I guess you could use Cfqueryparam as well. But again, I'm quite confused with the two methods, as both are loaded in the memory anyway.. I guess if cachedWithin is here, it's probably for a good reason. Thanks again Doug :) Paul, You should never store database information into a memory variable unless it is within your shopping cart and then I would store it as a array. If you know for certain that only the prices would be updated weekly, and you know for certain on which day, I would use cachedwithin with a timeout of say 6 days. Hope this helps. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:05 AM Subject: Advice about query caching Hello everyone, First post here, so don't get too hard on me. I'm developping a small e-commerce application with less than 1000 products ( around 700). As far as I know, only product prices would be updated on a weekly basis. I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? or is it better to use Cachedwithin or CachedAfter options from CFquery ? your advice is more than welcome. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260059 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice about query caching
But isn't the dataset set going to be a fresh one without using cachedwithin in regards to the query itself? If you say cfquery name=myName Datasource=#myDsn# SELECT * FROM products /cfquery Arent you making an unnecessary trip to the database if the dataset is already in server memory by using cachedwithin? - Original Message - From: Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 6:14 AM Subject: Re: Advice about query caching It shouldn't have to be calling into the app scope for every request - only the first call - onApplicationStart (depending on how fresh you want the data). You would then have to control the flushing yourself. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: Doug Brown To: CF-Talk Sent: Sun Nov 12 13:14:10 2006 Subject: Re: Advice about query caching Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:55 AM Subject: Re: Advice about query caching Thanks Doug, Your feedback is greatly appreciated. Could you tell me why storing a recordset in an application variable is not recommended. I saw this technique used several times, and prefered over the cachedWithin method. Apparently it's easier to control, to flush the cache, and I guess you could use Cfqueryparam as well. But again, I'm quite confused with the two methods, as both are loaded in the memory anyway.. I guess if cachedWithin is here, it's probably for a good reason. Thanks again Doug :) Paul, You should never store database information into a memory variable unless it is within your shopping cart and then I would store it as a array. If you know for certain that only the prices would be updated weekly, and you know for certain on which day, I would use cachedwithin with a timeout of say 6 days. Hope this helps. Doug B. - Original Message - From: Paul Boyd [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 4:05 AM Subject: Advice about query caching Hello everyone, First post here, so don't get too hard on me. I'm developping a small e-commerce application with less than 1000 products ( around 700). As far as I know, only product prices would be updated on a weekly basis. I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? or is it better to use Cachedwithin or CachedAfter options from CFquery ? your advice is more than welcome. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260060 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
Here is a quick shot of what I wanted to do, in its basic form. cffunction name=OnApplicationStart ! Store cfc and recordet at application startup cfscript application.objCfc = createObject(component, #variables.componentsPath#.myCfc); application.categories = application.objCfc.fnGetCategories(); application.products = application.objCfc.fnGetProducts(); /cfscript /cffunction I could after that use the request scope to avoid locking. As long as my application is running, I have the recordsets available in memory, and i can use QoQ to do all the drill down data manipulation. In other words, I would only have one database connection , during the application startup, if I understood correctly. If I need to refresh the cache, I would just recall the application variable which store the recordset and overwrite it. Does that make sens, or I'm loosing it ? But isn't the dataset set going to be a fresh one without using cachedwithin in regards to the query itself? If you say cfquery name=myName Datasource=#myDsn# SELECT * FROM products /cfquery Arent you making an unnecessary trip to the database if the dataset is already in server memory by using cachedwithin? - Original Message - From: Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] To: CF-Talk cf-talk@houseoffusion.com Sent: Sunday, November 12, 2006 6:14 AM Subject: Re: Advice about query caching It shouldn't have to be calling into the app scope for every request - only the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this until over the cachedWithin method. Apparently it's easier to control, to flush the cache, and I guess you could use Cfqueryparam as well. But again, I'm quite confused with the two methods, as both are loaded in unless it is within your shopping cart and then I would store it as a array. If you know for certain that only the prices would be updated weekly, and you know for certain on which day, I would use cachedwithin with a timeout of say for ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260061 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice about query caching
Huh? Once it's in the Application scope it can stay there for as long as you want. On 11/12/06, Doug Brown [EMAIL PROTECTED] wrote: Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. -- CFAJAX docs and other useful articles: http://www.bifrost.com.au/blog/ ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260062 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
Indeed, not that I would say holding a recordset in the app scope is good practice (unless, as stated, the freshness is not an issue) there are probably loads of apps out there which do it and with the lack of any best practice docs other than advice and preference it would probably work. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: James Holmes To: CF-Talk Sent: Sun Nov 12 13:50:29 2006 Subject: Re: Advice about query caching Huh? Once it's in the Application scope it can stay there for as long as you want. On 11/12/06, Doug Brown [EMAIL PROTECTED] wrote: Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. -- ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260063 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice about query caching
Oh agreed - it's often better use of resources to query the DB rather than to perform elaborate caching when each user needs different results etc. It depends on how big the query is, how much memory is in the server, where the DB is and so many other things. I usually cache the content resulting from the queries instead, using Ray's Scopecache. On 11/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: Indeed, not that I would say holding a recordset in the app scope is good practice (unless, as stated, the freshness is not an issue) there are probably loads of apps out there which do it and with the lack of any best practice docs other than advice and preference it would probably work. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: James Holmes To: CF-Talk Sent: Sun Nov 12 13:50:29 2006 Subject: Re: Advice about query caching Huh? Once it's in the Application scope it can stay there for as long as you want. On 11/12/06, Doug Brown [EMAIL PROTECTED] wrote: Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. -- ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260065 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice about query caching
It would need some memory metrics against it I suppose - what would be more efficient: a large 700 resultset residing in memory all the time or X amount of calls asking for said query on each request (it is required) which resides in memory for the duration of the request... Lots of factors to consider however such as scale, query freshness/size etc.. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: James Holmes To: CF-Talk Sent: Sun Nov 12 14:13:51 2006 Subject: Re: Advice about query caching Oh agreed - it's often better use of resources to query the DB rather than to perform elaborate caching when each user needs different results etc. It depends on how big the query is, how much memory is in the server, where the DB is and so many other things. I usually cache the content resulting from the queries instead, using Ray's Scopecache. On 11/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: Indeed, not that I would say holding a recordset in the app scope is good practice (unless, as stated, the freshness is not an issue) there are probably loads of apps out there which do it and with the lack of any best practice docs other than advice and preference it would probably work. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: James Holmes To: CF-Talk Sent: Sun Nov 12 13:50:29 2006 Subject: Re: Advice about query caching Huh? Once it's in the Application scope it can stay there for as long as you want. On 11/12/06, Doug Brown [EMAIL PROTECTED] wrote: Cachedwithin does load the dataset into server memory but stays there until it times out, and then refreshes. Setting it in the application scope requires you to query the database for the data to put into that scope and store it on every request. That is my understanding. -- ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260066 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice about query caching
I'm going to to quote Ben Forta (et al) here: ColdFusion is not a database server If you intend to do frequent, perhaps complex QoQ on the query in memory, you may be better off simply going to the DB. Multiple calls to the DB in a page will reuse the same DB connection and for most purposes CF will reuse the same connection again on subsequent requests from all of your pages. On 11/12/06, Paul Boyd [EMAIL PROTECTED] wrote: As long as my application is running, I have the recordsets available in memory, and i can use QoQ to do all the drill down data manipulation. In other words, I would only have one database connection , during the application startup, if I understood correctly. -- CFAJAX docs and other useful articles: http://www.bifrost.com.au/blog/ ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260067 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
I fully agree. Do you know of any good tools for memory metrics ? It would need some memory metrics against it I suppose - what would be more efficient: a large 700 resultset residing in memory all the time or X amount of calls asking for said query on each request (it is required) which resides in memory for the duration of the request... Lots of factors to consider however such as scale, query freshness/size etc.. This e-mail is from Reed Exhibitions (Gateway House, 28 The Quadrant, Richmond, Surrey, TW9 1DN, United Kingdom), a division of Reed Business, Registered in England, Number 678540. It contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this communication are not necessarily those expressed by Reed Exhibitions. Visit our website at http://www.reedexpo.com -Original Message- From: James Holmes To: CF-Talk Sent: Sun Nov 12 14:13:51 2006 Subject: Re: Advice about query caching Oh agreed - it's often better use of resources to query the DB rather than to perform elaborate caching when each user needs different results etc. It depends on how big the query is, how much memory is in the server, where the DB is and so many other things. I usually cache the content resulting from the queries instead, using Ray's Scopecache. On 11/12/06, Robertson-Ravo, Neil (RX) [EMAIL PROTECTED] wrote: Indeed, not that I would say holding a recordset in the app scope is good practice (unless, as stated, the freshness is not an issue) there are probably loads of apps out there which do it and with the lack of any best the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. If you have received this communication in error please return it to the sender or call our switchboard on +44 (0) 20 89107910. The opinions expressed within this and ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260068 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice about query caching
Could you tell me why storing a recordset in an application variable is not recommended. I saw this technique used several times, and prefered over the cachedWithin method. Apparently it's easier to control, to flush the cache, and I guess you could use Cfqueryparam as well. There is absolutely nothing wrong with caching recordsets in the Application, Session or Server scopes as appropriate. Like any sort of caching, you have to balance the pros and cons of the value of caching the specific variable in question, that's all. But again, I'm quite confused with the two methods, as both are loaded in the memory anyway.. I guess if cachedWithin is here, it's probably for a good reason. CACHEDWITHIN and CACHEDAFTER are there because they're very easy to use. It's easier to just drop those attributes into a CFQUERY tag than it is to write the logic needed to explicitly cache data in memory. The flip side of this is that CACHEDWITHIN/CACHEDAFTER give you less control. My general recommendation is that, if you're writing an application from scratch, you use Application/Session/Server scopes. If you're modifying an existing application, you should consider using CACHEDWITHIN/CACHEDAFTER. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260071 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice about query caching
You should never store database information into a memory variable unless it is within your shopping cart and then I would store it as a array. I'm sorry, but this is simply wrong. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260072 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Advice about query caching
I'm not too sure how to handle caching. So here is my question. Is it appropriate to store the products recordset in an application variable within onApplicationStart, and use QoQ for for data manipulation in my different templates ? Any query that has significant reuse potential as-is, you should cache. If you have to manipulate it with QoQ, the value of caching will decrease significantly, as QoQ doesn't perform nearly as well as a direct database query - your database has a very well-tuned query analyzer, and can take advantage of indexes, etc. or is it better to use Cachedwithin or CachedAfter options from CFquery ? Those options are easier to use, but give you less overall control. They allow specific timeout values, so it's a little easier to keep the in-memory data fresh. If you use Application/Session/Server, you have to write that logic yourself. But, frankly, that's not very hard to do, and it lets you easily handle freshening data when you want - when someone adds a new item, for example. You can write logic to do that with CACHEDWITHIN/CACHEDAFTER, but at that point you might as well just have used Application/Session/Server. And, of course, not being able to use CFQUERYPARAM in your CACHEDWITHIN/CACHEDAFTER queries is a big downside. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information! ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260073 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice about query caching
Paul, I think your method would certainly work, however my experience with e-commerce has been that the full recordset of products is almost never used. By using QoQ against your full recordset, you do limit yourself in some of the functions like true full-text searching that the database just does better (and performs better at) because that's what it was designed for. Add multiple SKU's, Upsells, and the like and now you have to have 2 or 3 QoQ's for every page request - something that could be accomplished in one query using JOIN's. I also think you open yourself up to problems down the road and make life harder instead of easier. Stock levels are one of those areas. I don't know what you're selling or if you have physical inventory, but depending on how your query/tables are structured, you're going to have build a bunch of additional functions to handle clearing and resetting the application variable whenever a product is sold. IMHO, CachedWithin in your query is a much more maintainable solution with fewer workarounds and pitfalls for you as the developer to worry about. Jon On Nov 12, 2006, at 7:37 AM, Paul Boyd wrote: I could after that use the request scope to avoid locking. As long as my application is running, I have the recordsets available in memory, and i can use QoQ to do all the drill down data manipulation. In other words, I would only have one database connection , during the application startup, if I understood correctly. If I need to refresh the cache, I would just recall the application variable which store the recordset and overwrite it. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:260076 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice on debugging
You can get browser plugins (esp. for Firefox) that help with JavaScript debugging. I think the favourite one is FireBug. For CF debugging, there are a couple of tools that you can pay for (FusionDebug and FusionReactor), but I've no idea how good they might be. Personally, for CF I mainly make use of appropriately placed CFDUMP and CFABORT tags, and for JS I rely on the JS/Error console, and again dumping out simple variables within alert()s. Hi, I would first like to say a big thank you to every one that has helped me over the last few weeks. I am new to coldfusion and this site has been awesome. The responses are very quick from people that have obviously been developing for a long time. You have really helped take the pressure of me and helped me understand internet applications, so thank you :) i would really appreciate some advice on using the debugging in CF. I have read the tutorials on debugging but would like some advice on the best use of the features that are available. Also, I have noticed that sometimes, especially with javascript, that if i have done something wrong in the code, it just doesnt work. Is there anyway i can make the page tell me where something has gone wrong? thanks for any advice ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:255145 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Advice on debugging
I'd also suggest using Firefox for javascript debugging. It's far more robust than IE's error messages (which are basically useless). As for debugging in Coldfusion, the cfdump tag is your friend! cfdump var=#FORM cfdump var=#queryName cfdump var=#myVariable cfdump var=#someStructure Each of those will output the contents of whatever variable you specify. For complex data types (queries, structures, arrays) you'll see a table containing name/value pairs. For simple data types, you'll just see a string representation of the value of that variable. There's also value using a plain ole cfoutput block to output variables. Sort of a poormans break point. Make use of the cfabort (cfabort) tag to halt processing so that you can inspect the values. Those are the main things that I use. !//-- andy matthews web developer certified advanced coldfusion programmer ICGLink, Inc. [EMAIL PROTECTED] 615.370.1530 x737 --//- -Original Message- From: Richard White [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 03, 2006 7:24 AM To: CF-Talk Subject: Advice on debugging Hi, I would first like to say a big thank you to every one that has helped me over the last few weeks. I am new to coldfusion and this site has been awesome. The responses are very quick from people that have obviously been developing for a long time. You have really helped take the pressure of me and helped me understand internet applications, so thank you :) i would really appreciate some advice on using the debugging in CF. I have read the tutorials on debugging but would like some advice on the best use of the features that are available. Also, I have noticed that sometimes, especially with javascript, that if i have done something wrong in the code, it just doesnt work. Is there anyway i can make the page tell me where something has gone wrong? thanks for any advice ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:255149 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Advice on debugging
Hi Richard, For ColdFusion MX debugging, I would highly recommend FusionDebug from Intergral. A link with a coupon code can be found on my site: http://www.centrasoft.com/fusiondebug.cfm For Javascript debugging, I would recommend FireBug for FireFox: https://addons.mozilla.org/firefox/1843/ There are also other JS debugger on the market too, and any one of them should be able to do most tricks. Heck, the JS debugger with IE (not sure if it's packaged because of Visual Studio being installed) is pretty decent at figuring out problems. I think it's important to remember that debugging CF code and JS code are two different things. The only time that they'll probably intersect is if you're building the JS dynamically using CF code, and even then, technically, they're still 2 separate processes of code to debug. hth, Brian Hi, I would first like to say a big thank you to every one that has helped me over the last few weeks. I am new to coldfusion and this site has been awesome. The responses are very quick from people that have obviously been developing for a long time. You have really helped take the pressure of me and helped me understand internet applications, so thank you :) i would really appreciate some advice on using the debugging in CF. I have read the tutorials on debugging but would like some advice on the best use of the features that are available. Also, I have noticed that sometimes, especially with javascript, that if i have done something wrong in the code, it just doesnt work. Is there anyway i can make the page tell me where something has gone wrong? thanks for any advice ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:255148 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice on debugging
hi brian, thanks for the reply. I will def check out the 2 products seeing as you recommend them very highly ;) Is it flash you have used to do alot of your site? If yes, then i have noticed you must have highly optimised the flash so that it isnt slow. I would love to learn how to optimise flash so that it does this. There is another developer www.liquidchrome.net, one of his sites www.patnic.com also prodomintely use flash, and i am amazed at how fast they are. would love it if you can provide me with a link to any discussions on this, thanks . thanks again for the links and the advice :) ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:255152 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Advice on debugging
thanks for the advice, it has been very helpful as i turned on the enable debugging in the coldfusion thinking that would help me, but noticed very quickly that it provided data that confused me and can only be used for certain things. I will check out the links and use cfdump and cfabort for most of the debugging thanks ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:255154 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: advice wanted regarding short notice
Isaac, I left Las Vegas about two years ago because there isn't much of a market for CF developers. Be warned that when your contract runs out, you may not be able to find another job. My advice to you would be to take things slow. If you are considering relocation, there are plenty of jobs for a developer of your caliber that won't require a pay cut. For example, in Pennsylvania, where I live, there are several pharmaceutical companies that are currently hiring for CF positions. -- Mike Wolfe -Original Message- From: S. Isaac Dealey [mailto:[EMAIL PROTECTED] Sent: Saturday, March 25, 2006 7:35 PM To: CF-Jobs-Talk Subject: advice wanted regarding short notice Hi, I have several recruiters who are supposed to contact me in the upcoming week. No offers, just several leads; 2 in Las Vegas, 2 in Ann Arbor MI (I have family there), one in Cleveland and 2 more in the DC Metro area. I've been focusing my efforts primarily on finding something in the DC Metro area with several challenges, including the fact that I don't have a degree and the fact that since it turned out I had to take a pay-cut to accept my last job, I'm still flat broke 5 months later and can't afford to pay up-front to move the 2 hours north to the DC area. Today I received a call from a recruiter with a job in northern Virginia (DC Metro). Asside from mentioning being impressed with my very niche resume, he described being in a real hurry to fill this job because the previous programmer told them yesterday without warning that he wouldn't be in the office on Monday because he'd accepted another job. I'm to check in to a hotel tomorrow afternoon/evening on their account so that I can interview with the client (Department of the Interior) on Monday. If I'm approved and accept the offer Monday, I would be on a 6 week contract at $45/hr starting Tuesday and they would pay all my hotel costs. The recruiter says that the project is expecting to be refunded soon (I assume 6 weeks) and he expects they would likely make me a permanent employee in the next month or two roughly coinciding with the funding, at which point there would be salary negotiation. Here's my list of my concerns: PRO: 1) government client, not requiring a degree and not requiring a security clearance (I'm not opposed to getting one, but it'll be nice if I don't have to put up with the hassle) 2) assuming the recruiter is being honest, it seems like this might be an easier way to overcome the issue of convincing a company in DC that I'm not only good enough to not need a degree at $80k but that it's worthwhile to advance me cash for relocation. 3) great rate -- I wonder about this tho because one of the jobs in Vegas is a 12 month contract where the cost of living is significantly lower and they're offering the same rate, so I wonder if I'm not getting $50 just because they're being cheap (although they are paying for the hotel if I accept the job). CON: 1) It seems not unlikely that there may be problems with the job -- the previous programmer leaving suddenly isn't confidence inspiring, although it's not proof of anything 2) If I decide to accept the job tomorrow, I have to pass up the opportunity to interview with and possibly consider several other offers in the next week or two (they'd want me to start Tuesday, so I wouldn't even be coming home between the interview and the job). 3) If the project isn't refunded, even at $45/hr I may be in serious financial distress after taking the next month to move us the two hours north. 4) The recruiter described my skills as being very niche. What bothers me mostly is that he said most of their government clients have been hiring .NET developers instead and seemed to imply (if not outright say) that ColdFusion is a dead/dying technology. I'm wondering if I should just blow this off as simple ignorance on the part of the recruiter or if I should take this as a bad omen. I have a phone interview with one of the companies in Vegas at 5pm tomorrow that will need to be taken from the hotel room. I'm also not sure how many other contacts I'll have to postpone until Tuesday at the earliest because I'll be unavailable tomorrow. I'm interested in hearing others thoughts on this. I'm having some buyers remorse about agreeing to the interview because I'm concerned that accepting the job may be another big mistake (like the last job I accepted), or that even if I don't accept the job that postponing contact with other recruiters until Tuesday may be problematic. Thanks, s. isaac dealey 434.293.6201 new epoch : isn't it time for a change? add features without fixtures with the onTap open source framework http://www.fusiontap.com http://coldfusion.sys-con.com/author/4806Dealey.htm ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:11:2960
Re: advice on structure and cfcs (petmarket related)
I would suggest that you look at the code that drives the MachII framework.It might give you some ideas on how CFCs can be used and what they are capable of doing.On that note (beware: shameless plug), you could also check out cfcUnit at SourceForge (http://sourceforge.com/projects/openxcf).It is another framework that is driven 100% with CFCs. stylo stylo wrote: I'm not interested in Fusebox, and MachII is a bit much to begin with, maybe later. I am worried, however, about the speed of MachII. I thought FB3 apps ran slowly, and MachII is apparently slower, no? I do have Ray's BlogCFC and need to look at it more, but, to be honest, at first glance I find the structure of it a bit confusing, what with all the folders and ini file, though I will certainly study it, especially the cfcs and flow of it. Thanks, Ray! [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
I wouldn't get too hung up on 'performance'... Sadly, I'd actually get more hung up on the coding, until I have more practice at it, but was thinking next app anyway. I was just going by the times shown in the comparison of fb3/fb4/machii/ontap floating around. And that some fb3 apps I've tried were quite slow. I figured if I could code something nice and clean somewhat along the lines of the petmarket it would be faster loading. Is that not the case? Thanks. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: advice on structure and cfcs (petmarket related)
I figured if I could code something nice and clean somewhat along the lines of the petmarket it would be faster loading. Is that not the case? Yes, you can nearly always write something that's architected completely towards your specific app that runs a smidgeon faster than something like FB or Mach-II, but in my experience: - overhead of the FB3 framework is usually of the order of a couple of milliseconds at most. Mach-II tends to be a little more, but usually no more than 10ms or so in production mode. If you set it into production mode and you're still getting overheads of 1s or more, then there's something wrong with your code, or DB, or server setup, or something similar - Sean's example of MM using Mach-II being a case in point. - Squeezing a few extra milliseconds out of a page execution time has to be balanced against the gains in maintainability, extensibility, development/debug times, and learning curve for new team members that you get from using a standard methodology - If your app is poorly thought out, rushed, or sloppily implemented, it'll probably run like a two-legged-dog on mogadon whether you're using FB3, FB4, Mach-II, XFB, Struts, CF-Objects or your own entirely custom architecture. Ditto for its maintainability, extensibility, bug-fixing, etc etc etc. Just my two pennorth. ( If this ends up as yet another my framework is better than your framework flame war, I'm off to the pub! ;) ) Cheers, Alistair Alistair Davidson Senior Technical Developer Headshift.com -- HEADSHIFT www.headshift.com T: 020 7357 7358 -- smarter simpler social Personal techie blog : http://instantbadger.blogspot.com [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: advice on structure and cfcs (petmarket related)
Not to mention most custom made solutions for small shortterm projects are not fast, because they aren't finetuned, evolved in any way, or the developers did not have the time to write a decent TO for the project. On such occasions you'd better take a machii framework, and use code which has all of the above. Micha Schopman Software Engineer Modern Media, Databankweg 12 M, 3821 ALAmersfoort Tel 033-4535377, Fax 033-4535388 KvK Amersfoort 39081679, Rabo 39.48.05.380 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
Thanks for the advice. I was looking at this chart: Avg. TTFB (ms) Framework20 threads150 threads MachII139312473 OnTap293912243 Fusebox 312709423 Fusebox 411448863 Does that chart not mean that under medium load MachII is 1/4 sec slower than FB4, and, under heavy load, MachII is about 4 seconds slower than FB4 (at least on this app)? Would have been nice to compare to some inline code as a base so as to know what the framework was adding. I understand the maintainibility trade-off, just trying to get a handle on how much trade-off. I actually prefer the MachII approach to FB, though I have a general dislike of how frameworks route everything through index.cfm and have nasty urls. I imagine there are workarounds for that, though. Thanks again. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
My CFC knowledge is limited at the moment, but if you want some good starting points to building an app with CFC's then downloand and check out Ray Camdens BlogCFC (http://www.camdenfamily.com/morpheus/blog/). If you're looking for a good way to structure your code then have you looked at frameworks like Mach-ii (www.mach-ii.com) or Fusebox 4 (www.fusebox.org) Hope this helps Andy I'm looking how to best structure an application and build it with cfcs. I'm looking at the petmarket example right now (cfml only, not the flash front end version). What do people feel in general about the way that application is structured? In particular, I'm wondering about the detailview.cfm which is called by the product.cfc detailview function and used to output the page. Isn't that a bad thing? I would have thought you would call from a page template a cfc to return query info on a product and output that. Anything else about this application in particular I should be aware of or wary of duplicating, as maybe there is a better method or better performance to be had another way? [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: advice on structure and cfcs (petmarket related)
I haven't seen the petmarket example, so I can't comment on that particular case, but I can say that - Yes, in general, that's a very bad thing. I'm not going to go into detail about WHY it's a bad thing, because I'll be rabbiting on for hours, but in practical it harms the flexibility, re-usability and maintainability of your code. The idea is to separate your backend from your frontend - or your Model from your Views, in MVC speak. This is achieved by an intermediary layer called the Controller. So your back-end CFCs are all self-contained - they don't know ANYTHING about the front-end display templates that actually define the interface. Fusebox ( www.fusebox.org http://www.fusebox.org/) was an attempt to achieve this degree of separation long before the advent of CFCs, Mach-II ( www.mach-ii.com http://www.mach-ii.com/) is probably the way to go if you want a standard way of doing it that harnesses the power of the CFC model. Hope that helps Al _ From: stylo stylo [mailto:[EMAIL PROTECTED] Sent: 10 August 2004 06:37 To: CF-Talk Subject: advice on structure and cfcs (petmarket related) I'm looking how to best structure an application and build it with cfcs. I'm looking at the petmarket example right now (cfml only, not the flash front end version). What do people feel in general about the way that application is structured? In particular, I'm wondering about the detailview.cfm which is called by the product.cfc detailview function and used to output the page. Isn't that a bad thing? I would have thought you would call from a page template a cfc to return query info on a product and output that. Anything else about this application in particular I should be aware of or wary of duplicating, as maybe there is a better method or better performance to be had another way? _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
I'm not interested in Fusebox, and MachII is a bit much to begin with, maybe later. I am worried, however, about the speed of MachII. I thought FB3 apps ran slowly, and MachII is apparently slower, no? I do have Ray's BlogCFC and need to look at it more, but, to be honest, at first glance I find the structure of it a bit confusing, what with all the folders and ini file, though I will certainly study it, especially the cfcs and flow of it. Thanks, Ray! [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
On Tue, 10 Aug 2004 12:37:04 -0400, stylo stylo [EMAIL PROTECTED] wrote: I'm not interested in Fusebox, and MachII is a bit much to begin with, maybe later. I am worried, however, about the speed of MachII. I thought FB3 apps ran slowly, and MachII is apparently slower, no? Macromedia has about a dozen Mach II applications on macromedia.com handling thousands of concurrent users with no problem so I wouldn't get too hung up on 'performance'... -- Sean A Corfield -- http://www.corfield.org/blog/ If you're not annoying somebody, you're not really alive. -- Margaret Atwood [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: advice on structure and cfcs (petmarket related)
I think it's worth noting that for development purposes MachII can be brutally slow if you've got debugging turned on. I found it a total pain in the butt that I had to wait upwards of 20 seconds in some cases for CFMX to get the page off the server when trying to debug a relatively large MachII app. Especially when the only change to any of the files was to make a single line modification in a file that was cached in application scope. ColdFusion provides a bunch of very handy things in the debug output and it's a real shame that MachII performance suffers so badly when it's turned on. Regards Spike Stephen Milligan Code poet for hire http://www.spike.org.uk Do you cfeclipse? http://cfeclipse.tigris.org -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sean Corfield Sent: Tuesday, August 10, 2004 11:54 AM To: CF-Talk Subject: Re: advice on structure and cfcs (petmarket related) On Tue, 10 Aug 2004 12:37:04 -0400, stylo stylo [EMAIL PROTECTED] wrote: I'm not interested in Fusebox, and MachII is a bit much to begin with, maybe later. I am worried, however, about the speed of MachII. I thought FB3 apps ran slowly, and MachII is apparently slower, no? Macromedia has about a dozen Mach II applications on macromedia.com handling thousands of concurrent users with no problem so I wouldn't get too hung up on 'performance'... -- Sean A Corfield -- http://www.corfield.org/blog/ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
On Tue, 10 Aug 2004 13:01:03 -0700, Spike [EMAIL PROTECTED] wrote: I think it's worth noting that for development purposes MachII can be brutally slow if you've got debugging turned on. Only if you have CF reporting execution times. If you turn execution times off, debugging isn't too bad. -- Sean A Corfield -- http://www.corfield.org/blog/ If you're not annoying somebody, you're not really alive. -- Margaret Atwood [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: advice on structure and cfcs (petmarket related)
That's not been my experience. I just tested one of my apps with debug mode turned on and execution times turned off. First page hit was 40 seconds presumably because CFMX was compiling the CFML. Subsequent pages took between 10 and 12 seconds. With execution times turned on, the page execution time took about 30% longer, but the debugging information took up to a minute to render. IMO 10-12 seconds is too slow. The same page with debugging turned off takes around 4 seconds when MachII config mode is set to reload on every request. With debugging completely turned off and the MachII config mode set to not automatically reload, the page execution time is around 200 ms. All of the above execution times are based on a request timer using getTickCount() rather than the ColdFusion debug output times. The app I ran these tests on is not particularly complex or large. Spike Stephen Milligan Code poet for hire http://www.spike.org.uk Do you cfeclipse? http://cfeclipse.tigris.org -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sean Corfield Sent: Tuesday, August 10, 2004 12:21 PM To: CF-Talk Subject: Re: advice on structure and cfcs (petmarket related) On Tue, 10 Aug 2004 13:01:03 -0700, Spike [EMAIL PROTECTED] wrote: I think it's worth noting that for development purposes MachII can be brutally slow if you've got debugging turned on. Only if you have CF reporting execution times. If you turn execution times off, debugging isn't too bad. -- Sean A Corfield -- http://www.corfield.org/blog/ If you're not annoying somebody, you're not really alive. -- Margaret Atwood [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice on structure and cfcs (petmarket related)
On Tue, 10 Aug 2004 13:45:11 -0700, Spike [EMAIL PROTECTED] wrote: That's not been my experience. ... With execution times turned on, the page execution time took about 30% longer, but the debugging information took up to a minute to render. IMO 10-12 seconds is too slow. I agree. I was merely repeating what I'd heard other says on lists and blogs without testing it myself. Mea culpa. I don't use CF's debugging for anything so I've never had a problem with execution times... The same page with debugging turned off takes around 4 seconds when MachII config mode is set to reload on every request. With debugging completely turned off and the MachII config mode set to not automatically reload, the page execution time is around 200 ms. Not sure what machine you're running on but I see 30-50ms for a simple Mach II app on my PowerBook G4. YMMV. The twenty-fold increase you see when reloading the config and CFCs on every request sounds not unreasonable, depending on application complexity (I see a jump from 30-50ms to about a second when I reload on every request - for a simple app). We have complex apps where execution times are several seconds when using reload-every-time mode. FWIW, we normally develop with 'dynamic' mode (only reload when mach-ii.xml changes) although, as indicated in the Mach II Development Guide, we have a force reload URL parameter available in non-production environments if we need it. -- Sean A Corfield -- http://www.corfield.org/blog/ If you're not annoying somebody, you're not really alive. -- Margaret Atwood [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Advice for CF Query and Schema
Ian, You need to have a field (a foreign key) in your second table that corresponds to the info in your first table. So, your courseoutline table looks like so: ID (primary key) Title Summary Owner Coursepath Then, your iteccource looks like so: ID (primary key) courseoutlineID (foreign key to courseoutline) coursedate duration availability owner To join them, it'd be a simple query: SELECT o.title, o.summary, o.coursepath, i.coursedate, i.duration, i.availability FROM outlinecourse o, iteccourse i WHERE o.id = i.courseoutlineid ANDcoursedate sysdate (That last line is going to vary depending on your database platform, so consider that pseudocode. Also, if you're using something that supports the standard inner join syntax, you might want to use that instead of my version, which works in Oracle.) You don't need to repeat the title in the iteccourse table, as it's available in the courseoutline table. - Original Message - From: Ian Vaughan I am trying to design two databases that share a relationship that contains information for online training courses. So in the first table courseoutline they would use a html form to add the course information to the db such as ID = 1 Course Title =i.e. Windows 2000 Course Summary = Summary of Course in this field Owner = automatically populated through session name variables. Coursepath - contains word doc containing course contents uploaded via cffile In the second table iteccourse they would use a form to add the course dates and availability to the db such as CourseID = 1 Course Title = Selected from form select field populated using CFwith entries from the course title field in the courseoutline db. Coursedate = 17 July 2004 Duration = 3 Days Availability = Yes/ Full Owner = automatically populated through session name variables. Then in the detail page of the training site what coldfusion query would be needed so that if I just wanted to view upcoming Windows 2000 courses it would bring back the related coursepath for that course?? Any ideas on the best way to achieve this - or could my table schema be improved ?? I appreciate your views and help [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: Advice for CF Query and Schema
Deanna Ok thanks, when adding a new course to the iteccourse database, how would I get the correct value to place into the courseoutlineID (foreign key to courseoutline) field Because when adding a new course to the iteccourse database, the user would have to select the course titlefrom a form select list otherwise the admin user would not know what course they are adding ??? From: Deanna Schneider [mailto:[EMAIL PROTECTED] Sent: 14 July 2004 12:45 To: CF-Talk Subject: Re: Advice for CF Query and Schema Ian, You need to have a field (a foreign key) in your second table that corresponds to the info in your first table. So, your courseoutline table looks like so: ID (primary key) Title Summary Owner Coursepath Then, your iteccource looks like so: ID (primary key) courseoutlineID (foreign key to courseoutline) coursedate duration availability owner To join them, it'd be a simple query: SELECT o.title, o.summary, o.coursepath, i.coursedate, i.duration, i.availability FROM outlinecourse o, iteccourse i WHERE o.id = i.courseoutlineid ANDcoursedate sysdate (That last line is going to vary depending on your database platform, so consider that pseudocode. Also, if you're using something that supports the standard inner join syntax, you might want to use that instead of my version, which works in Oracle.) You don't need to repeat the title in the iteccourse table, as it's available in the courseoutline table. - Original Message - From: Ian Vaughan I am trying to design two databases that share a relationship that contains information for online training courses. So in the first table courseoutline they would use a html form to add the course information to the db such as ID = 1 Course Title =i.e. Windows 2000 Course Summary = Summary of Course in this field Owner = automatically populated through session name variables. Coursepath - contains word doc containing course contents uploaded via cffile In the second table iteccourse they would use a form to add the course dates and availability to the db such as CourseID = 1 Course Title = Selected from form select field populated using CF with entries from the course title field in the courseoutline db. Coursedate = 17 July 2004 Duration = 3 Days Availability = Yes/ Full Owner = automatically populated through session name variables. Then in the detail page of the training site what coldfusion query would be needed so that if I just wanted to view upcoming Windows 2000 courses it would bring back the related coursepath for that course?? Any ideas on the best way to achieve this - or could my table schema be improved ?? I appreciate your views and help [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Advice for CF Query and Schema
You'd pass the id instead of the title select name=courseid size=1 option value=1Some Course Title/option option value=2Some Other Course Title/option /select - Original Message - From: Ian Vaughan [EMAIL PROTECTED] To: CF-Talk [EMAIL PROTECTED] Sent: Wednesday, July 14, 2004 8:20 AM Subject: RE: Advice for CF Query and Schema Deanna Ok thanks, when adding a new course to the iteccourse database, how would I get the correct value to place into the courseoutlineID (foreign key to courseoutline) field Because when adding a new course to the iteccourse database, the user would have to select the course titlefrom a form select list otherwise the admin user would not know what course they are adding ??? From: Deanna Schneider [mailto:[EMAIL PROTECTED] Sent: 14 July 2004 12:45 To: CF-Talk Subject: Re: Advice for CF Query and Schema Ian, You need to have a field (a foreign key) in your second table that corresponds to the info in your first table. So, your courseoutline table looks like so: ID (primary key) Title Summary Owner Coursepath Then, your iteccource looks like so: ID (primary key) courseoutlineID (foreign key to courseoutline) coursedate duration availability owner To join them, it'd be a simple query: SELECT o.title, o.summary, o.coursepath, i.coursedate, i.duration, i.availability FROM outlinecourse o, iteccourse i WHERE o.id = i.courseoutlineid ANDcoursedate sysdate (That last line is going to vary depending on your database platform, so consider that pseudocode. Also, if you're using something that supports the standard inner join syntax, you might want to use that instead of my version, which works in Oracle.) You don't need to repeat the title in the iteccourse table, as it's available in the courseoutline table. - Original Message - From: Ian Vaughan I am trying to design two databases that share a relationship that contains information for online training courses. So in the first table courseoutline they would use a html form to add the course information to the db such as ID = 1 Course Title =i.e. Windows 2000 Course Summary = Summary of Course in this field Owner = automatically populated through session name variables. Coursepath - contains word doc containing course contents uploaded via cffile In the second table iteccourse they would use a form to add the course dates and availability to the db such as CourseID = 1 Course Title = Selected from form select field populated using CF with entries from the course title field in the courseoutline db. Coursedate = 17 July 2004 Duration = 3 Days Availability = Yes/ Full Owner = automatically populated through session name variables. Then in the detail page of the training site what coldfusion query would be needed so that if I just wanted to view upcoming Windows 2000 courses it would bring back the related coursepath for that course?? Any ideas on the best way to achieve this - or could my table schema be improved ?? I appreciate your views and help [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: Advice on Max number of files in a dir.
I am using CFCONTENT to retrieve photos stored off of the root directory. I didn't think the site would grow so fast, and I have been allowing users to upload all of the images to one folder. I am now at about 6000 images and am woried about performance issues both with CFCONTENT and Win2k. I would recommend that you reorganize your files using some easily understood directory scheme. For example, you might create year and month directories. What is the maximum number of files allowable in a Win2k directory? 10,000? To the best of my knowledge, there's no specific limit on a single directory. There is a limit on how many files can be within a single volume. For Windows Server 2003, that's 4,294,967,295 files. I'm pretty sure that's the same in Windows 2000 - I don't think NTFS has changed between versions. http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/deploy guide/en-us/Default.asp?url=""> ployguide/en-us/sdccc_fsv_duel.asp However, you will find that lots of operations get slower when you have lots of files within a single directory. I ran into performance problems on my laptop with 50,000 files in a directory. Some operations were still quite fast - locating a specific file by name within a program using CFINCLUDE, for example - while anything involving the Windows GUI was intolerably slow. Browsing the directory via the command line was also pretty slow. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ phone: 202-797-5496 fax: 202-797-5444 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: Advice on Max number of files in a dir.
I would recommend that you reorganize your files using some easily understood directory scheme. For example, you might create year and month directories. Yep, subsequent projects used a directory scheme based on filenames (which themselves have a naming system). We decided on 100 files per directory, since we also have an app that dumps the entire directory content to the browser. Using an image server, the 100 images take about 20-25 seconds to load up in thumbnail size on a broadband connection. Adequate! George [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: advice need on multi-version data model design
Nick Han said: I am more interested in database design help.What I am thinking right now is right after the deadline, before the reviewer making changes, I dup the db schema and back that up, and the current schema will have the current data, including changes made by the reviewer. If there is dispute and I need to compare original version and edited version, I can toggle my variable that has the schema name? I think there is a better way: never update records :-) Instead of updating, insert a new record and timestamp it. If you just show the latest version as the working version in the frontend nobody knows the difference, but you can track all revisions in the background if you want to. (This is the same solution as Barney proposed, but with a slightly different angle on the explanation.) Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: advice needed on multi-version data model design
Jochem, I am not sure this will work, since there are about 30 tables in the schema and each table has various relationships with one another.During the review process, the reviewer can quit anytime and maybe come back later to resume on it.Having said that, there are several starting points in the review process, meaning the reviewer could start out looking and making changes to the financial information page, which 3 or 4 pages down from the submiter's contact info page.By 'inserting new records' to the financial table right off the bat, I would get a database referential integrity error, because the financial table primary key ultimately traverses back up to the contact table.So I guess I don't see how by 'inserting new records' would work? Maybe you can help clarify further and I apologize if I didn't understandyour suggestion. Nick Han [EMAIL PROTECTED] 04/21/04 01:28AM Nick Han said: I am more interested in database design help.What I am thinking right now is right after the deadline, before the reviewer making changes, I dup the db schema and back that up, and the current schema will have the current data, including changes made by the reviewer. If there is dispute and I need to compare original version and edited version, I can toggle my variable that has the schema name? I think there is a better way: never update records :-) Instead of updating, insert a new record and timestamp it. If you just show the latest version as the working version in the frontend nobody knows the difference, but you can track all revisions in the background if you want to. (This is the same solution as Barney proposed, but with a slightly different angle on the explanation.) Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: advice needed on multi-version data model design
Your financial table shouldn't have a reference to a contact.It should have a reference to an application.That application should then have a reference to a contact.Then you can add an arbitrary number of records in the financial table without ever needing worry about the contactID's referential integrity. The application table is the abstraction layer between your multi-versioning system and the rest of your schema.Outside your application table, the rest of your DB needn't care if you have a single version of each app, or multiple versions of each individual page in the app. Cheers, barneyb -Original Message- From: Nick Han [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 21, 2004 9:58 AM To: CF-Talk Subject: Re: advice needed on multi-version data model design Jochem, I am not sure this will work, since there are about 30 tables in the schema and each table has various relationships with one another.During the review process, the reviewer can quit anytime and maybe come back later to resume on it. Having said that, there are several starting points in the review process, meaning the reviewer could start out looking and making changes to the financial information page, which 3 or 4 pages down from the submiter's contact info page.By 'inserting new records' to the financial table right off the bat, I would get a database referential integrity error, because the financial table primary key ultimately traverses back up to the contact table.So I guess I don't see how by 'inserting new records' would work? Maybe you can help clarify further and I apologize if I didn't understandyour suggestion. Nick Han [EMAIL PROTECTED] 04/21/04 01:28AM Nick Han said: I am more interested in database design help.What I am thinking right now is right after the deadline, before the reviewer making changes, I dup the db schema and back that up, and the current schema will have the current data, including changes made by the reviewer. If there is dispute and I need to compare original version and edited version, I can toggle my variable that has the schema name? I think there is a better way: never update records :-) Instead of updating, insert a new record and timestamp it. If you just show the latest version as the working version in the frontend nobody knows the difference, but you can track all revisions in the background if you want to. (This is the same solution as Barney proposed, but with a slightly different angle on the explanation.) Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: advice needed on multi-version data model design
Barney, thanks for your advice.I understand your suggested solution for the simple example I wrote here.But my main concern in practice is that any field in any table could change.So for an application where all information submitted by the original submiter is complete, the reviewer could now start the review process by editing the contact info first.Because of reviewer has not reviewed any application-level data yet, how would I tie the new inserted contact record back to the application table if I start out by inserting a new contact record?I am still a little puzzled. Nick Han [EMAIL PROTECTED] 04/21/04 10:12AM Your financial table shouldn't have a reference to a contact.It should have a reference to an application.That application should then have a reference to a contact.Then you can add an arbitrary number of records in the financial table without ever needing worry about the contactID's referential integrity. The application table is the abstraction layer between your multi-versioning system and the rest of your schema.Outside your application table, the rest of your DB needn't care if you have a single version of each app, or multiple versions of each individual page in the app. Cheers, barneyb -Original Message- From: Nick Han [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 21, 2004 9:58 AM To: CF-Talk Subject: Re: advice needed on multi-version data model design Jochem, I am not sure this will work, since there are about 30 tables in the schema and each table has various relationships with one another.During the review process, the reviewer can quit anytime and maybe come back later to resume on it. Having said that, there are several starting points in the review process, meaning the reviewer could start out looking and making changes to the financial information page, which 3 or 4 pages down from the submiter's contact info page.By 'inserting new records' to the financial table right off the bat, I would get a database referential integrity error, because the financial table primary key ultimately traverses back up to the contact table.So I guess I don't see how by 'inserting new records' would work? Maybe you can help clarify further and I apologize if I didn't understandyour suggestion. Nick Han [EMAIL PROTECTED] 04/21/04 01:28AM Nick Han said: I am more interested in database design help.What I am thinking right now is right after the deadline, before the reviewer making changes, I dup the db schema and back that up, and the current schema will have the current data, including changes made by the reviewer. If there is dispute and I need to compare original version and edited version, I can toggle my variable that has the schema name? I think there is a better way: never update records :-) Instead of updating, insert a new record and timestamp it. If you just show the latest version as the working version in the frontend nobody knows the difference, but you can track all revisions in the background if you want to. (This is the same solution as Barney proposed, but with a slightly different angle on the explanation.) Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: advice needed on multi-version data model design
Nick Han said: Barney, thanks for your advice.I understand your suggested solution for the simple example I wrote here.But my main concern in practice is that any field in any table could change.So for an application where all information submitted by the original submiter is complete, the reviewer could now start the review process by editing the contact info first.Because of reviewer has not reviewed any application-level data yet, how would I tie the new inserted contact record back to the application table if I start out by inserting a new contact record? Can you provide a (small) example of a schema as you would use it without multi-versioning, that would give a problem when using multi-versioning? Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: advice needed on multi-version data model design
So 'contact' is another page/secton in the application?I misunderstood; apologies.I had assumed that the contact was a known entity to the system that wouldn't change.They'd have an account that would allow them to access the application process. If the contact is part of the application data, then you'd handle it just like the financials.It would just be another table that is bound through the central application table. Cheers, barneyb -Original Message- From: Nick Han [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 21, 2004 11:22 AM To: CF-Talk Subject: RE: advice needed on multi-version data model design Barney, thanks for your advice.I understand your suggested solution for the simple example I wrote here.But my main concern in practice is that any field in any table could change.So for an application where all information submitted by the original submiter is complete, the reviewer could now start the review process by editing the contact info first.Because of reviewer has not reviewed any application-level data yet, how would I tie the new inserted contact record back to the application table if I start out by inserting a new contact record?I am still a little puzzled. Nick Han [EMAIL PROTECTED] 04/21/04 10:12AM Your financial table shouldn't have a reference to a contact. It should have a reference to an application.That application should then have a reference to a contact.Then you can add an arbitrary number of records in the financial table without ever needing worry about the contactID's referential integrity. The application table is the abstraction layer between your multi-versioning system and the rest of your schema.Outside your application table, the rest of your DB needn't care if you have a single version of each app, or multiple versions of each individual page in the app. Cheers, barneyb -Original Message- From: Nick Han [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 21, 2004 9:58 AM To: CF-Talk Subject: Re: advice needed on multi-version data model design Jochem, I am not sure this will work, since there are about 30 tables in the schema and each table has various relationships with one another.During the review process, the reviewer can quit anytime and maybe come back later to resume on it. Having said that, there are several starting points in the review process, meaning the reviewer could start out looking and making changes to the financial information page, which 3 or 4 pages down from the submiter's contact info page.By 'inserting new records' to the financial table right off the bat, I would get a database referential integrity error, because the financial table primary key ultimately traverses back up to the contact table.So I guess I don't see how by 'inserting new records' would work? Maybe you can help clarify further and I apologize if I didn't understandyour suggestion. Nick Han [EMAIL PROTECTED] 04/21/04 01:28AM Nick Han said: I am more interested in database design help.What I am thinking right now is right after the deadline, before the reviewer making changes, I dup the db schema and back that up, and the current schema will have the current data, including changes made by the reviewer. If there is dispute and I need to compare original version and edited version, I can toggle my variable that has the schema name? I think there is a better way: never update records :-) Instead of updating, insert a new record and timestamp it. If you just show the latest version as the working version in the frontend nobody knows the difference, but you can track all revisions in the background if you want to. (This is the same solution as Barney proposed, but with a slightly different angle on the explanation.) Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: advice needed on multi-version data model design
What exactly do you want to accomplish with this project?Use environment, intranet? internet? who are the users? user roles? and how do multi-version come into play in this scenario?And it would also be good to know what dbms you intend or are using now. Jochem, I am not sure this will work, since there are about 30 tables in the schema and each table has various relationships with one another. During the review process, the reviewer can quit anytime and maybe come back later to resume on it.Having said that, there are several starting points in the review process, meaning the reviewer could start out looking and making changes to the financial information page, which 3 or 4 pages down from the submiter's contact info page.By 'inserting new records' to the financial table right off the bat, I would get a database referential integrity error, because the financial table primary key ultimately traverses back up to the contact table.So I guess I don't see how by 'inserting new records' would work? Maybe you can help clarify further and I apologize if I didn't understandyour suggestion. Nick Han [EMAIL PROTECTED] 04/21/04 01:28AM Nick Han said: I am more interested in database design help.What I am thinking right now is right after the deadline, before the reviewer making changes, I dup the db schema and back that up, and the current schema will have the current data, including changes made by the reviewer. If there is dispute and I need to compare original version and edited version, I can toggle my variable that has the schema name? I think there is a better way: never update records :-) Instead of updating, insert a new record and timestamp it. If you just show the latest version as the working version in the frontend nobody knows the difference, but you can track all revisions in the background if you want to. (This is the same solution as Barney proposed, but with a slightly different angle on the explanation.) Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]