Secure CFIDE Virtual Directory
Hello Guys, Looking for your advice on the best way to create a secure IIS virtual directory to /CFIDE. My understanding is that certain folders within that need to web accessible for cfchart,cfform,cfdocument to work, is that correct? However I don't want to expose my /cfide/administrator and /cfide/adminapi to the wide world :-) or anything else which might post a security risk for that matter. What is the best way of doing this? I'm thinking about creating a copy of the CFIDE folder and calling it SecureCFIDE (or something to that effect), it contains only the required elements and not the admin panel etc, then creating a Virtual Directory link to that in the IIS sites that require it, does that sound like a fair idea? Which files are required? Cheers all, Rob ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:322784 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Formatting HTML as Plain Text.
Hey Chaps, I've been doing a little work with some RSS feeds of late, and on the most part all is very well, now, the one problem I'm running into is people who publish RSS feeds containing lots of junk HTML (urgh!), like inline links, images, divs and whatnot in the description content of the feed. I only want to have the plain text version of these feeds and not all the other junk. This means stripping out the html tags div, a etc, some of which are being published as lt; and gt;. Also, I want to convert HTML formatted characters into their nice plain text equivilants, for instance making amp; just a standard . Now presumably this can all be done with REGEX (I couldn't find any nice built in CF functions) however my skills in this area are pretty much non-existent, however I know some of you are fairly experienced with this kind of thing. I'm also hoping that I'll be able to do some form of REGEX related 'find' on the rules first so I can say to the user 'this feed appears to contain lots of redundant crap, would you like it cleaned for you? this may cause formatting issues.' or something to that effect, I can then process the replace rules if they choose to do so. I'd appreciate any advice. Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:322053 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Could not instantiate stub objects
Hey Kevin, Seems like the servers you've got setup are as identical as you could hope for, just seems to senseless that it wasn't creating them. Tell me, have you tried to the regenerate them again since you got it working? My only thought at the moment is that whilst not a permissions issue perhaps one of the old stub objects on the server has become corrupt and couldn't be overwritten by CF, yet you deleting is manually and then copying in the version from the production would be fine. Perhaps it's worth reclicking the 'refresh' button in the admin now to see what it does? Or deleting the stub objects manually and then running the code, that would give some more clues. Rob -Original Message- From: Kevin Cundick [mailto:kcund...@nutracorp.com] Sent: 27 April 2009 17:21 To: cf-talk Subject: Re: Could not instantiate stub objects Hi Rob, Yeah, it is strange that it wouldn't generate the stubs on it's own. The Test environment and the production environment are setup up as identical as I can. They are both currently running jdk1.6.0_10. In checking the permissions, both servers are setup identically. The only real differences I can see is the hardware. OS versions are identical. The production server has more CPUs and more RAM. I can't see any other differences. Again, that you for working on this with me. What was done to get this working certainly isn't preferred because the problem hasn't really been solved. But at least the solution is running. Kevin Hi Kevin, Thanks for the update mate, sorry I disappeared last night, it was getting late and I was knackered. Well at least you have a working solution now, really very odd that it couldn't generate the stub objects. If the connection was fine from the server there shouldn't have been a problem. What JAVA versions are you running on the servers? Same on both? My only other thought is perhaps some form of permissions error, the cf server doesn't have permissions to write those stub files to the FS or something? Might be worth double checking. Whilst nothing has changed code wise, something configuration wise on the server may have changed, a windows update or something, who knows. Rob Hi Rob, I thought I'd let you know I got it working, albeit using a method that I'd prefer not to, but nonetheless it works. What I did was I went on to the Test server I told you about that works great with the web service. After removing the web service from the administrator and stopping the ColdFusion services, I went in and deleted out all the stub directories. I then started the server back up. I then copied all the stub .class files from the test server over to the production server. Then it came to life. Should've been easier than that. But after all the hours I put into this, I'll take it. Thanks for your assistance. Kevin ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321979 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
cffeed action when content changes.
Afternoon guys, I'm after a little implementation advice from you. I am looking to build a scheduled task on the server which runs every 10 minutes pinging frequently changed RSS feeds, the addresses of which are stored in a DB, using, the trusty CFFEED tag. The top [n] records from the feed are then taken and placed into an email and fired off to me. *n being a variable number of feeds differing with each feed. What I want to do is, when pinging the feed, get a count of how many of those top [n] stories has changed (title and description) since we last pinged the feed, the reason for this is that I want to perform one action if all [n] stories has changed and another if only a few of them has changed. At present the only the feeds address and the record count wanted [n] are stored the DB, presumably I'll need to store other data it the DB now to track what the feed consisted of when I last pinged it but want to store the minimal amount of data possible to perform the task, due to the number of feeds involved and the frequency of their changes. I'm open to all and any ideas at the moment. I appreciate it, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321981 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: YIKES! I must let internet users write SQL queries for our database!
That's alight Jim, I will be suing you for copyright infringement on my ideas though ;-) -Original Message- From: Jim Rising [mailto:cfflex...@jimrising.com] Sent: 24 April 2009 00:59 To: cf-talk Subject: Re: YIKES! I must let internet users write SQL queries for our database! sorry guys... I guess I'm a bit late in the conversation, and my thread only showed the initial post. :) -- Jim Rising Serial Entrepreneur Software Engineer Web Developer Knowledge work requires both autonomy and accountability. On Thu, Apr 23, 2009 at 6:57 PM, Jim Rising cfflex...@jimrising.com wrote: I wouldn't do it. The reasons are obvious. I would find out specifically what objects / methods they are wanting to allow access to, and I would build an API to give access only to those objects / methods. Open it up as a web service API and do it right. -- Jim Rising Serial Entrepreneur Software Engineer Web Developer Knowledge work requires both autonomy and accountability. On Thu, Apr 23, 2009 at 9:34 AM, Ian Skinner h...@ilsweb.com wrote: Did I get your attention? Luckily these are read-only queries, but still! I have a meeting this afternoon to discuss reworking/developing an interface to allow anonymous, anybody in the world, users to develop add hock queries on a respectably large database. This database gets about 2.5 million transactions, and growing, a year and has been around since 1973. It is public data, so we need to provide public access to it. We would like it to be self service public access so the public can stop bothering us for the data and we can spend more time on fun projects :) There is currently a form based interface, but it has serious limitations and is no longer serving its role well. So this meeting is to discuss what to do about this and how much time and effort it might take. I am soliciting you all for ideas I may be overlooking on possible solutions and|or gotcha's for something like this. So fire away please. Thank You Ian ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321924 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Could not instantiate stub objects
Hi Kevin, Thanks for the update mate, sorry I disappeared last night, it was getting late and I was knackered. Well at least you have a working solution now, really very odd that it couldn't generate the stub objects. If the connection was fine from the server there shouldn't have been a problem. What JAVA versions are you running on the servers? Same on both? My only other thought is perhaps some form of permissions error, the cf server doesn't have permissions to write those stub files to the FS or something? Might be worth double checking. Whilst nothing has changed code wise, something configuration wise on the server may have changed, a windows update or something, who knows. Rob -Original Message- From: Kevin Cundick [mailto:kcund...@nutracorp.com] Sent: 24 April 2009 00:12 To: cf-talk Subject: Re: Could not instantiate stub objects Hi Rob, I thought I'd let you know I got it working, albeit using a method that I'd prefer not to, but nonetheless it works. What I did was I went on to the Test server I told you about that works great with the web service. After removing the web service from the administrator and stopping the ColdFusion services, I went in and deleted out all the stub directories. I then started the server back up. I then copied all the stub .class files from the test server over to the production server. Then it came to life. Should've been easier than that. But after all the hours I put into this, I'll take it. Thanks for your assistance. Kevin Hi All, I am having some trouble trying to call a web service that is currently setup in the ColdFusion administrator. I get the following exception each time I try... Error,jrpp-3,04/22/09,13:55:25,nutracorp,Could not instantiate stub objects for web service invocation.The rootcause was that: java.lang.reflect.InvocationTargetException The specific sequence of files included or processed is: D:\xxx\sites\xweb\search_.cfm, line: 40 coldfusion.xml.rpc.ServiceInfo$ServiceStubInstantiationException: Could not instantiate stub objects for web service invocation. Has anyone seen this before? It is running ColdFusion 7 on Windows Server 2003 (SP3). CF is utilizing Java's JDK1.6.0_10. Upgrading to ColdFusion 8 is not an option for me as I have been turned down upon many requests. So I'm stuck with CF 7. I know it is not supported to run JDK 1.6, but I need many of the features that come with that JDK so falling back also isn't an option. The weird thing is that this has worked for quite some time and then broke out of the blue without any changes being made. I would appreciate any suggestions on what could be going on. Thanks, Kevin ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321925 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Could not instantiate stub objects
Hi Kevin, You say that the webservice is listed in the CFADMIN? I'd try deleting it from the list and then the next time the code is called it should regenerate and hopefully solve your problem, have you tried that? Is this remote service your own? Or someone elses? Rob -Original Message- From: Kevin Cundick [mailto:kcund...@nutracorp.com] Sent: 22 April 2009 22:07 To: cf-talk Subject: Could not instantiate stub objects Hi All, I am having some trouble trying to call a web service that is currently setup in the ColdFusion administrator. I get the following exception each time I try... Error,jrpp-3,04/22/09,13:55:25,nutracorp,Could not instantiate stub objects for web service invocation.The rootcause was that: java.lang.reflect.InvocationTargetException The specific sequence of files included or processed is: D:\xxx\sites\xweb\search_.cfm, line: 40 coldfusion.xml.rpc.ServiceInfo$ServiceStubInstantiationException: Could not instantiate stub objects for web service invocation. Has anyone seen this before? It is running ColdFusion 7 on Windows Server 2003 (SP3). CF is utilizing Java's JDK1.6.0_10. Upgrading to ColdFusion 8 is not an option for me as I have been turned down upon many requests. So I'm stuck with CF 7. I know it is not supported to run JDK 1.6, but I need many of the features that come with that JDK so falling back also isn't an option. The weird thing is that this has worked for quite some time and then broke out of the blue without any changes being made. I would appreciate any suggestions on what could be going on. Thanks, Kevin ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321846 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: YIKES! I must let internet users write SQL queries for our database!
Hey Ian, My first thoughts on this would be to ensure that YOU keep total control over the actually SQL that is being run, if you're working with large sets of data (more than a few GB) than the performance problems which arise from poorly written SQL could likely cause you all kinds of beef ;-) and that's just assuming that people aren't hitting you with malicious code (which they will) Not only that but also having to keep an eye on the queries people are running to ensure your indexes and statistics are configured in a manner which keeps things efficient is also quite a task bleh, it'd be messy I'm sure. I'd suggest developing some form of data access API in the form of a web service or possibly with your own front end on it if that's what the use case needs which allows users access to data but means you can retain control over the actual SQL which is executed at runtime. I don't know the full details of your use case at the moment but if I was in your shoes my first thought would jump to publishing a webservice API which allows people access to the data. I think if you let users write SQL to work on your data you'll likely just end up wanted to kill yourself, genuinely! The performance and security risks involved are just so huge. Rob -Original Message- From: Ian Skinner [mailto:h...@ilsweb.com] Sent: 23 April 2009 15:35 To: cf-talk Subject: YIKES! I must let internet users write SQL queries for our database! Did I get your attention? Luckily these are read-only queries, but still! I have a meeting this afternoon to discuss reworking/developing an interface to allow anonymous, anybody in the world, users to develop add hock queries on a respectably large database. This database gets about 2.5 million transactions, and growing, a year and has been around since 1973. It is public data, so we need to provide public access to it. We would like it to be self service public access so the public can stop bothering us for the data and we can spend more time on fun projects :) There is currently a form based interface, but it has serious limitations and is no longer serving its role well. So this meeting is to discuss what to do about this and how much time and effort it might take. I am soliciting you all for ideas I may be overlooking on possible solutions and|or gotcha's for something like this. So fire away please. Thank You Ian ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321855 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: YIKES! I must let internet users write SQL queries for our database!
Ian, Just out of interest, how much data are we talking about? Roughly? DB size, tables, rows etc. My web service suggestion was really based on the idea that data was returned immediately but after reading your other post I'm less sold on my own idea ;-) Can you go into a little more depth about you current use case, so, a user comes to the site, completed an HTML form about the data they want from you, you then process that data and package it into an email for them, and you're looking to automate that process a little more? Is that correct? Rob -Original Message- From: Ian Skinner [mailto:h...@ilsweb.com] Sent: 23 April 2009 16:25 To: cf-talk Subject: Re: YIKES! I must let internet users write SQL queries for our database! Robert Rawlins - Think Blue wrote: Hey Ian, My first thoughts on this would be to ensure that YOU keep total control over the actually SQL that is being run, if you're working with large sets of data (more than a few GB) than the performance problems which arise from poorly written SQL could likely cause you all kinds of beef ;-) For sure, the current HTML form based interface that does this still allows users to build queries that kill the system, which is one of the main drivers for todays meeting. To discuss what and how the system could be improved and how much effort such a project might take. The web services idea is a good one, I'll definitely put it on the list for discussion. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321859 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: CF Code to create AutoIncrement column MS SQL?
Hi Dawn, This is something which should be handled by the database. In a database where you have auto incrementing the primary keys it shouldn't be the applications responsibility to keep an eye on that, you should be doing simple INSERT statements and allowing the DB to do the work. In a SQL Server database, provided you're using SQL Server Management Studio to connect to the DB you can set the column to auto-increment by right clicking the table in the object explorer and choosing 'modify' or 'edit' then highlight the PK column and in the 'column properties' pane at the bottom expand the 'identity specification' section, you'll then be able to set the column to an identity and have it auto increment. Hope that helps, Rob -Original Message- From: Dawn Sekel [mailto:dse...@ciber.com] Sent: 23 April 2009 17:26 To: cf-talk Subject: CF Code to create AutoIncrement column MS SQL? Hi: I have a customer whose programmer has vanished and he is trying to get his application back on line. I'm an intermediate CF programmer and I've managed to get everything working again except for one problem. His database is hosted - and somehow, when he restored his application, the fields in his database lost their autonumbering capability. I tried creating the next number right before the insert by getting the max value of the field and then adding 1 to it, and that works for the most part, but occassionally, we are seeing the old Violation of PRIMARY KEY constraint 'PK_TblTestAnswers'. Cannot insert duplicate key in object 'dbo.TblTestAnswers' - and I can't figure out why unless to users are somehow hitting the same page at exactly the same time and clicking submit. So the only thing I can think of to fix the problem is to recreate the autoincrment key fields somehow. Does anyone have any Coldfusion code to insert a new autoincrement key field in to a MS SQL table and then remove the old one? Or is there a way to modify a key field to autoincrement? Thanks in advance for any advice. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321862 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CF Code to create AutoIncrement column MS SQL?
Dawn, yes the express edition will do the job perfectly for you, I'd recommend getting that installed. I'd speak with the hosting company about connecting, they'll give you the details you need to get started. My concern on this at the moment is working with live databases is never a good idea, especially if you're new to this stuff :-) if you can get a backup copy to test on first that would be favourable! Or at least make sure you have a backup incase you cock it up ;-) If you need any more guidance then let me know. Rob -Original Message- From: Dawn Sekel [mailto:dse...@ciber.com] Sent: 23 April 2009 17:51 To: cf-talk Subject: Re: CF Code to create AutoIncrement column MS SQL? Hi Robert: Yes, that would be the best way. The problem is, I'm working from home, don't have any SQL tools installed on my home computer. So I was trying to think of a short cut that I could modify the table using Coldfusion. The database is a student test answer repository -- so they never modify records, only insert new ones. The largest table has about 22,000 records in it. Can I MS Microsoft SQL Server Management Studio Express, if I download it, to do what you are suggesting? Thanks! Dawn ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321874 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: YIKES! I must let internet users write SQL queries for our database!
Hi Ian, Ah you call that big ;-) Mine is at least an inch bigger :-p Well, that certainly makes a great deal more sense. Like you say the primary concern is to stop users from creating queries which kill the system. I think with some thought put into the construction tool this could certainly help. For starters, are the queries which the users run very varied? Or is it a very similar query each time which lets them specify parameters through the form? If it's the latter than placing constraints on the parameters to stop them querying for multiple years etc will go a fair way to achieving your goal. Secondly would be to assess the database and its capable performance and make it run the queries as efficiently as possible, I know from my own experience working with our reports database (currently about 11,000,000 rows and growing quite likely to grow to a similar size as yours within the next 12 months has shown me the benefits of good database administration. There are several key areas where performance can be gained. 1. SQL - Ensuring the queries written are optimized and achieving their goal as well as possible. 2. Indexing, having the correct indexes on your data can have a MASSIVE impact, for instance, we had statistical queries which caused similar problems you what you're seeing (slow running or crashing the server) and yet the addition of a single index means the query now regularly runs in less than a second :-D 3. Maintenance, keeping your databases maintained by rebuilding statistics and indexed, compressing the files etc, all helps benefit performance. 4. Hardware, ensuring that the box you've got the database is up to the job, where databases are concerned this generally means RAM and plenty of it, this saves the DB having to scratch the disk every time it needs data. I think that look at these kinds of measures would be a good starting point for you in making things feel a great deal tighter. I'd be keen to ensure that all that stuff is running firmly before worrying too much about the tools on the front end. As for the front end, it's all about who your users is an how regularly they want data, if it's a laymen who wants the data every now and then I would say a web service isn't a good idea as they won't benefit, however, if these are professional clients who could utilize the service to save them time coming and filling in forms then it'd be a great solution. Either way, with something ColdSpring you could create a really nice Service Layer for yourself and your nice front end and then with a couple of lines of code open that API up as well using remote proxies then you have the best of both worlds for very little effort. Does any of that make sense? I hope I'm not teaching you to suck eggs on the DB side of things, I just know from my own experience I assume that I'm reaching the limits of my system when expecting it to return records instantly and then suddenly someone shows me a neat trick that makes it happen. Rob -Original Message- From: Ian Skinner [mailto:h...@ilsweb.com] Sent: 23 April 2009 16:51 To: cf-talk Subject: Re: YIKES! I must let internet users write SQL queries for our database! Robert Rawlins - Think Blue wrote: Ian, Just out of interest, how much data are we talking about? Roughly? DB size, tables, rows etc. Ok, the 10 second description, otherwise we could get into a hours long dissertation. This is a very old and much cobbled together system. A main table that gets approcamately 2.5 million, and growing, new records a year. We have been collecting this data since 1973 and it currently has 46,594,827 rows. This data provides transaction information on the usage of products stored in a table of tens of thousands of pesticide products. Each of these products reference a table of thousands of chemicals of which each product is composed. When this data is exported from our internal production database to the external report database, these three related tables and some other minor tables are flattened into a singe table containing all the information about each transaction. Other then this main table there are minor related tables that provide looks up for some of the main fields in these tables, the counties in California (58), Range, Township and section numbers, years, sites|commodities (i.e. stuff grown on farms) and such. Can you go into a little more depth about you current use case, so, a user comes to the site, completed an HTML form about the data they want from you, you then process that data and package it into an email for them, and you're looking to automate that process a little more? Is that correct? Well not automate it more, but remove systematic failures and limitations of the current system. Such that it is easy for a user to build too complex or large of a query so that the process ties up the system and causes a log jam until it is cleared. And that users can not currently select data
RE: YIKES! I must let internet users write SQL queries for our database!
Yeah you're quite right here, this is certainly something to consider as a security net down the line, however my only worry would be that it doesn't solve the root of the problem which seems to be this poor database which is struggling under its own weight. I think by the sounds of things the application is having regular occurrences of slow performance which means he'd just be spitting errors at users all the time, if we can solve the core problem and then use this method to solve the odd one-off occasions when performance struggles we'll be onto a winner I think. Does that sound right? Rob -Original Message- From: s. isaac dealey [mailto:i...@turnkey.to] Sent: 23 April 2009 17:27 To: cf-talk Subject: Re: YIKES! I must let internet users write SQL queries for our database! Ian Skinner wrote: Did I get your attention? Luckily these are read-only queries, but still! I forgot to mention an important consideration is to somehow control and mitigate query requests so that users don't tie up the database with a task taking hours and hours to process. It is already a batch processing system, where the users do not get the response immediately, but rather it is submitted to a que and then the user receives an e-mail with a ftp link to the resulting output files when their request is completed. But, more and more frequently a request is to large and|or complex and it ties up the que so that nothing can be done until such a time as a DBA can get in there and kill the process that is jamming up the system. If CF is handling the database access you can set a timeout on the query to prevent it from tying up the server? I honestly have never run into this specific situation, so I don't know how well that works, but the first thing I would test is if I could simply specify timeout=60 or somesuch in the cfquery and have it automatically error and exit early if the statement is taking too long. I kind of wonder too if it might not be possible to create an AIR app to house a Flex form and then use the Flex app to alert the user and give them their results when it's done... Might even give you the ability to give them more feedback about the process in the form of Your query is number 3 in queu. and then periodically update their position in queue. -- s. isaac dealey ^ new epoch isn't it time for a change? ph: 817.385.0301 http://onTap.riaforge.org/blog ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321879 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: YIKES! I must let internet users write SQL queries for our database!
Hi Ian, That all makes a great deal of sense. I really feel you're onto the right track with the database tuning method, that'll be a great start, whilst this is a fairly heavy database, in this day and age it also isn't really THAT heavy and these slow running queries, crashes and batch processes really isn't something you should have to worry about, I'm sure they're all quite solvable. From a front end perspective I think that defining an API for data retrieval is really a key for you, if you can create a common interface for the data collection which allows people to specify parameters for the data, you can then build a front end app, be it HTML, FLEX, AIR or otherwise which allows users to access the data without you and the other developers having to interpret their bespoke requirements and build queries for them. This is really just building a reporting tool for them. Then, should you wish to open a web service up which would allow more experienced people/corporations to access the data then that becomes very easy because all you're doing is publishing a version of the same API you use for your application. This way you're able to meet everyone's requirements. And with this strictly documented and defined API there is none of the confusion about misinterpreting their requirements, if they get the wrong data it's their fault for specifying the incorrect parameters. Because DB tuning is all quite specific to the data you want to retrieve (and insert) I would first start assessing and designing the API, once you know what and how the data is going to be retrieved (I mean you know what the queries look like) then you can tune the database to meet that requirement. Furthermore once you're in that position you can also start thinking about query caching, views and things like that to further extend the performance of the system. Rob -Original Message- From: Ian Skinner [mailto:h...@ilsweb.com] Sent: 23 April 2009 17:35 To: cf-talk Subject: Re: YIKES! I must let internet users write SQL queries for our database! Database tuning is an important line item on my discussion list for this meeting. To expand on some of your points. First the system currently limits users to only selecting data from on year at a time as a stop-gap measure to try and limit the operating cost of the query. The trouble is that this is both too limiting and not limiting enough. First it is still quite possible for a user to build a query that will jam up the system while at the same time it limits users who want specific enough information to be reasonable, but want it for multiple years. It forces them to submit the same request over and over only changing the year. Speaking of these users, they are truly a mixed bunch. They range from the professional who supposedly knows what they want to the soccer parent who wants to know *everything* that has been used withing a 100 mile radius of their home/work/school. Unfortunately we have to cater to both as best as we can. A big driver for making this as self-help as possible was the realization that we where commonly getting these requests from both sides of a litigation case in civil court. But because of how each side might have asked for the information combined with how different developers might have understood the request and the data we could be providing radically different results to each side that is effect provided some sort of de-facto 'interpretation' of the data. A position we really do not want to be in. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321882 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: YIKES! I must let internet users write SQL queries for our database!
Yeah it sounds like your typical legacy type systems that's a little out of date. You might not even need to normalize the data, there's a lot to be said for performance if the data is denormalized and flatter, it's a balance you'll have to find. If you look back through all the requests you've had over the past couple of years you'll be able to build a pretty strong set of use cases for the interface, that'll help you understand what data you want out of the system, then a good investment will be with someone who knows SQL like the back of their hand, they'll then come in and write queries and tune the system to perform sweetly for you. Keep us posted on the progress you make, I'm sure I'll learn just as much from it as you do. Rob -Original Message- From: Ian Skinner [mailto:h...@ilsweb.com] Sent: 23 April 2009 18:12 To: cf-talk Subject: Re: YIKES! I must let internet users write SQL queries for our database! Yeah, the three main ideas I have developed so far are 1) database tuning, 2) API/Web service 3)Possible go to Flex after the first two. I agree that we are living with some unnecessary complexity. A good deal of this process was developed in the 90s when databases and servers were not nearly as powerful as they are now. A great deal complexity was built to try and mitigate the limits of the systems back then. I suspect we could simplify and normalize the system and then tune it properly and get a great deal of performance improvement. But the question is how big a project that is and can we get buy in for it. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321887 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Could not instantiate stub objects
Hi Kevin, In the admin panel when you click 'refresh' next to the webservice, what happens then? Also, try running the following code in a CFM and see what exception is thrown: cfset CreateObject(java, coldfusion.server.ServiceFactory ).XmlRpcService.RefreshWebService('URL OF THE WSDL GOES HERE') / That will likely throw the exact same exception as before, my only thought if that doesn't work is that we can try and restart the cfusion service to clear any dud caches it might be storing but other than that I'm all out, unless the problem lies at the server end for whoever is publishing the service, it'll be worth speaking to them if none of these things help. Rob -Original Message- From: Kevin Cundick [mailto:kcund...@nutracorp.com] Sent: 23 April 2009 19:44 To: cf-talk Subject: Re: Could not instantiate stub objects I failed to mention that this remote service is someone else's. If I attempt the hit the WSDL by just pasting the URL in the browser it does come back successfully. Any further suggestions? I would appreciate it. Hi Rob, Thank you for suggestion. I did what you recommended and after I did that, I get this exception... Could not instantiate stub objects for web service invocation. I'm not sure why it would not be able to instantiate the class, it is there. So this has me stuck. Thank you again for your suggestion. Kevin Hi Kevin, You say that the webservice is listed in the CFADMIN? I'd try deleting it from the list and then the next time the code is called it should regenerate and hopefully solve your problem, have you tried that? Is this remote service your own? Or someone elses? Rob Hi All, I am having some trouble trying to call a web service that is currently setup in the ColdFusion administrator. I get the following exception each time I try... Error,jrpp-3,04/22/09,13:55:25,nutracorp,Could not instantiate stub objects for web service invocation.The rootcause was that: java.lang.reflect.InvocationTargetException The specific sequence of files included or processed is: D:\xxx\sites\xweb\search_.cfm, line: 40 coldfusion.xml.rpc.ServiceInfo$ServiceStubInstantiationException: Could not instantiate stub objects for web service invocation. Has anyone seen this before? It is running ColdFusion 7 on Windows Server 2003 (SP3). CF is utilizing Java's JDK1.6.0_10. Upgrading to ColdFusion 8 is not an option for me as I have been turned down upon many requests. So I'm stuck with CF 7. I know it is not supported to run JDK 1.6, but I need many of the features that come with that JDK so falling back also isn't an option. The weird thing is that this has worked for quite some time and then broke out of the blue without any changes being made. I would appreciate any suggestions on what could be going on. Thanks, Kevin ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321896 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Could not instantiate stub objects
Hi Kevin, Yeah these kinds of issues are a nightmare, web services seem to always throw really dumb vague errors which nobody knows anything about! I've wasted hours on problems like this. My final shot at this would be to delete that entry in the cfadmin and restart the coldfusion service on your box, this should clear out any temporary files. My thoughts at the moment are that the publisher has made some changes to the service and that the WSDL is now invalid but due to some cached file somewhere it won't refresh it properly or something. If this isn't a really busy server and you can afford to restart it then that would be my final suggestion, other than contacting the publisher to see if they're aware of any issues. The only other thing I wanted to ask, when you say you're browsing to the WSDL in a browser and it works fine, is that on your local machine or in the browser on the server? I'd be interested to know if the WSDL loads ok in the browser on the server, might be some firewall setting or something causing the problems. Rob -Original Message- From: Kevin Cundick [mailto:kcund...@nutracorp.com] Sent: 23 April 2009 20:38 To: cf-talk Subject: Re: Could not instantiate stub objects Thank you Rob for your suggestions. In the admin panel if I click refresh next to the webservice it gives me this exception... Unable to refresh webservice. Could not instantiate stub objects for web service invocation. The rootcause was that: java.lang.reflect.InvocationTargetException When running the cfset you suggested below, I get the same exception as before. Thank you for your efforts! Hi Kevin, In the admin panel when you click 'refresh' next to the webservice, what happens then? Also, try running the following code in a CFM and see what exception is thrown: cfset CreateObject(java, coldfusion.server.ServiceFactory ).XmlRpcService.RefreshWebService('URL OF THE WSDL GOES HERE') / That will likely throw the exact same exception as before, my only thought if that doesn't work is that we can try and restart the cfusion service to clear any dud caches it might be storing but other than that I'm all out, unless the problem lies at the server end for whoever is publishing the service, it'll be worth speaking to them if none of these things help. Rob I failed to mention that this remote service is someone else's. If I attempt the hit the WSDL by just pasting the URL in the browser it does come back successfully. Any further suggestions? I would appreciate it. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321900 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: CFQUERY Timeout for SQL2005 Fails
This is an interesting thread, I've seen what I believe to be very similar behaviour here on one of my webservices, seemed that one particular query sometimes just hangs indefinitly, however other threads and requests are all just fine. I tried playing around with application request timeouts, concurrent threads and cfquery timeout settings but seem to still have the same problem on occasion, I'm wondering if they're caused by the same issue, I too running SQL2k5 however I'm on CF8. Mark, I'd concur that its waiting to establish a connection, is there anything which can be done to cure that problem with a timeout on the connection? I'd imagine mine is down to load as its a busy statistical database which we're having problems with which really needs moving to a beefier box but in the mean time it'd be nice to try and find a quick-fix to tide me over. Rob That's totally separate issue. if sqlserver is locking up, coldfusion is waiting to make a connection, not getting the result back. the timeout on cfquery only works on the actually sql statement itself. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:321611 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: SQL server - Order totals by month, even without month data
Hello Will, I'd advise building yourself a calendar table, these are always a useful facility in any application where you're going to be doing report generation, I've attached the SQL script which creates and populates your calendar table, this basically creates a record for each date in a range and breaks into different date parts, then for your query below we select the dates from the calendar table, ensuring we get a record for each group, be it day, month, year etc and then we'll LEFT OUTER JOIN the order table on that date, this ensures we get a row for every date in the range and it'll just return NULL for the months where orders don't exist. SQL CREATE Script: http://pastebin.com/m57ba4578 SQL INERT Script: http://pastebin.com/m65d6ee0f That script will create a table and insert records for the next 10 years, change the dates on the insert script to suit your own requirements. The script for your main query would then look something like this: http://pastebin.com/m1e234813 I have no way of testing that script, its working off the info you gave, if it doesn't work then let me know your table structure and some example data and we'll bash something together. Hope that helps you on your way. Rob -Original Message- From: Will Tomlinson [mailto:w...@wtomlinson.com] Sent: 25 March 2009 11:26 To: cf-talk Subject: SQL server - Order totals by month, even without month data I have your typical tblorders. I'm trying to query it to get order totals by month, and I'm outputting them in cfchart All goes fine, except in 2009. We have no order data for April-December of course, so the query returns just three rows (Jan, Feb, March). I need it to return all 12 months, with 0 for the months with no orders (April-Dec) I've played with this query and can't get anything to work for me. Any ideas? Thanks! Will select year(orderdate) as orderYear, month(orderdate) as monthOrdered, sum(ordertotal) as totalOrders, dateName(month, orderdate) as monthName from tblorders where orderpaid = 1 and year(orderdate) = 2009 group by year(orderdate), month(orderdate), dateName(month, orderdate) order by year(orderdate) asc, month(orderdate) asc ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:320912 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: JRun Throwing 503 Errors
Yeah thought that would be the case. So, are they just slow running or was the end server not responding and causing them to stack? Did changing the concurrent requests setting the Admin help at all? Or just prolong the problem? I'd probably recommend using the timeout on cfhttp be set to solve this issue, at the moment it just sits indefinitely. Value, in seconds, that is the maximum time the request can take. If the time-out passes without a response, ColdFusion considers the request to have failed. If the client specifies a time-out in the URL search parameter (for example, ?RequestTime=120) ColdFusion uses the lesser of the URL time-out and the timeout attribute value; this ensures that the request times out before, or at the same time as, the page. If the URL does not specify a time-out, ColdFusion uses the lesser of the Administrator time-out and the timeout attribute value. If the time-out is not set in any of these, ColdFusion waits indefinitely for the cfhttp request to process. That won't solve the problem if they're just slow to return a large set of data however it'll solve the problem if you've got requests that are not responding. Rob -Original Message- From: Matt Quackenbush [mailto:quackfu...@gmail.com] Sent: 20 March 2009 06:09 To: cf-talk Subject: Re: JRun Throwing 503 Errors In a nutshell, cfhttp calls hanging, stacking on top of each other, and eating up the JVM. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:320749 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: JRun Throwing 503 Errors
Matt, Hope you're well mate. With regards to this it looks as if requests are timing out whilst sat in the request pool before being processed. My guess would be that this might be related to those scheduled tasks, if they're running and consuming all available requests due to the slow running speed and creating a bottleneck then you'll be quing other requests for too long and causing them to time out. Try bumping the number if simultaneous requests up and see if that solves the problem, if it does then I'd look at making those scheduled tasks more efficient. Rob -Original Message- From: Matt Quackenbush [mailto:quackfu...@gmail.com] Sent: 18 March 2009 10:31 To: cf-talk Subject: JRun Throwing 503 Errors Hello, On one of my servers, starting about 12 hours ago, all of a sudden JRun seems to be shutting down or something. It quits responding and displays the following error message on every request: 503 Request timed out waiting to execute For the last 12 hours this has occurred repeatedly, with a max interval of 3 hours. Nothing in the CF logs gives me any indication of what the cause is. Where can I check to try and pinpoint the cause? The server specs: CPU: 2x Dual-Core Xeon RAM: 4GB ECC Registered OS: Windows Server 2003 CF:CF8 Enterprise, JRun configuration Web: IIS DB:None The only thing that I can think of is the fact that there are a lot of long-running scheduled tasks that rely on cfhttp calls. Could it be possible that cfhttp is timing out and causing JRun to shut down? That really doesn't seem to make a lot of sense to me, but I can think of no other reason. Nothing else is affected, only JRun. Any thoughts, tips, or suggestions would be greatly appreciated. Thanks, Matt ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:320622 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Dynamic SubDomain Creation / Domain Pointing
Hello Chaps, We've been working on some ideas for our new reseller panel and one things which really attracts me at the moment is making the panel they sign-in to brand able. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:320433 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Dynamic SubDomain Creation / Domain Pointing
Hello Chaps, We've been working on some ideas for our new reseller panel and one things which really attracts me at the moment is making the panel they sign-in to brand able. I've started so I'll finish ;-) I had an itchy trigger finger this morning. Now in the most part a brandable panel is very simple, allowing users to change the colour scheme, logo and headings in the site is all no problem at all. One thing I have seen done in other applications is the dynamic creation of a subdomain for each user which registers on the server, they can then access the login for that site from that domain, for instance, someone comes and registers with me, and they then have access to their branded panel through thiername.thinkbluemedia.co.uk and they don't have to come through our site. Not only this but they can also mask that subdomain with their own domain such as control.resellersdomain.com or whatever it might happen to be making things even more seamless for the clients which they are reselling too. Now I would assume that the latter part requires them to add CNAME records to their own DNS records and is out of my control, however, the first part is not. How would you guys go about creating these subdomains? presumably I don't want to actually create records in my own domains DNS settings as these would take 72 hours to propagate so can I perhaps do this with some type of URL rewrite? or perhaps a wildcard subdomain and I then use server side code CGI scope variables to to display the correct branding? I'd appreciate your thoughts on this guys, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:320434 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Need a new host
I've been running with Chystaltech.com for a few years, started with a bunch of shared plans with them and have since moved onto Dedicated solutions, I cannot recommend them enough, their service is very efficient and cost effective and in instance when I've needed technical support email replys are always within 15 minutes. Really really excellent service!! Rob -Original Message- From: David Fekke [mailto:da...@fekke.com] Sent: 02 March 2009 14:14 To: cf-talk Subject: Need a new host I need a new host for a client of mine. Here are the requirements; ColdFusion 8 on Windows SQL Server 2005/8, 2008 preferred Support for a java library that lets him connect to a First Data merchant account SSL certificate support The client would prefer a shared hosting environment to keep costs down. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:32 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Webservice Error
Chaps, Trying to invoke the NOAA webservice using cfinvoke but getting a pretty useless exception thrown back at me, you'll be able to see the WSDL document in the code so you can examine it, I cant see anything wrong with my request data. cfinvoke method=NDFDgenByDay webservice=http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl; refreshWSDL=true returnVariable=VARIABLES.Forecast cfinvokeargument name=latitude value=50.797816 / cfinvokeargument name=longitude value=-1.10623 / cfinvokeargument name=startDate value=2008-03-01 / cfinvokeargument name=numDays value=7 / cfinvokeargument name=format value=24 hourly / /cfinvoke cfdump var=#VARIABLES.Forecast# / Cannot perform web service invocation NDFDgenByDay. The fault returned when invoking the web service operation is: AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.lang.ClassCastException: org.apache.axis.message.Text cannot be cast to org.apache.axis.message.MessageElement faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:java.lang.ClassCastException: org.apache.axis.message.Text cannot be cast to org.apache.axis.message.MessageElement at org.apache.axis.message.SOAPFaultBuilder.onEndChild(SOAPFaultBuilder.java:29 9) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationCo ntext.java:1090) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc her.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configurat... '' The error occurred in C:\inetpub\workspace\www.yourblue.co.uk version 3\View\Reports\weather\weather_test.cfm: line 6 4 : cfinvokeargument name=startDate value=2008-03-01 / 5 : cfinvokeargument name=numDays value=7 / 6 : cfinvokeargument name=format value=24 hourly / 7 : /cfinvoke 8 : If I'm honest I've always had issues with coldfusion webservices, they seem to be very good at consuming themselves but whenever trying to use CF to consume another service, or another language to consume one of my own services they always seem to misbahave L Any ideas on this would really be appreciate, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:319943 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
File upload progress bar.
Chaps, Does anyone have any good solution for displaying a file upload progress bar? I essentially have a form which looks like this: form name=upload action=process.cfm method=post input name=NewName type=text / input name=TheFile type=file / input name=Submit type=submit value=Upload Now! / /form On the process.cfm I use a cffile to handle the file, I save it to the FS with a UUID as its path/name and then enter a record into the DB with that unique path and the 'freindly' name which they enter in the form. This is fine however with large files the page sits their whilst the file uploads, in an ideal world I'd have a progress bar showing the percentage uploaded. I've not seen anything which CF has built-in for doing this, have you got any decent 3rd party solutions which any of you have implement successfully? Cheers for now, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:318964 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Coldfusion killed my query?
Morning Guys and Girls, I'm running ColdFusion 8 Standard and SQL Server 2005 Workgroup edition. I'm using The standard SQL Server driver that comes with CF8. I'm having a strange performance issue with a particular query. When running the query from SSMS it returns the dataset in less than a second, which I'm more than happy with and kind of confirms that the query itself, the database and the table indexes are all correct. However, when I run the same query from a cfquery block it takes 8 minutes to return!?!!!?! I also ran some tests where I would start the ColfFusion page request and then jump into SSMS and run the query from there at the same time, the query continued to return in less than a second in SSMS but still sat for upto 8 minutes before returning to CF. There are a bunch of other queries on the page, all of which run exactly as I would expect them too, just this one single query which is massively under performing. I can confirm that this performance decrease is not caused by slow rendering or anything as the 8 minute time is taken from the 'execution time' of the query displayed in its cfdump. Any suggestions as to what might be causing this beef? Cheers all, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:318150 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Coldfusion killed my query?
Morning Adrian, thanks for getting back to me. This is definitely not caused by the output/dump of the queries, even when all those are removed it takes the same amount of time to return the page. This is not a large query to return, simply a single row containing 2 columns. The query looks as follows: Select Sum(Case When d.LogClassName = 'org.thinkblue.TransferComplete' Then 1 Else 0 End) As SuccessSentCount, Count(Distinct d.Device_ID) As UniqueDevicesCount, Sum(Case When d.MinDate Is NULL Then 0 Else 1 End) As FirstAppearanceCount From( Select MessageLog.Device_ID, FirstAppearance.MinDate, LogClass.Name As LogClassName FromMessageLog Inner Join LogClass On LogClass.LogClass_ID = MessageLog.LogClass_ID Left Outer Join ( Select Device_ID, Min(LogDateTime) As MinDate FromMessageLog Inner Join LogClass On LogClass.LogClass_ID = MessageLog.LogClass_ID Where LogClass.Name In ( 'org.thinkblue.TransferComplete', 'org.openobex.Error.ConnectionRefused', 'org.openobex.Error.Forbidden', 'org.openobex.Error.NotAuthorized', 'org.openobex.Error.ConnectionTimeout' ) AndMessageLog.ThinkTank_ID = cfqueryparam value=#ARGUMENTS.ThinkTank_ID# cfsqltype=cf_sql_integer / Group ByDevice_ID ) As FirstAppearance On MessageLog.Device_ID = FirstAppearance.Device_ID And MessageLog.LogDateTime = FirstAppearance.MinDate Where LogClass.Name In ( 'org.thinkblue.TransferComplete', 'org.openobex.Error.ConnectionRefused', 'org.openobex.Error.Forbidden', 'org.openobex.Error.NotAuthorized', 'org.openobex.Error.ConnectionTimeout' ) And MessageLog.LogDateTime = cfqueryparam value=#ARGUMENTS.StartDate# cfsqltype=cf_sql_date / And MessageLog.LogDateTime cfqueryparam value=#ARGUMENTS.EndDate# cfsqltype=cf_sql_date / And ThinkTank_ID = cfqueryparam value=#ARGUMENTS.ThinkTank_ID# cfsqltype=cf_sql_integer / ) As d Like I say, the query actually runs fine from SSMS but just not when run from CF. Cheers, Rob To make sure it's not the display/debugging causing the issue, remove it all. A dump of a large query in Firefox with Firebug will take a while (I'm not saying 8 minutes, but a while!). Post the query too. Adrian ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:318154 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Coldfusion killed my query?
Hello Guys, Thank you all for your ideas. After speaking with [Justice] over on the IRC channel I removed the cfqueryparam / and found it ran smooth as silk. Seems that there was some form of datatype mismatch going on, after changing the cf_sql_type on the queryparam we've got it running at proper speed again!! Thanks for your suggestions. Rob Another thing to try: put the query in a sproc and call it with cfstoredproc. Theoretically, modern SQL Server has made it so that cfquery (ad-hoc) is as fast as cfstoredproc...but...maybe... Let us know... On Mon, Jan 19, 2009 at 7:17 AM, Al Musella, DPM muse...@virtualtrials.comwrote: ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:318159 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
cfchart in cfdocument.
Guys, I've got a cfchart which sits inside a cfdocument. In development on my local machine this works perfectly, however, when moved to production we just get a red [X] where the chart should be sat. I've had this problem for as long as I can remember but have only got around to tackling it this morning. After doing some reading around it has become apparent that cfdocument obviously cant access the chart image on my production server which is why it inst displayed, my challenge is finding out WHY it cant access that resource. Nothing springs to mind as a configuration mismatch between dev/production but for some reason it only works on one. Can anyone give me some pointers on solving this? Cheers all, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:318160 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: cfchart in cfdocument.
John, Thanks for the reply. chchart outside of the cfdocument works just fine, no problems at all, its only when placing it inside that it doesn't work :-( Rob If you do it without the cfdocument so that the chart would appear in the browser, does it still show as a broken image? If so, can you right-click the broken image and pull up the image location? That'll (at least) tell you where that page *thinks* the chart should be... On Mon, Jan 19, 2009 at 8:00 AM, Robert Rawlins robert.rawl...@thinkbluemedia.co.uk wrote: ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:318166 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Load testing tools.
Mark, Jamie, Will, Thanks for the suggestions guys :-) I'll take a look into the different ones and see which works best for me JMeter certainly sounds very cool! Cheers all, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:317833 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Load testing tools.
Afternoon guys, Any good recommendations on load testing tools? Iâm just looking for something thatâll make HTTP requests to a bunch of given URLS on set intervals for a period of time, monitoring response times etc. Iâve used a couple in the past but forget which, thought Iâd get your suggestions. Obviously I'm quite partial to something free or open source ;-) Cheers, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:317798 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Loading data from a webservice call into MSSQL.
Posted this yesterday but seems to have disappeared and not come to the list :-s Afternoon Guys, I publish a web service which receives statistical data in an array of complex objects from clients. This data then gets processed and inserted into a SQL Server db to be reported from at a later time. Iâve been having a few issues in the past with deadlocks on the server because the import process isnât very efficient and is locking sql resources for too long, this hasnât been a major issue however with recent growth within the business and an increase in our client base weâre seeing it more and more regularly and I want to nip it in the bud before too long. Regards to loading of data, weâre looking at around 50 clients, each client makes a request once every minute, posting around 10 records per request, with a maximum of 100 records per request. Without getting too specific at this stage, the current import process in the web service function looks somewhat like this: !--- Start the transaction --- cftransaction !--- Create the temporary memory table. --- cfquery name=LOCAL.qCreate datasource=MyDSNName CREATE TABLE #MyTempTable /cfquery !--- Loop over the array of complex objects and populate the temporary table. --- cfloop from=1 to=#arrayLen(ARGUMENTS.Statistics_Data)# index=LOCAL.i !--- Load the data into the temporary table. --- cfquery name=LOCAL.qLoad datasource=MyDSNName INSERT INTO... /cfquery /cfloop !--- Load the data from staging into the first table if they donât already exist to ensure FK's exist for the primary table insert. --- cfquery name=LOCAL.CreateFKs1 datasource=MyDSNName INSERT INTO FkTable1 ( SELECT col1 FROM #MyTempTabl /cfquery !--- Load the data from staging into the first table if they donât already exist to ensure FK's exist for the primary table insert. --- cfquery name=LOCAL.CreateFKs2 datasource=MyDSNName INSERT INTO FkTable2 ( SELECT col1 FROM #MyTempTabl /cfquery !--- Load the data into the primrary table --- cfquery name=LOCAL.InsertPrimary datasource=MyDSNName INSERT INTO PrimaryTable ( SELECT FkTable1.id_col, FkTable2.id_col, #MyTempTable.SomeColumn1, #MyTampTable.SomeColumn2 FROM #MyTempTable INNER JOIN FkTable1 ON FkTable1.col1 = #MyTempTable.col1 INNER JOIN FkTable2 ON FkTable2.col1 = #MyTempTable.col1 /cfquery !--- Cleanup the oppertation by dropping the temporary table. --- cfquery name=LOCAL.qCleanup datasource=MyDSNName DROP TABLE #MyTempTable... /cfquery /cftransaction Now, what I hope you can see from that example is that I first create a temporary staging table for the data which is to be loaded, I then loop over the array of complex objects passed to the service method and populate the temporary table with them. I then have a couple of queries which insert any records which donât already exist into the two FK tables. These FK tables are then referenced in the main data import. Finally the temporary staging table is dropped. Would you guys handle this challenge in the same way? If you have regular request from multiple clients with data which had to be prepared and saved like this how would you go about it? My key concern is efficiency, I want the final solution to be scalable so as we grow the client base itâll continue running. Iâm just not sure of my best approach at the moment, am I running along the right tracks? Or should I be taking a totally different approach? Iâm sure this is a fairly common task so look forward to getting a little advice based on your experiences. Cheers for now guys, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:317697 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Loading data from a webservice call into MSSQL.
Afternoon Adrian, thanks for getting back to me. Let me try and explain a little about what the temp table is used for. Basically lets use an example database schema for this, for now let's say we have two tables: Manufacturer Manufacturer_ID Manufacturer_Name Products Product_ID Manufacturer_ID Product_Name Now, for an example of the data which comes in from the web service call in the complex objects: Product Name: Manufacturer Name: iPodApple iPhone Apple Tastey Cake Grandma Now, product names that are posted are always new and never seen before, however, the manufacturer of the product may or may not already exist in the database. So, I load the data from the complex objects into the temporary table which mimics that structure, the first query then checks to see if any new manufacturers exist in the data which has been posted, if they have then it inserts them so they can be references as a FK in the products table when they are inserted by the final query. Does that make sense? I hope thatâs a clear example. Many thanks, Rob Each of those cfqueries is a separate call to the DB, could you wrap it all in one cfquery and see if it makes a difference? Why are you using the temp table for? Explain that a bit more as it might not be the best way or needed at all. Seems awfully complex code for the problem you're describing. Adrian -Original Message- From: Robert Rawlins [mailto:robert.rawl...@thinkbluemedia.co.uk] Sent: 10 January 2009 11:41 To: cf-talk Subject: Loading data from a webservice call into MSSQL. Posted this yesterday but seems to have disappeared and not come to the list :-s Afternoon Guys, I publish a web service which receives statistical data in an array of complex objects from clients. This data then gets processed and inserted into a SQL Server db to be reported from at a later time. Iââ¬â¢ve been having a few issues in the past with deadlocks on the server because the import process isnââ¬â¢t very efficient and is locking sql resources for too long, this hasnââ¬â¢t been a major issue however with recent growth within the business and an increase in our client base weââ¬â¢re seeing it more and more regularly and I want to nip it in the bud before too long. Regards to loading of data, weââ¬â¢re looking at around 50 clients, each client makes a request once every minute, posting around 10 records per request, with a maximum of 100 records per request. Without getting too specific at this stage, the current import process in the web service function looks somewhat like this: !--- Start the transaction --- cftransaction !--- Create the temporary memory table. --- cfquery name=LOCAL.qCreate datasource=MyDSNName CREATE TABLE #MyTempTable /cfquery !--- Loop over the array of complex objects and populate the temporary table. --- cfloop from=1 to=#arrayLen(ARGUMENTS.Statistics_Data)# index=LOCAL.i !--- Load the data into the temporary table. --- cfquery name=LOCAL.qLoad datasource=MyDSNName INSERT INTO... /cfquery /cfloop !--- Load the data from staging into the first table if they donââ¬â¢t already exist to ensure FK's exist for the primary table insert. --- cfquery name=LOCAL.CreateFKs1 datasource=MyDSNName INSERT INTO FkTable1 ( SELECT col1 FROM #MyTempTabl /cfquery !--- Load the data from staging into the first table if they donââ¬â¢t already exist to ensure FK's exist for the primary table insert. --- cfquery name=LOCAL.CreateFKs2 datasource=MyDSNName INSERT INTO FkTable2 ( SELECT col1 FROM #MyTempTabl /cfquery !--- Load the data into the primrary table --- cfquery name=LOCAL.InsertPrimary datasource=MyDSNName INSERT INTO PrimaryTable ( SELECT FkTable1.id_col, FkTable2.id_col, #MyTempTable.SomeColumn1, #MyTampTable.SomeColumn2 FROM #MyTempTable INNER JOIN FkTable1 ON FkTable1.col1 = #MyTempTable. col1 INNER JOIN FkTable2 ON FkTable2.col1 = #MyTempTable. col1 /cfquery !--- Cleanup the oppertation by dropping the temporary table. -- - cfquery name=LOCAL.qCleanup datasource=MyDSNName DROP TABLE #MyTempTable... /cfquery /cftransaction Now, what I hope you can see from that example is that I first create a temporary staging table for the data which is to be loaded, I then loop over the array of complex objects passed to the service method and populate the temporary
Re: Loading data from a webservice call into MSSQL.
Hi Sam, You should be able to create an in memory query to represent the received data (your temp 'table' is rows and columns, same as a 'query'), and then your other operations would proceed normally with a few minor changes in syntax, change the datasource= to dbtype=) Ok, so you're suggesting that I use an in memory query instead of the temp table, that's fair enough. So, are you suggesting a ColdFusion query? or a SQL Variable such as @TempTable? What are likely to be the performance limitations on larger datasets? say I want to up the post limit to 500 records per request from a client, will this hold up do you think? this would remove all the disk I/O and locking for the temp table, and make this db access truely concurrent(well writes to the REAL tables still invoke locking). You can use the caching options to help protect against outage I would expect. what are the design constraints about losing one of the updates in the event of a crash? That sounds fair about the disk I/O, we have contingency built into the client applications so that if an exception is thrown by the web service then the client will reattempt to upload the records in its next request so the odd error every now and then is not essential but I'm looking to limit it as much as possible. Thanks Sam, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:317704 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Loading data from a webservice call into MSSQL.
Hi Sam, Oh, and the relative lifetime of these objects drops significantly as well. the disk table is going to last for LOTS of milliseconds (10ms per I/O at least, times too many to count). here you won't incur ANY I/O unless paging gets involved. so you reduce the elapsed time by orders of magnitude for these table operations as well, if you have just 10ms of CODE to populate the in memory table it would be a HUGE table).. not to mention all the I/O impact on the real table. disk arm movement, blah blah. (and impact on the sql system buffering, cache flushes, etc.. ) Sam All this certainly sounds promising, minimizing the locks on the resources should solve the problems I've been having, very cool news indeed. Now, I'm not used to working with QofQ's at all, can you provide a little example of how I can query the in memory query and populate my real life tables with it? For instance my current queries using the temp table look something like: INSERT INTO RealTable (col1, col2, col3) SELECT Col1, Col2, Col3 FROM #TempTable How can this be reworked to draw from the in memory query opposed to the temp table? Thanks Sam, once I've got this I'll do some load testing and see how she holds up. Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:317707 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
PayPal Integration
Hello Guys, Looking for the first time in ages to getting up and running with processing credit card payments using PayPal. I have myself a PayPal Payments Pro account setup and paid for, now just looking to get up and running with the API to process the payments from our site. After a quick google around I've found this library which looks fine http://www.indiankey.com/cfPaypal/ has anyone had any experience with this or any other library? Cheers all, appreciate any pointers or advice anyone can offer, I'm sure some of you will have been through this in the past. Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:316068 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: PayPal Integration
Mike, Thanks. Was this website payments pro? And this was using the SOAP web services, correct? At the moment my requirements are very simple, I'm simply making single payment transactions for set amounts, I don't have a cart of products or anything like that. Cheers, Rob -Original Message- From: Dawson, Michael [mailto:[EMAIL PROTECTED] Sent: 01 December 2008 15:49 To: cf-talk Subject: RE: PayPal Integration We rolled our own using PayPal's HTTP request/response solution. It was pretty easy to do. Mike -Original Message- From: Robert Rawlins [mailto:[EMAIL PROTECTED] Sent: Monday, December 01, 2008 9:46 AM To: cf-talk Subject: PayPal Integration Hello Guys, Looking for the first time in ages to getting up and running with processing credit card payments using PayPal. I have myself a PayPal Payments Pro account setup and paid for, now just looking to get up and running with the API to process the payments from our site. After a quick google around I've found this library which looks fine http://www.indiankey.com/cfPaypal/ has anyone had any experience with this or any other library? Cheers all, appreciate any pointers or advice anyone can offer, I'm sure some of you will have been through this in the past. Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:316071 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: PayPal Integration
Mike, Thanks for this, someone mailed me off list with code very similar to this which looks as if it'll do the job I want. The real challenge right now is getting sandbox access in the UK, seems they're not properly setup for it yet and you have to jump through hoops, real pain in the arse. Cheers for the advice, Rob -Original Message- From: Dawson, Michael [mailto:[EMAIL PROTECTED] Sent: 01 December 2008 17:19 To: cf-talk Subject: RE: PayPal Integration We use Payflow Pro and simple HTTP requests. No SOAP or nuttin fancy. Other than setting some params for amount, credit card number, etc, the HTTP request looks like this: cfhttp url=https://pilot-payflowpro.verisign.com:443; method=post resolveurl=no timeout=30 cfhttpparam type=header name=X-VPS-REQUEST-ID value=#requestId# cfhttpparam type=header name=X-VPS-CLIENT-TIMEOUT value=10 cfhttpparam type=body value=#paramList# /cfhttp Mike -Original Message- From: Robert Rawlins [mailto:[EMAIL PROTECTED] Sent: Monday, December 01, 2008 9:56 AM To: cf-talk Subject: RE: PayPal Integration Mike, Thanks. Was this website payments pro? And this was using the SOAP web services, correct? At the moment my requirements are very simple, I'm simply making single payment transactions for set amounts, I don't have a cart of products or anything like that. Cheers, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;207172674;29440083;f Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:316075 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Temporary Tables
Guys, I'm looking to run a query which creates a SQL Server temporary table. This has got me a little confused as the SQL requires to have a # in the midst of it to create the table. What's the correct syntax for this? Do I use a double ## or a triple ###? For instance, if I have a query like so: cfquery name=LOCAL.qCreate datasource=MyDSN CREATE TABLE ##MessageStaging ( Is that creating a temp table? Of is the ## just an nonexistent value and its creating a physical table? I'd appreciate your thoughts guys, Robert ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:312886 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
cfdocument playing silly buggers on production.
Guys, Quick buzz for some advice. I've just rolled a copy of my application onto the production server and cfdocument seems to not load any external resources such as images or css. The code works perfectly in development. The only thing that comes to mind for the moment is that the site is under SSL which I know can cause the kind of problems with cfdocument however I'm linking to the document using a non secure URL, such as: http://www.mydomain.com/myfile.cfm?format=pdf All the resources such as images and css within the document are sourced using relative paths like img src=/images/pullyourthumbout.png /. I've also tried making these paths a more absolute version, using src=http://mydomain.com and get the same result, and again, using the new cf8 localurl=true approach doesn't seem to change anything. Does anyone know a work around for this? I'm sure it's something some of you have come across in the past. Thanks for your advice, Robert ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:312243 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: cfdocument playing silly buggers on production.
Hi Marcus, Thanks for that suggestion. That certainly works for the most part, css and images anyway. The problem I have now is that some of the documents have a cfcart on them, these present the same problems as the css and images but I'm not able to specify the path like that. Any ideas? Cheers mate, Rob -Original Message- From: Marcus Raphelt [mailto:[EMAIL PROTECTED] Sent: 09 September 2008 17:48 To: CF-Talk Subject: Re: cfdocument playing silly buggers on production. Hi, as far as I can remember, we solved this in a CF7 project by pointing to images using file:///-Links. Not very elegant, but it worked. bye, marcus Robert Rawlins schrieb: Does anyone know a work around for this? I'm sure it's something some of you have come across in the past. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:312247 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Database Sessions
Morning guys, Does anyone know how ColdFusion handles opening and closing a database session? Is it for every cfquery tag set? Or for every cftransaction tag set? Or is it less predictable than that? The reason I ask is that I've been looking at using temporary tables in a procedure, as I understand it, SQL Server creates these in a session local variable. I need to know how long the temporary table will be accessible to me in this session scope, can it spread across multiple queries? Or just the single one?. Any ideas? Cheers, Rob ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:310680 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: SVN in Production
This is an interesting conversation, I've been using SVN Export for some time now when looking to deploy changes to production and not really had any beef from it. I understand what you guys are saying here about only wishing to deploy certain changes, that's a very valid use case, but to be honest, I would perhaps suggest that you guys are not strict enough on your version control in the first place and perhaps you processes rant quite right, as it sounds like you're deploying code straight from trunk / branches? Using your DIFF based stuff to pick and choose which modifications get deployed? Surely, once you know what code version is 'production ready' then you build it into a release candidate in a new tag? You then can use SVN to deploy from the latest tag to production? No? I wouldn't ever deploy from anything that wasn't in /tags, and the only way anything makes it into a tag is when its test and ready as a release candidate. -Original Message- From: Joeri B [mailto:[EMAIL PROTECTED] Sent: 11 August 2008 10:58 To: CF-Talk Subject: Re: SVN in Production Yes, indeed. With a diff ( I want to use free commander with Winmerge) tool, you SEE the changes going live. I point that one out in a previous post. I work on a large project in a existing application which I check-in constantly (Backup purpose and team work) , but doesn't need to go live. Because it's not finished yet. With a diff tool it's easy to put other fixes live, and others not. With SVN (export) it's difficult. You can work with branches... but that is tricky. Yeah There are so many different ways to deploy, the problem boils down to the tools that we use. Me, I can't vouch for the likes of svnAnt and I DO not see a need for svnAnt to migrate changes to production, a first of deployment sure I could see its merits. But not as I make changes or fixes. I might make 10 FIXES, but only 2 should or need to go live. Me, I use the fact that the application I use / write has 2 states of development. One, is the latest build and changes or additions to the application itself. The second is what is currently in production. I use and endorse Beyond Compare by Scooter Software, when deploying changes to production. However when it comes to total control. I will have a branch in SVN for stable and build/release version number and use the switch to switch between the versions. But when it comes to DIFF, BC (Beyond Compare) is as simple as it needs to be. Does the change I made need to be deployed, visually the change says no so then I can deploy that file or line by line. Just in case I was working on other things when I fixed a major bug or something. But eventually one should deploy the best that suits their needs, and SVN is not the way to go. Use what best suits you, but DO NOT USE SVN as a means to keep production upto date. NEVER... -- Senior Coldfusion Developer Aegeon Pty. Ltd. www.aegeon.com.au Phone: +613 9015 8628 Mobile: 0404 998 273 clear statement, I'll use that in my meeting with the boss :) if one read the docs to these tools, one would not use SVN in production. SVN can be expensive when it comes to hard drive space, and one should never ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:310684 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Database Sessions
Thanks James, that makes fair sense, I'll check my connection pooling setting and have a play around, I'll let you know how I get on. Rob -Original Message- From: James Holmes [mailto:[EMAIL PROTECTED] Sent: 11 August 2008 11:55 To: CF-Talk Subject: Re: Database Sessions CF does conenctions two ways: 1) CF uses pooled connections if you have maintain connections checked for the datasource, This means a connection will stay open for quite some time, across multiple web requests. 2) If you don't maintain connections, CF opens a connection at the first cfquery tag and keeps it open until the request ends, so that all the queries in a single request use the same connection. So, at the very least, you should be able to use your temporary table for everything in the page. On Mon, Aug 11, 2008 at 5:42 PM, Robert Rawlins [EMAIL PROTECTED] wrote: Morning guys, Does anyone know how ColdFusion handles opening and closing a database session? Is it for every cfquery tag set? Or for every cftransaction tag set? Or is it less predictable than that? The reason I ask is that I've been looking at using temporary tables in a procedure, as I understand it, SQL Server creates these in a session local variable. I need to know how long the temporary table will be accessible to me in this session scope, can it spread across multiple queries? Or just the single one?. -- mxAjax / CFAjax docs and other useful articles: http://www.bifrost.com.au/blog/ ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:310689 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: SVN in Production
You're an extremely aggressive individual aren't you Andrew? -Original Message- From: Andrew Scott [mailto:[EMAIL PROTECTED] Sent: 11 August 2008 12:15 To: CF-Talk Subject: RE: SVN in Production DO NOT ASSUME WHAT I HAVE DONE OR NOT DONE I have not only been there, but that was 10 years ago and I have not only learnt from that, I have moved onto better and bigger things. If you feel it works for you then continue, but let me tell you this. Move outside of coldfusion and use those same approaches you will be not only scoldered. But I would say you might become an outcast to boot If you feel SVN - production works for you... Then go for it... But let me tell you this, change jobs into java/groovy/grails and you will and I will say this WILL be a minority who knows nothing. I could create an image, this image could be used for 10 different sites and slight changes to each version, but it is only relevant to one of my clients. I would not be making that an export from SVN because you will end up with images that do not belong to the project wasting HD space... Think about it for a minute -- Senior Coldfusion Developer Aegeon Pty. Ltd. www.aegeon.com.au Phone: +613 9015 8628 Mobile: 0404 998 273 -Original Message- From: Tom Chiverton [mailto:[EMAIL PROTECTED] Sent: Monday, 11 August 2008 8:09 PM To: CF-Talk Subject: Re: SVN in Production On Monday 11 Aug 2008, Andrew Scott wrote: The latter should never be an issue, or even considered. Anyone who makes changes to production and not in a development environment shouod be hung out to dry or better still beaten with a stick until you realise that development is what it means. You have clearly never worked with a slightly broken production system, and a PHB/client/boss breathing on your neck. You develop, you fix and you test. And when you and your client are happy then it is moved from dev / qa to production. Man, if only the world was that simple all the time ! SVN was created for one purpose and one purpse only, that was to provide a revision control system for you to roll back, a Actually, no, SVN was created To take over the CVS user base. Specifically, we're writing a new version control system that is very similar to CVS, but fixes many things that are broken (http://subversion.tigris.org/faq.html#why) -- Tom Chiverton This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;203748912;27390454;j Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:310694 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: SQL injection attack on House of Fusion
Rick, That might be a slightly off angle analogy. If a girl asks to be raped, then she is clearly consenting to the act and therefore it's not technically rape any more, that's the real world equivalent of building a server and publishing open source software for download, then complaining that someone 'stole' it. A better analogy is back to leaving the house door unlocked, it still doesn't change the fact that a criminal act has been committed, the burglar still takes your positions without consent, and the burglar would still be found guilty for it, however, I suspect your house insurance wouldn't pay out for the loss. You're right though, this is a shared responsibility issue here, the hacker is legally responsible for his acts, however, you have a responsibility to your client or employer not to leave the door unlocked. Rob -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: 11 August 2008 15:45 To: CF-Talk Subject: RE: SQL injection attack on House of Fusion This would probably be more productively viewed as as responsibility issue, rather than blame. Both parties, webmaster and attacker, bear responsibility for the status of the server/data/etc. A negligent server/website admin bears a certain amount of responsibility for the situation. The attacker also bears responsibility for the consequences of the attack. A court of law might hold only the attacker ultimately responsible. However, the supervisor of a negligent server/website administrator would view it as shared responsibility between the attacker and the attacked, as in, Why wasn't the server/website protected in the first place? Viewing this as a rape case, if a girl was hanging out on a street corner and asking passers-by to rape her, then, yes, she bears some responsibility for putting herself in that situation. It doesn't mean the one who rapes her doesn't bear the greater responsibility for the situation, and, therefore, punishment, but a fair judge would have to ask the girl why was she asking passers-by to rape her in the first place. Girls should reasonably avoid provoking rapists, and rapists should resist their impulses. Likewise, server/website admins should reasonably protect their servers and websites, but hackers should avoid their impulses or share responsibility for the situation. Rick -Original Message- From: Greg Morphis [mailto:[EMAIL PROTECTED] Sent: Monday, August 11, 2008 10:20 AM To: CF-Talk Subject: Re: SQL injection attack on House of Fusion I see it as different than pointing fingers.. You ALLOWED it to happen by not fully protecting your code, you're not necessarily to blame. Anyways, good luck defending the attacks. On Mon, Aug 11, 2008 at 9:15 AM, Dave Morris [EMAIL PROTECTED] wrote: And that girl who was raped should not have been wearing a skirt. Yes, we've implemented things way more sophisticated than CFQUERYPARAM. Anybody who waits until the SQL query to try to detect bogus data is asking for trouble. But crime is crime, and we should not be allowing criminals to CHOP away at our systems until they find that one hole we didn't catch, and then blame it on the victim! Dave Morris -Original Message- From: Greg Morphis [mailto:[EMAIL PROTECTED] Sent: Monday, August 11, 2008 9:04 AM To: CF-Talk Subject: Re: SQL injection attack on House of Fusion Ummm but is it not your website that YOU left vulnerable? If you didn't have access to cfqueryparam then you should have used an alternate approach. I'm sure they exist even for CF 4.0, a little extra time at the beginning validating variables would save so much grief now right? And from what I'm hearing from popular sites is it's not so much the cfqueryparam because they are still getting hit thousands of times every minute, like HoF. So there's other steps, not just within CF. I think MD was working on a something to stop the intruders at the server, before it even hits CF. I'm not saying it's entirely YOUR fault but you allowed it to happen, same thing Dave Watts is saying.. On Mon, Aug 11, 2008 at 7:45 AM, Dave Morris [EMAIL PROTECTED] wrote: Ah. You're from the blame the victim school. Unfortunately, when I wrote the first 1,000 ColdFusion templates using Ben Forta's CF 4.0 book, there was no CFQueryParam. So going back and rewriting all those programs (now well into several thousand) has been a bitch. And all it took was one missed spot. So I shouldn't be mad at the poor little hackers, because they were doing us all favor by pointing out our faults. That is your school of thought, right? Dave Morris -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED] Sent: Sunday, August 10, 2008 11:15 PM To: CF-Talk Subject: RE: SQL injection attack on House of Fusion Anyway, I propose the dot-com millionaires who left us stuck with the
Re: MMS in ColdFusion?
Afternoon Greg, I've done my fair share of SMS and MMS messaging in the past from cf applications. You should'nt need any JAVA work arounds however I would definitly stear clear of the cfmail route, people have reported many problems about that in the past, ol' Ben did a good job of pointing those out in that blog post. You need two things to get yourself running: A) An aggregator. This is a service provider who will send the messages to your recipients. B) The cfhttp tag. This will allow you to hit the aggregators webservices and make your requests to send messages. For MMS messages you usualy have a field which contains a base64 encoded binary data of the file you're looking to send, this can be gotten using simple cffile reads and the toBase64() method. Do some googling around for SMS aggregators, there are many to choose from and they usualy offer a free trial with 10-20 message credits for you to play around with. They will also offer a bunch of different communication methods so you dont have to use cfhttp if you dont want. Robert From: Greg Morphis [EMAIL PROTECTED] Sent: 16 May 2008 16:08 To: CF-Talk cf-talk@houseoffusion.com Subject: Re: MMS in ColdFusion? Please do.. send me anything you can. I'll check out openwave MMS SDK On Fri, May 16, 2008 at 9:49 AM, Rich wrote: Greg, I just completed a project that involved MMS. I don't know of a really simple way to send MMS messages from CF without the use of java. I used the openwave MMS SDK in combination with custom java classes to deliver MMS messages using the MM7 protocol under CF. If you would like I can provide some of the problems / solutions to save you a few steps if you chose to take this road. Rich Kroll ~| 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:305435 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: MMS in ColdFusion?
Hello Guys, When working with it I was simply sending http POST requests to my aggregators web service, it was a very simple REST service. By the looks of things its all grown up in the past year with some people using MM7 which appears to be an iterface built on SOAP, so instead of using a REST service and the standard cfhttp tag you'd have to look into using cfinvoke to call it... however, and here is where I think Rick has more experiance than me, some data is sent using SOAP attachments which are currently not supported by the standard cftags, so you would need to look at using one of the JAVA webservice libraries. I'm sure you will still find aggregators which give you the basic REST service to post to, they can then do the complicated work of making the MM7 protocol calls to the service providers. Robert From: Greg Morphis [EMAIL PROTECTED] Sent: 16 May 2008 16:50 To: CF-Talk cf-talk@houseoffusion.com Subject: Re: MMS in ColdFusion? I just spoke with my contact.. and they mention MM7 traffic via a VASP This is all greek to me.. will an SMS Aggregator still work here? Or will I need to go the openwave route? Thanks guys On Fri, May 16, 2008 at 10:44 AM, Greg Morphis wrote: Apparently they have SOAP set up.. if I just hit the URL I get SOAP Message Router Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me. On Fri, May 16, 2008 at 10:37 AM, Rich wrote: Robert, Were you doing a http post to the aggregator, or is there a way to send via MM7 that I completely missed? Rich ~| 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:305460 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Avoid multiple form submits.
Hello Guys, I've got an issue with a form which is sometimes a little slow to process. Seems that some of the users are clicking the submit button a whole bunch of times and we're getting a few problems arise as a result of it. How are you tackling this problem? presumably something with jQuery would be nice but I wanted to get your thoughts. Any ideas and code examples welcome :-D Robert ~| 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:304978 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Avoid multiple form submits.
Thanks for the suggestions guys, The JS based solution doenst quite work for me, it seems to grey the button out and change the value to 'please wait' but doesnt actualy submit the form :-) I've read about this on a few different occasions and appears to be a problem with IE7 or something like that, I dont know, any ideas? As for the cfinput solution, I did try this but when the submit button is clicked it doesnt disable itself, is that correct behaviour? or should the button become disabed once it has been clicked? Thanks guys, I appreciate your input (no pun intended.) Robert ~| 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:304994 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: GetFileInfo MB or kb - bytes formating?
cfset mb_format = 1273998 / 100 / cfoutput#mbformat#/cfoutput You could probably use one of the format functions to round it off to the nearest 2 decimals. Hope that helps Paul, Robert -Original Message- From: Paul Ihrig [mailto:[EMAIL PROTECTED] Sent: 19 March 2008 15:37 To: CF-Talk Subject: GetFileInfo MB or kb - bytes formating? #GetFileInfo(C:/Inetpub/wwwroot/literature/pdf/#GetSectionsLit.lit_pdf#).s ize# this out puts bytes with no formating. 1273998 how would i get it to be 1.27 MB and say it was 273998 for it to show 27.3 kb would i do an if statement to LEN 7 and surround it with number format. seems like alot of noddling... ~| 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:301577 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: cheap CF8 hostings
Hi Ali, I've got both shared accounts and dedicated servers with www.crystaltech.com. They're very affordable and there technical support is second to none, they come highly recommended, I know quite a few other cf developers use them and I've never heard anything but positive feedback about them. They will also fit your $200 a year budget. Take a look at the site and see if it takes your fancy. Robert -Original Message- From: Ali [mailto:[EMAIL PROTECTED] Sent: 14 March 2008 12:09 To: CF-Talk Subject: cheap CF8 hostings Hi: Is there any CF8 shared hosting company which has cheap windows hosting plans for small CF sites? Ideal prices will be under 200$ a year shared web hosting. Thanks Ali ~| 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:301242 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Sending File Data Over Webservice
Morning Mark, That's an excellent and thorough answer, thanks. It's nice to see someone who has tried this kind of approach themselves and got a little experience with it. I like this idea of issuing a token for the files, that's quite neat. Another great little idea is delivering the files using cfcontent which means they don't have to be web accessible, this is a very nice security factor, I like it a great deal. What are the overheads like on using cfcontent to deliver a file opposed to simply having it available in a web accessible directory? Cheers Mark, Robert -Original Message- From: Mark Kruger [mailto:[EMAIL PROTECTED] Sent: 27 February 2008 21:19 To: CF-Talk Subject: RE: Sending File Data Over Webservice Robert, We have a web service used for the state of California that wraps image files up as base64 - exactly as you suggest below. The image files are obviously much smaller than media files (mostly less than half a meg), but I can tell you that you are on the right track thinking that it is a resource intensive way to go. If we were doing larger files we would probably use something much dumber than a web service (also as you suggest) - a URL to retrieve the file via HTTP. Of course you can pass a token or something that is good for only 1 retrieval and then serve the file from a location outside the web root (for security). You could also zip it. But after zipping and using cfcontent and checking credentials you now have a second request that could be resource intensive as well. The bottom line is that there is no great low resource way to securely send files around in an SOA type architecture. -Mark Mark A. Kruger, CFG, MCSE (402) 408-3733 ext 105 www.cfwebtools.com www.coldfusionmuse.com www.necfug.com -Original Message- From: Robert Rawlins [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 27, 2008 2:48 PM To: CF-Talk Subject: Sending File Data Over Webservice Hello Guys, I'm after a little advice on refactoring a web service which I have running on one of my applications. The webservice isnt a standard ColdFusion webservice running over SOAP, this is a custom REST service which simply recieves POST data into the FORM scope and then spits back an XML document for the client to read. Now, I basicly offer a bunch of multimedia content over this webservice, anything from text, through to images, sound and video. With the current setup, when a request is made to the service for a particular piece or set of multimedia, the media is zipped on the server into an archive file, the binary data of which is then read into a base64 encoded string and this is then passed back to the client wrapped in some XML over the web service. The challenge I meet with this is not knowing how to weigh up the cost of bandwidth and security against the load hit this causes on the server. See, at the moment, with zipping the content I'm saving a substantial amount of bandwidth, also with zipping the files and sending them as a string I have the ability to be able to produce a HASH key checksum for the file, then when the file arrives the other end, the client can rebuild the file and checksum to make sure all is alive and well after the transmition. Now, the real downside to this option is that it must be hungry on the system, all the checksumming and zipping must be making some form of performance hit, right? especialy on what will likely become a very busy little web service in the comming months. My other planned method of attack is to not pass the files through the webservice at all, but simply pass a web accessible path for them, the client application could then simply loop through the returned XML and make http requests to download the media, this would obviously up the bandwidth but does offer less load involved with compressing the media. I'm sorry the question isnt a little more specific about what I'm asking, I'm just thinking out loud really, hoping somone will chime in and offer thier thoughts. How would you tackle this challenge? what would your priority be? bandwidth or reducing the load on the server? is it plausable to offer a checksum solution even if we're not sending the binary data over the service directly so we can still offer that level of security without the overhead of the zipping? I'm looking for the best ballance. I'd be interested to get your thoughts. Rob ~| 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:300051 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Sending File Data Over Webservice
Thanks Dave, Unix? What's that? Heh, I'm only pulling your leg, I know what Unix is. I thought that cfcontent would be an intensive little monkey, it doesn't surprise me to hear you've found that in the past, it's nice to have that confirmation. I think my real goal with this is to keep it as unintensive as possible, I mean, keeping the files hidden from web access isn't the absolute end of the world, if people view and download them it has no real consequence, other than eating all my bandwidth, however, all the files are stored with a UUID as the name so it's not as if people will stumble across them by accident. One thing I'm considering as an option at the moment is maintaining the theory of passing the binary data back over a webservice, however, cutting out the compression, at least this makes the load on the server a little less and it's just the bandwidth which is going to take a bit of a hit, maybe 10-20% or something like that, quite manageable though. What do you think, does that sound a solution? Or would you still look around at the idea of making files temporarily accessible? Robert -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED] Sent: 28 February 2008 09:07 To: CF-Talk Subject: RE: Sending File Data Over Webservice What are the overheads like on using cfcontent to deliver a file opposed to simply having it available in a web accessible directory? Significant, in my past experience. The CFCONTENT request monopolizes a CF thread for the duration of the download. As an alternative, you might consider creating temporary URLs; you can easily do this on Unix using symlinks. You can create symlinks to directories in Windows, and that might be sufficient also. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Training: Adobe/Google/Paperthin Certified Partners http://training.figleaf.com/ WebManiacs 2008: the ultimate conference for CF/Flex/AIR developers! http://www.webmaniacsconference.com/ ~| 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:300053 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Sending File Data Over Webservice
I wonder if this can also be done using underlying JAVA classes and things like that? Might be worth looking around for some libraries. Rob -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED] Sent: 28 February 2008 16:36 To: CF-Talk Subject: RE: Sending File Data Over Webservice I have never used the symlink idea - although I've heard him mention it before. I'd be interested in a code snippet on how to do this on the fly in Linux. Would you have to pass arguments to a shell script Dave? Yes, or in Windows, to a batch file that runs the Sysinternals tool junction.exe. I suppose you could just invoke junction.exe directly with CFEXECUTE, but I haven't tried that. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Training: Adobe/Google/Paperthin Certified Partners http://training.figleaf.com/ WebManiacs 2008: the ultimate conference for CF/Flex/AIR developers! http://www.webmaniacsconference.com/ ~| 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:300098 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Sending File Data Over Webservice
Hello Guys, I'm after a little advice on refactoring a web service which I have running on one of my applications. The webservice isnt a standard ColdFusion webservice running over SOAP, this is a custom REST service which simply recieves POST data into the FORM scope and then spits back an XML document for the client to read. Now, I basicly offer a bunch of multimedia content over this webservice, anything from text, through to images, sound and video. With the current setup, when a request is made to the service for a particular piece or set of multimedia, the media is zipped on the server into an archive file, the binary data of which is then read into a base64 encoded string and this is then passed back to the client wrapped in some XML over the web service. The challenge I meet with this is not knowing how to weigh up the cost of bandwidth and security against the load hit this causes on the server. See, at the moment, with zipping the content I'm saving a substantial amount of bandwidth, also with zipping the files and sending them as a string I have the ability to be able to produce a HASH key checksum for the file, then when the file arrives the other end, the client can rebuild the file and checksum to make sure all is alive and well after the transmition. Now, the real downside to this option is that it must be hungry on the system, all the checksumming and zipping must be making some form of performance hit, right? especialy on what will likely become a very busy little web service in the comming months. My other planned method of attack is to not pass the files through the webservice at all, but simply pass a web accessible path for them, the client application could then simply loop through the returned XML and make http requests to download the media, this would obviously up the bandwidth but does offer less load involved with compressing the media. I'm sorry the question isnt a little more specific about what I'm asking, I'm just thinking out loud really, hoping somone will chime in and offer thier thoughts. How would you tackle this challenge? what would your priority be? bandwidth or reducing the load on the server? is it plausable to offer a checksum solution even if we're not sending the binary data over the service directly so we can still offer that level of security without the overhead of the zipping? I'm looking for the best ballance. I'd be interested to get your thoughts. Rob ~| 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:300018 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Woops, I've F***ed up my rich text editor.
Morning Rick, That did indeed appear to be the main problem mate, along with some funny characters in the JS file which got copied across when I copied and pasted from the browser. I've made those changes and it now appears to be working just peachy! Thanks mate, Rob -Original Message- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: 01 January 2008 13:45 To: CF-Talk Subject: RE: Woops, I've F***ed up my rich text editor. Hi, Robert... and happy new year! Your issue with the rich cftextarea and the file uploads sounds exactly like what happened with me. The solution for me was to further modify the config.cfm file (FCKeditor\editor\filemanager\upload\cfm\config.cfm) on line 30. I had to change the config.serverPath value to a hard coded value, since FCKeditor isn't running directly off the root of the application using it. I found notes concerning this one line 30 of that file. I stumbled upon them while looking for a solution to the same problem you seem to be having. You also have to change the config.serverPath value to the same value as above for the config.cfm file in FCKeditor\editor\filemanager\browser\default\connectors\cfm\config.cfm. If your situation meets the criteria for changing the config.serverPath as mentioned on line 30 of both the config.cfm files mentioned above, trying hard coding the config.serverPath to a local system value such as E:\inetpub\webroot\userfiles\ or whatever path leads to the userfiles folders you're using. Rick -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 01, 2008 8:13 AM To: CF-Talk Subject: Woops, I've F***ed up my rich text editor. Good morning guys! Happy new year to you all. So, 2008 is already causing me stress and woe :-D I'm hoping you guys can give me a hand. This morning I've been working on a small dynamic CMS for a friends site and took the new rich cftextarea out for the first time. It worked nicely! I then followed the steps on Rakshith's blog to get file uploads working on it, however I now seem to have broken the entire thing, after completing all the steps in the post I went to the page with my editor on it to find the editor not loading, just an empty white container, and a JavaScript error in the status bar of my browser. http://www.rakshith.net/blog/?p=41 I've gone over and over the steps in that blog article and can't see what it is that's causing me the issue, everything looks to be exactly as it should be. Has anyone got any ideas as to what's going wrong? Thanks, Rob ~| 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:295697 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Woops, I've F***ed up my rich text editor.
Good morning guys! Happy new year to you all. So, 2008 is already causing me stress and woe :-D I'm hoping you guys can give me a hand. This morning I've been working on a small dynamic CMS for a friends site and took the new rich cftextarea out for the first time. It worked nicely! I then followed the steps on Rakshith's blog to get file uploads working on it, however I now seem to have broken the entire thing, after completing all the steps in the post I went to the page with my editor on it to find the editor not loading, just an empty white container, and a JavaScript error in the status bar of my browser. http://www.rakshith.net/blog/?p=41 I've gone over and over the steps in that blog article and can't see what it is that's causing me the issue, everything looks to be exactly as it should be. Has anyone got any ideas as to what's going wrong? Thanks, Rob ~| 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:295638 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Version Controll with IIS
Hello Chaps, I know many of you are running SubVersion for your version control on your Apache based servers, and to be honest I think its about time I got up and running with some proper source control, the number of Projects I have 'on the go' is growing and I need to tidy up my management a little bit before it start getting out of hand. After spending some time looking around it seems as if SubVersion only runs on Apache, which is fair enough I supose, however, I'm currently running on IIS6. I could upgrade or swap the web server over to Apache, but to be honest this is not in the slightest bit desirable as I dont want to play with my production environment like that. Is there a decent source control solution available for IIS? after hunting around nothing jumped out at me. Can I perhaps run Apache alongside IIS purely for the version control access? I'd really appreciate some pointers. If so, then how? I've also got a couple of questions about the way in which version control works. Currently I develop on my local network (I have a test server setup here). Then, once I'm happy that the code is running neatly I SFTP a copy up to the server and it becomes live on production. Does VersionControl replace that requirement for SFTP? From what I've seen of other SVN and CVS servers, when I want to start working on the code I 'check out' a copy into my Eclipse, Then work on it. How do I then republish my changes to the server? Is that somthing that SVN and CVS handle for me? I'm really after some tips and tricks on how to manage my project efficiently with Eclipse and source control. Thanks for your advice guys, I really appreciate it. Rob ~| Get the answers you are looking for on the ColdFusion Labs Forum direct from active programmers and developers. http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid-72catid=648 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:293070 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Creating an Audit Trail
If you're using anything like the ColdSpring framework then you can apply this stuff using AOP. I've only recently started working with this concept but it really is a fantastic one. Failing that then I would defiantly recommend building a LoggingService CFC which handles all the logging for the application, it allows you to keep the logging methods consistent across the application. The logging class I've been working on is based on the concept of being able to log to both file and database, with different log levels, such as info, warning, error, critical, debug etc. Without knowing a little about how your current solution is built its hard to advise really, how does the current one work? Do you perhaps have a code sample? Hope that helps, Rob -Original Message- From: Eron Cohen [mailto:[EMAIL PROTECTED] Sent: 31 October 2007 13:56 To: CF-Talk Subject: Creating an Audit Trail I have a multiuser CSR application that has some audit functionality to track certain changes to customer records (for instance change of first name or last name, who changed it and what was it before?). It already logs these changes, but I think it could be more efficient. I was wondering if anyone could comment on how they would go about doing this. Right now, it is strictly code-based. The database is SQL Server 2000 and the server is ColdFusion 8. Thank you ~| Create robust enterprise, web RIAs. Upgrade to ColdFusion 8 and integrate with Adobe Flex http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:292403 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: cfqueryparam and dynamically-created SQL
Yep, I think like with queryparam, you have to look outside of the performance benefits when working with stored procedures. The other benefits come when you have very complex queries that are accessed from several locations within an application, or multiple applications, this means not having to duplicate the query SQL code, it also helps with maintenance of the query down the line if needs be. There are probably performance benefits, but I'd imagine that if performance is a REAL concern to you, there are plenty of other places within your application where your time would be better spent optimizing, you'll likely get better performance benefits by considering things like caching of queries and objects and so on. Like the other guys have picked up on, the biggest performance on queries will come from good SQL code, you're best off spending some time in your database studio checking query performance times and looking at execution plans, playing with the SQL and table Indexing. Rob -Original Message- From: Dominic Watson [mailto:[EMAIL PROTECTED] Sent: 25 October 2007 09:50 To: CF-Talk Subject: Re: cfqueryparam and dynamically-created SQL I whole-heartedly agree and when I get some time I will do some testing. What I imagine to be the case is that the more complex the SQL required, the more likely it is that a stored procedure is beneficial but perhaps this is wrong (it is certainly blind assumption). Regardless of that, I like to contain all my data logic inside the database itself - feels clear in my head that way. Anyways, this is drifting off topic - just wanted to give an alternative to the OPs solution to his problem ;) Dom On 24/10/2007, Mark A Kruger [EMAIL PROTECTED] wrote: Dom, To know this you have to test. SPs are marginally faster in most cases - and just like cfqueries they have to be well written. There is not enough of a boost in performance (when comparing SPs to well written queries using cfqueryparam to bind the data) to make a hard and fast rule that SPs are best practice in all cases - that's my .02. Having said that, in a team enviornment there is some division of labor benefits. -Mark -- Blog it up: http://fusion.dominicwatson.co.uk ~| Create robust enterprise, web RIAs. Upgrade to ColdFusion 8 and integrate with Adobe Flex http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:292046 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: cfqueryparam and dynamically-created SQL
Yep, I agree with Tom, _always_ use it. If you haven't done so already, do some research on 'SQL Injection Attacks' which you are vulnerable too when not using cfqueryparam ... You'll be having nightmares and panic attacks for days, until you wrap all your dynamic SQL in cfqueryparam. Rob -Original Message- From: Tom Chiverton [mailto:[EMAIL PROTECTED] Sent: 24 October 2007 10:39 To: CF-Talk Subject: Re: cfqueryparam and dynamically-created SQL On Tuesday 23 Oct 2007, [EMAIL PROTECTED] wrote: Does the presence of the cfif statement inside the cfquery block negate all the performance benefits I would have otherwise gained from using cfqueryparam? You have to remember cfqp doesn't just buy you performance, but security and robustness too. Any tiny, tiny, performance hit is unlikely to out weigh that. If so, I would guess this is a common issue people run into. Is there a best practice for handling this kind of situation? Use cfqp. Always use cfqp. -- Tom Chiverton. Are you a great ColdFusion programmer, who knows Reactor and ColdSpring, and has done some Flex work ? Would you like to work for a top 30 law firm in Manchester, UK ? Are you not an agency ? If yes, send email ! This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at St James's Court Brown Street Manchester M2 2JF. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 8008. For more information about Halliwells LLP visit www.halliwells.com. ~| ColdFusion is delivering applications solutions at at top companies around the world in government. Find out how and where now http://www.adobe.com/cfusion/showcase/index.cfm?event=finderproductID=1522loc=en_us Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291947 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: cfqueryparam and dynamically-created SQL
Try not to think about queryparam as a performance benefit so much, The performance increase isn't really anything that massive, think about it from a security perspective. Without cfqueryparam people will add, edit and remove content from your database, gain access to secure sections of your site, steal important information from you, names, address, credit card information and so on. queryparam really is important... _really_ important ... I can't stress that enough. Why is it that you find it annoying? Because of the extra few moments it takes to code? It really is worth that extra few seconds to wrap up all your dynamic parameters, once you get in to the habbit you won't even think twice about it. Rob -Original Message- From: Ben Mueller [mailto:[EMAIL PROTECTED] Sent: 24 October 2007 17:33 To: CF-Talk Subject: Re: cfqueryparam and dynamically-created SQL Thanks, all, for your replies. So, a follow-up question: will SQL create multiple prepared statements for each condition? If so, that's great. My fear is that it will only create 1 prepared statement for each cfquery block, so if the current statement doesn't match the previous statement, it would discard the previous one and create a new one. I have a bunch of queries that have 8 or more cfif conditions, almost all in the WHERE clause. Obviously, the more cfif conditions there are, the greater the likelihood that any one individual call won't match the previous one. I know cfqp is really good and all that, but this would be pretty annoying if I got no real performance benefit. Yes, to the extent that you are less likely to have another query with the same prepared statement (and the same execution plan, of course) that can be run again. Frankly, though, I wouldn't worry too much about that, since coding around that causes all kinds of problems. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ ~| ColdFusion is delivering applications solutions at at top companies around the world in government. Find out how and where now http://www.adobe.com/cfusion/showcase/index.cfm?event=finderproductID=1522loc=en_us Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291981 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Which query would be better?
Just as a note on performance, When thinking about using OR, you should consider splitting it into separate queries and using a UNION or UNION ALL to join them together. Rob -Original Message- From: Dominic Watson [mailto:[EMAIL PROTECTED] Sent: 22 October 2007 16:35 To: CF-Talk Subject: Re: Which query would be better? Also, regardless of the performance factors, I prefer the IN method as it is easier to upgrade. Dominic On 22/10/2007, Ben Doom [EMAIL PROTECTED] wrote: Offhand, I'd guess using the in syntax, if only because it makes your million-line query smaller. However, if you really want to know, write it each way, populate a db with a million rows of fake data, and time it. --BenD Will Tomlinson wrote: MySQL 5. Which would be the better choice for a report table. I'm concerned and want the query to run as fast as possible because there could end up being millions of records in it. I could add the number of fields I need (not worried about the flattening of this table and lack of normalization). Instructor1, instructor2, 3, 4, etc. Then query like this: AND (e2.instructor1id = cfqueryparam value=#ARGUMENTS.instructor# OR e2.instructor2id = cfqueryparam value=#ARGUMENTS.instructor# OR e2.instructor3id = cfqueryparam value=#ARGUMENTS.instructor# ) OR ... I could easily create a list of values, then use the IN keyword: AND someotherfield IN (cfqueryparam value=#ARGUMENTS.somevaluelist# list=yes) Thanks, Will ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291753 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: DEATH to HOMESITE
This is very true Brian, I agree whole heartedly, However, in the past I've always found subversion a total pain in the arse to setup and configure, it's just very confusing. My guess is that this stems from the fact that it was seemingly developed with Linux in mind, with command lines and compiling binaries, if they made it a little more intuitive to people (I suspect a large number of new developers will opt for windows OS as its 'what they know'), instead of the linuxy style methods they've used, I'm sure it would be more widely adopted by less experienced developers. It reminds me of the same reason why so many people pick up the bad habit of developing using access databases, it's simply because to a beginner developer they seem more accessible than a proper DBMS, As a novice developer trying to figure out installation and configuration of MySQL or SQL Server is quite confusing, especially when you have to setup management studio or phpMyAdmin, whereas the concept of a single file which can be easily created in a nice desktop based GUI is very simple to grasp, so most novice developers will start with access, especially considering all that functionality comes 'out of the box' with m$ office. I completely agree that source control through a proper SVN approach will pay dividends, but it's just one of those concepts that isn't A) Publicised to people properly, if you mention subversion to most amateur developers they would stare blankly back at you, however, ftp is very familiar. And. B) Accessible and simple enough to implement, even with these 'one touch' style solutions that subversion released for windows users. They're just my thoughts, Another quick gripe is with some of the guides and support documents I've read in the past, they're always typical Linux user style blog posts and forum remarks, showing a total lack of sympathy toward new and learning developers, making wide sweeping statements like 'and then simply update your system environment variables, and you're done!'... amateur users won't have a clue what you're on about, even someone whom is reasonably experienced with Linux development finds that stuff confusing. Heh, man I'm in a tired and grouchy mood today, can you tell? Lol Sorry for the rantish post chaps, Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 20 October 2007 15:43 To: CF-Talk Subject: Re: DEATH to HOMESITE I was going to say the same thing. This issue isn't really a case of Homesite vs. Eclipse, it's about always, always, always using source control. Always. On 10/19/07, Paul Vernon [EMAIL PROTECTED] wrote: F*cking HomeSite+ wiped out my file on the server (AGAIN). I do a file write, it hangs, and I have to kill HomeSite. When I start homesite again, guess what, the file is gone from the server. Source control, Source control, Source control or to put it more concisely, SVN, SVN, SVN! There are some great Subversion plugins for CFEclipse :-) Subclipse is the one I believe most of the CFEclipse users use... Paul ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291659 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Stop View Source
Yep, I agree with Tom, if we're talking html then this is completely impossible. Rob -Original Message- From: Tom Chiverton [mailto:[EMAIL PROTECTED] Sent: 19 October 2007 15:57 To: CF-Talk Subject: Re: Stop View Source On Friday 19 Oct 2007, [EMAIL PROTECTED] wrote: can stop people from viewing the page source code. This is impossible (assuming you mean the HTML output). -- Tom Chiverton. Are you a great ColdFusion programmer, who knows Reactor and ColdSpring, and has done some Flex work ? Would you like to work for a top 30 law firm in Manchester, UK ? Are not an agency ? If yes, send email ! This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at St James's Court Brown Street Manchester M2 2JF. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 8008. For more information about Halliwells LLP visit www.halliwells.com. ~| Get involved in the latest ColdFusion discussions, product development sharing, and articles on the Adobe Labs wiki. http://labs/adobe.com/wiki/index.php/ColdFusion_8 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291574 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
CreateODBCDateTime
Hello Guys, I've never been in the habit of using CreateODBCDateTime() in the past but after reading a few times that it's the recommended route to go when entering values into the database I thought I'd give it a shot, however its causing a few issues and so thought I'd come and clear up how this is best applied. I'm running SQL Server 2k5 and on my create and update methods I write the current date and time to a couple of columns, using the following method: DateCreated = cfqueryparam value=#now()# cfsqltype=cf_sql_timestamp / This has always worked nicely and I've never really had any reason to believe that it wouldn't, however, like I say, after reading about the createODBCDateTime() method I thought I'd give that a shot if it's considered to be a better practice. DateCreated = cfqueryparam value=#createODBCDateTime(now())# cfsqltype=cf_sql_timestamp / However this only enters the date into the database, and the time portion is left to sit as 00:00:00. Can anyone explain why this is? And perhaps elaborate a little on when and where I should be using the createODBCDateTime() method and where I should not? Thanks for your time guys, this seems like a bit of a silly question to ask but thought I'd get your thoughts on it. Rob ~| Create robust enterprise, web RIAs. Upgrade to ColdFusion 8 and integrate with Adobe Flex http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291184 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CreateODBCDateTime
That's a good question Aaron, I hadn't thought to use the build in functions from SQL to do that for me, I like the idea. Rob -Original Message- From: Aaron Rouse [mailto:[EMAIL PROTECTED] Sent: 16 October 2007 12:55 To: CF-Talk Subject: Re: CreateODBCDateTime Out of curiosity if the date/time you want to put in is the system date/time then why even pass it in via CF over using the databases built in functions for date/time? On 10/16/07, Robert Rawlins - Think Blue [EMAIL PROTECTED] wrote: Hello Guys, I've never been in the habit of using CreateODBCDateTime() in the past but after reading a few times that it's the recommended route to go when entering values into the database I thought I'd give it a shot, however its causing a few issues and so thought I'd come and clear up how this is best applied. I'm running SQL Server 2k5 and on my create and update methods I write the current date and time to a couple of columns, using the following method: DateCreated = cfqueryparam value=#now()# cfsqltype=cf_sql_timestamp / This has always worked nicely and I've never really had any reason to believe that it wouldn't, however, like I say, after reading about the createODBCDateTime() method I thought I'd give that a shot if it's considered to be a better practice. DateCreated = cfqueryparam value=#createODBCDateTime(now())# cfsqltype=cf_sql_timestamp / However this only enters the date into the database, and the time portion is left to sit as 00:00:00. Can anyone explain why this is? And perhaps elaborate a little on when and where I should be using the createODBCDateTime() method and where I should not? Thanks for your time guys, this seems like a bit of a silly question to ask but thought I'd get your thoughts on it. Rob ~| Download the latest ColdFusion 8 utilities including Report Builder, plug-ins for Eclipse and Dreamweaver updates. http;//www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5adobecf8%5Fbeta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291188 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: cferror wont fire on syntax problems
I'm not sure what version of CF you're running, however if its 7+ then I would look at moving over to Application.cfc, its far more comprehensive in a great many ways. You can then use the onError() method to handle any exceptions thrown, it's quite a bit cleaner. Rob -Original Message- From: Michael E. Carluen [mailto:[EMAIL PROTECTED] Sent: 15 October 2007 16:25 To: CF-Talk Subject: cferror wont fire on syntax problems I have the following catch-all cferror in place on my application.cfm: cferror type=EXCEPTION exception=any template=/error/index.cfm mailto=[EMAIL PROTECTED] cferror type=REQUEST template=/error/index.cfm mailto=[EMAIL PROTECTED] However, If I run my test page with a bad cf syntax cfoutput#now(#/cfoutput, it still displays the default error display thrown by CF, and not my specified template. Any ideas, suggestions anyone? ~| Get involved in the latest ColdFusion discussions, product development sharing, and articles on the Adobe Labs wiki. http://labs/adobe.com/wiki/index.php/ColdFusion_8 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291124 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Encrypted String - SQL Field Length
Hello Guys, Is there any way to predict the database field length I'll need to facilitate my encrypted data? I'm using AES encryption with HEX encoding for all kinds for different data, from names and address', through to credit card information. I'm looking to define appropriate column lengths in my tables, is this easy to predict? Does AES encryption give me a regular string length regardless of that of the original string? Thanks guys, Rob ~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291032 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Check File For Change
Thanks Claude, That certainly sounds like an excellent idea, I also like the concept about ensuring two files are not the same, just with different file names, this could most certainly play nicely in my application. Even if the tag is not published I'd love to hear a little about the concepts of how it works, you can mail me off list if you'd prefer to keep it private. Thanks again for the advice mate, I'll look into that directory tag too. Rob -Original Message- From: Claude Schneegans [mailto:[EMAIL PROTECTED] Sent: 14 October 2007 16:45 To: CF-Talk Subject: Re: Check File For Change Does that sounds like a fair concept? It sure is. I have written such a tag and it works. I use it to make sure two images are not the same, even if they have different file names. But I have not publish the tag yet. I also have a tag that return a correct time stamp about a file, to the second and consistent over all CF versions, see CFX_ListDir http://www.contentbox.com/claude/customtags/ListDir/viewListDir.cfm -- ___ REUSE CODE! Use custom tags; See http://www.contentbox.com/claude/customtags/tagstore.cfm (Please send any spam to this address: [EMAIL PROTECTED]) Thanks. ~| Download the latest ColdFusion 8 utilities including Report Builder, plug-ins for Eclipse and Dreamweaver updates. http;//www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5adobecf8%5Fbeta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291037 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Check File For Change
Hello Guys, I've got an application that receives files from an upload form, the user can then come and view/download those files again at a later date. When the file is uploaded I store the basic details, such as the files path and name into a database table, these entries are displayed to the user with a download link, once the link is clicked the file is then served to the client using the cfcontent tag. Now, I'm looking for a method to ensure that the file has not been modified on the file system since the user uploaded it, the chances of it being modified are exceptionally slim, I know, but the consequences of it having happened are quite serious, so I need to be sure. I'm thinking about implementing some form of MD5 check sum on the files, this sum will be saved to the database when the file is uploaded, and checked against a newly generated checksum before the file is served back to the user again. Does that sounds like a fair concept? How severally is it likely to hit performance? Is there a better option? I've also not done any of this MD5 work before, has anyone got any pointers on the best way to handle it? Thanks again, Rob ~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291012 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Jeez, Sorry chaps, It would appear that my British Telecom SMTP server was playing up yesterday and duplicating the damn things, it 'appears' to be much better this morning. Sorry for all the trouble. Rob -Original Message- From: Claude Schneegans [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 22:26 To: CF-Talk Subject: Re: Invoking component Damn, I replied to the wrong thread . . and you've got a severe hiccup? -- ___ REUSE CODE! Use custom tags; See http://www.contentbox.com/claude/customtags/tagstore.cfm (Please send any spam to this address: [EMAIL PROTECTED]) Thanks. ~| Download the latest ColdFusion 8 utilities including Report Builder, plug-ins for Eclipse and Dreamweaver updates. http;//www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5adobecf8%5Fbeta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290846 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: CFC Composition and/or Extention
Brian or anyone else, I've come to a bit of a stumbling block when working on this extended DAO model which has gotten me a little confused. It comes when trying to figure out my create() method inside my sub class DAO. The idea we talked about below would be to pass in the object which is to be persisted into the create() method of my sub class object, and then at the top of the method run SUPER.create(ARGUMENTS.SubObject) before running my standard create query. Now the problem with this arises in the fact when I create an entry in my sub classes table, I need to know the ID of the freshly made entry in my super classes table, so as to establish their relationship. Now I could do this in my super classes create() method, by having it return the ID for the entry it just created, however this does feel a little unusual, mainly because I'm not used to working with super objects, is that the correct way to handle it or is there a better way which I can't see? Thanks again chaps, R -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 09 October 2007 21:50 To: CF-Talk Subject: RE: CFC Composition and/or Extention Oooh! Nice concept Brian, I hadn't thought about extending DAO's like that...I like it a lot. I now knight thee, Brian The Brain Kotek Thanks mate, Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 09 October 2007 18:25 To: CF-Talk Subject: Re: CFC Composition and/or Extention I would follow the same subtype/supertype idiom in your DAO objects. Have an abstract MediaDAO which handles all the database interaction for the Media table, and have concrete subtypes for each type of Media (VideoDAO, ImageDAO, etc.) so that they can handle their own type-specific data. I would have the concrete DAOs first run something like super.insert(data) so that the superclass will handle whatever has to happen with the Media table, and then they can go on doing their own type-specific database interactions with their own tables. On 10/9/07, Robert Rawlins - Think Blue [EMAIL PROTECTED] wrote: Thanks again Brian, another great reply, Yes these will defiantly be staying as a cast type, i.e. a image will always be an image and nothing more so at the moment I think the extended super class kind of makes good sense for me, taking a base Media object with the common attributes and extending it to the other sub classes which contain individual/unique properties. I then keep control over the whole lot with a service. One other thing I am wondering is how to organise my DAO's for this, should the Media class have its own DAO separate from the sub types? Or should the DAO's for my sub types deal with the media table as well as their own? I'm guessing the former, so that in my service saveImage() method it passes the super inited Image object to both the MediaDAO and the ImageDAO and they can just suck out the properties they need to persist it. Does that sound like the best option? Thanks again mate, Rob ~| Check out the new features and enhancements in the latest product release - download the What's New PDF now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290723 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Get the answers you are looking for on the ColdFusion Labs Forum direct from active programmers and developers. http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid-72catid=648 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290782 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290787 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| ColdFusion is delivering applications solutions at at top companies around the world in government. Find out how and where now http://www.adobe.com/cfusion/showcase/index.cfm?event=finderproductID=1522loc=en_us Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290786 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Download the latest ColdFusion 8 utilities including Report Builder, plug-ins for Eclipse and Dreamweaver updates. http;//www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5adobecf8%5Fbeta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290789 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290791 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Check out the new features and enhancements in the latest product release - download the What's New PDF now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290799 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Get the answers you are looking for on the ColdFusion Labs Forum direct from active programmers and developers. http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid-72catid=648 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290802 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290808 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290800 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Get involved in the latest ColdFusion discussions, product development sharing, and articles on the Adobe Labs wiki. http://labs/adobe.com/wiki/index.php/ColdFusion_8 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290804 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290807 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Create robust enterprise, web RIAs. Upgrade to ColdFusion 8 and integrate with Adobe Flex http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290806 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290810 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| ColdFusion is delivering applications solutions at at top companies around the world in government. Find out how and where now http://www.adobe.com/cfusion/showcase/index.cfm?event=finderproductID=1522loc=en_us Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290809 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Create robust enterprise, web RIAs. Upgrade to ColdFusion 8 and integrate with Adobe Flex http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290805 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Download the latest ColdFusion 8 utilities including Report Builder, plug-ins for Eclipse and Dreamweaver updates. http;//www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5adobecf8%5Fbeta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290803 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Check out the new features and enhancements in the latest product release - download the What's New PDF now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290815 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Invoking component
Damn, I replied to the wrong thread ... doh! Apologies for the hijacking! Rob -Original Message- From: Robert Rawlins - Think Blue [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 17:54 To: CF-Talk Subject: RE: Invoking component Thanks guys for your thoughts on this, you're all making good logical sense so I'll defiantly play around with this stuff. Interestingly enough I was reading an article from BarnyB just yesterday about using AOP to control transactions, it might be a good place for me to learn a little more about implementing AOP, effectively killing two birds with a single stone, learning AOP and adding transaction support to my extended components. http://www.barneyb.com/barneyblog/2006/10/22/transaction-advice/ Thanks again guys, I really appreciate it. Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 10 October 2007 16:54 To: CF-Talk Subject: Re: Invoking component The only real advantage that I'm aware of is that CFINVOKE allows you to dynamically specify the target component and method. I use it when I need that capability, but otherwise I find it too verbose. On 10/10/07, Bruce Sorge [EMAIL PROTECTED] wrote: OK, so I see that there are at least three ways to invoke a component. Using the CFINVOKE tag, CFSET and wrapped in CFSCRIPT. So what is the best method? Or are there different situations where you would use one or the other? I would think that each has an advantage and disadvantage. I typically use CFINVOKE, although recently I have been using the CreateObject method in a CFSCRIPT tag. Bruce ~| Get involved in the latest ColdFusion discussions, product development sharing, and articles on the Adobe Labs wiki. http://labs/adobe.com/wiki/index.php/ColdFusion_8 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290816 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
CFC Composition and/or Extention
Hey Guys, I hope you're all well, I've got a challenge when it come to composition which I was hoping you could give me a few pointers on, Basically I have a scenario in my application which has a supertype/subtype relationship between a bunch of tables and I'm struggling with how to build this kind of relationship between my objects. I'm not sure if you've worked with the supertype idea before, or heard the term, Its actually quite simple from a database point of view. I'll help clarify it with an example. In my application I deal with lots of different types of multimedia, such as Images, Text Files, Audio, Video, Games and a myriad of other things, however my application needs to be able to access these different media types from a single location in the database. So I have a single table called 'Media' which contains all the common details between different media files, like ID, Name, Size, DateCreated and such like, and then I have a myriad of different tables, like Text, Image, Audio, Video which contain all the unique information for each different type of message, along with a FK which links them back to my 'Media' table. Now what I need to be able to do is create a Media object within my application, but also have access to that additional information for when I write it to the database, and likewise when reading out. I'm not sure whether this is best solved with some form of composition, or perhaps this is where the 'Extend' attribute will come in handy for me? Create the media object as the Base class and have my other media types Extend it? I really don't know. What do you think chaps? I hope I haven't confused you too much with my babbling question. Thanks, Rob ~| Create robust enterprise, web RIAs. Upgrade to ColdFusion 8 and integrate with Adobe Flex http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290643 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: CFC Composition and/or Extention
Thanks again Brian, another great reply, Yes these will defiantly be staying as a cast type, i.e. a image will always be an image and nothing more so at the moment I think the extended super class kind of makes good sense for me, taking a base Media object with the common attributes and extending it to the other sub classes which contain individual/unique properties. I then keep control over the whole lot with a service. One other thing I am wondering is how to organise my DAO's for this, should the Media class have its own DAO separate from the sub types? Or should the DAO's for my sub types deal with the media table as well as their own? I'm guessing the former, so that in my service saveImage() method it passes the super inited Image object to both the MediaDAO and the ImageDAO and they can just suck out the properties they need to persist it. Does that sound like the best option? Thanks again mate, Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 09 October 2007 16:30 To: CF-Talk Subject: Re: CFC Composition and/or Extention It depends on what you need to do, and how you envision media changing over time. You can definitely create an abstract Media component that is extended by concrete components like Image, Video, etc. The only limitation is really that a component can only inherit from one superclass. Which means you can't have a media item that is treated as two kinds of media (ie Video is a video file, and also an Image File (when treated as a bunch of individual images)). The advantage of composition is that a component can have multiple objects associated with it, and that those objects can be dynamically added or removed at runtime. So you gain flexibility with composition, but you add complexity as well. The advantage of inheritance is that any external code can treat all subclasses of Media as simply the abstract type Media (this is polymorphism). So, if you are pretty sure these things are truly a one-to-one IS-A relationship (and I think they seem to be, but not knowing more about what you actually need to do going forward it's impossible to say for sure), and you want external code to be able to treat all types of media in a similar way, using the same API, then inheritance sounds like it will work just fine. On 10/9/07, Robert Rawlins - Think Blue [EMAIL PROTECTED] wrote: Hey Guys, I hope you're all well, I've got a challenge when it come to composition which I was hoping you could give me a few pointers on, Basically I have a scenario in my application which has a supertype/subtype relationship between a bunch of tables and I'm struggling with how to build this kind of relationship between my objects. I'm not sure if you've worked with the supertype idea before, or heard the term, Its actually quite simple from a database point of view. I'll help clarify it with an example. In my application I deal with lots of different types of multimedia, such as Images, Text Files, Audio, Video, Games and a myriad of other things, however my application needs to be able to access these different media types from a single location in the database. So I have a single table called 'Media' which contains all the common details between different media files, like ID, Name, Size, DateCreated and such like, and then I have a myriad of different tables, like Text, Image, Audio, Video which contain all the unique information for each different type of message, along with a FK which links them back to my 'Media' table. Now what I need to be able to do is create a Media object within my application, but also have access to that additional information for when I write it to the database, and likewise when reading out. I'm not sure whether this is best solved with some form of composition, or perhaps this is where the 'Extend' attribute will come in handy for me? Create the media object as the Base class and have my other media types Extend it? I really don't know. What do you think chaps? I hope I haven't confused you too much with my babbling question. Thanks, Rob ~| Download the latest ColdFusion 8 utilities including Report Builder, plug-ins for Eclipse and Dreamweaver updates. http;//www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5adobecf8%5Fbeta Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290661 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: isEmail vs cfmail tag
http://www.bennadel.com/blog/265-ColdFusion-Email-Validation-IsValid-And-CFM ail-Errors.htm Might be worth a read, I know there have been problems with this. Rob -Original Message- From: Claude Schneegans [mailto:[EMAIL PROTECTED] Sent: 09 October 2007 16:55 To: CF-Talk Subject: Re: isEmail vs cfmail tag It's perfectly possible for a validly formatted address to cause an exception when you actually try to email it. Not so sure about that, since the message is not sent by the CF server it self. If there is an exception, it can be for any other reason, like an invalid value in some other attribute, but not because of the address if it is syntactically correct. -- ___ REUSE CODE! Use custom tags; See http://www.contentbox.com/claude/customtags/tagstore.cfm (Please send any spam to this address: [EMAIL PROTECTED]) Thanks. ~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290673 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Composition and/or Extention
Oooh! Nice concept Brian, I hadn't thought about extending DAO's like that...I like it a lot. I now knight thee, Brian The Brain Kotek Thanks mate, Rob -Original Message- From: Brian Kotek [mailto:[EMAIL PROTECTED] Sent: 09 October 2007 18:25 To: CF-Talk Subject: Re: CFC Composition and/or Extention I would follow the same subtype/supertype idiom in your DAO objects. Have an abstract MediaDAO which handles all the database interaction for the Media table, and have concrete subtypes for each type of Media (VideoDAO, ImageDAO, etc.) so that they can handle their own type-specific data. I would have the concrete DAOs first run something like super.insert(data) so that the superclass will handle whatever has to happen with the Media table, and then they can go on doing their own type-specific database interactions with their own tables. On 10/9/07, Robert Rawlins - Think Blue [EMAIL PROTECTED] wrote: Thanks again Brian, another great reply, Yes these will defiantly be staying as a cast type, i.e. a image will always be an image and nothing more so at the moment I think the extended super class kind of makes good sense for me, taking a base Media object with the common attributes and extending it to the other sub classes which contain individual/unique properties. I then keep control over the whole lot with a service. One other thing I am wondering is how to organise my DAO's for this, should the Media class have its own DAO separate from the sub types? Or should the DAO's for my sub types deal with the media table as well as their own? I'm guessing the former, so that in my service saveImage() method it passes the super inited Image object to both the MediaDAO and the ImageDAO and they can just suck out the properties they need to persist it. Does that sound like the best option? Thanks again mate, Rob ~| Enterprise web applications, build robust, secure scalable apps today - Try it now ColdFusion Today ColdFusion 8 beta - Build next generation apps Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290694 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
AOP in ColdSpring and ModelGlue
Hello Chaps, I've been working with both CS and MG for a while now and we're getting on famously together, It took me a while to feel comfortable with relinquishing that control over to the frameworks, but once done I can genuinely feel the development benefits, it's quite amazing. This past weekend I've made my first ventures into studying the benefits of the AOP concepts which are available to me in CS, and they have gotten me quite excited to say the least, however trying to find some good working examples of how to apply them within a MG/CS application is becoming quite tricky and I'm struggling to figure this stuff out, so thought I'd come looking for a little help. For the sake of argument and example, let's take a simple task like validating some data which is being passed to a service object. I'll give some basic mocked examples of my controller and advice object that I have at the moment. Controller: cffunction name=registerUser access=public output=false returntype=any cfarguments name=Event type=any required=true hint=I'm the event / !--- Create New User --- cfset var NewUser = VARIABLES.Instance.UserService.create(ARGUMENTS.Event.getValue(name)) / cfreturn ARGUMENTS.Event / /cffunction Now obviously that's very stripped down version of my controller method, but for the sake of argument let keep it as simple as possible. Now, I need to validate that 'name' variable to ensure that it doesn't have any numbers in it, if it does then I want to throw the user back to the form page with an error message. Take a look at my basic advice object below: Advice Object: !--- Advice Method --- cffunction name=invokeMethod access=public returntype=any hint=I supply the advice to the method call cfargument name=methodInvocation type=coldspring.aop.MethodInvocation required=false / !--- Create Temporary Local Structure --- cfset var LOCAL = structNew() / !--- Validate Data --- cfif refind([0-9], arguments.methodInvocation.getArguments().Name) !--- Data Not Valid --- cfelse !--- Data Valid --- /cfif !--- Return Out --- cfreturn / /cffunction Now this is where I become a little confused, see, in the old days I would validate the data inside my controller, and if the data failed validation I would add a result of 'failed' and update the viewstate with an error message, then use the events xml definition to pass the user back to the form if the result of 'failed' was present. However, from what I can see here I have no access to the event object from my advice object, so I'm not able to add results or update the view state, All I can do is simply return a value, is that correct? How do I use the advice object to control the user back to the form with an error message? I'm feeling a little confused about it. Thanks for any 'advice' guys, I really appreciate your time. Rob ~| Get the answers you are looking for on the ColdFusion Labs Forum direct from active programmers and developers. http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid-72catid=648 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290526 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Graphing date ranges...
Hey pal, If you're looking to fill in the holes where there is no data for a particular date the best way to do this is with a Calendar table in your database, you can then select the desired date range from this and LEFT OUTTER JOIN it to your table with your statistics data, that way It'll return a row for every date in the range, regardless of whether you have data for that date or not, so you get no gaps. It's more of a SQL type thing so you might be better off asking there, and looking around for some help building and populating a Calendar table, it's not an overly complicated task, but a calendar table will really help you out for this and many other tasks too, I'd highly recommend one. Let me know if you need any more help Jay, Rob -Original Message- From: James Smith [mailto:[EMAIL PROTECTED] Sent: 08 October 2007 10:44 To: CF-Talk Subject: Graphing date ranges... I have a cfchart displaying dates along the X axis, is there any way to get ColdFusion to treat these as a scale so that a 7 day gap in the data would stretch the graph out to interpolate the missing days? CFChart does have an xAxisType attribute but to set it to scale the data must be numeric and I really want to keep the data displaying as formatted dates. -- Jay No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.488 / Virus Database: 269.14.4/1056 - Release Date: 07/10/2007 18:12 ~| ColdFusion is delivering applications solutions at at top companies around the world in government. Find out how and where now http://www.adobe.com/cfusion/showcase/index.cfm?event=finderproductID=1522loc=en_us Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:290527 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4