Re: A neat valueList() trick....
Just a cautionary word: that works wonderfully for straight output, but if you were to do say a listFind() on the altered list, CF wouldn't find the item you were searching for unless you prepended it with a space (e.g. listFind(myList, ' myString') ). But for output, it certainly is a whole lot more readable. :-) Matt I like using valuelist(), but it messes up the display because it crunches the list items together, no spaces after the comma. So I tried this and it worked. Had no idea... cfset voicingList = ValueList(getVoicings.voicingname, , ) Just thought I'd post it in case anyone else ran into the same problem. Will ~| Upgrade to Adobe ColdFusion MX7 The most significant release in over 10 years. Upgrade see new features. http://www.adobe.com/products/coldfusion Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:271674 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: lil flash form trick
Ahhh...if only all phone numbers around the world followed that format ;-) Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197844 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
then just change the mask ;) doesnt have to just be tele numbers a mask can be used for lots o stuff try this(I'm being switched as we speak to cfm 7 or I'd post the link examples) cfform format=flash skin=haloblue width=500 height=500 action= preservedata=yes cfformgroup type=vertical cfinput name=telephone type=text label=USA Telephone mask=(999)999- width=150 / cfinput name=telephone2 type=text label=England Telephone mask=+99(9)999 99 width=150 / cfinput name=telephone3 type=text label=Australia Telephone mask=+99(9)9 width=150 / cfinput name=telephone4 type=text label=Sweden Telephone mask=99-999-999, 99 width=200 / /cfformgroup /cfform From: Bryan Stevenson [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 11:53 AM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Ahhh...if only all phone numbers around the world followed that format ;-) ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197904 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
Dave...you seem very excited about masks...are they new to you? Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197909 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
umm no but it's quite a bit easier that way then with js, which is what i'd normally use. Like I said, I have had a few ppl ask how it was done, so I just posted it and you responded back and I answered, sorry if that ruined your day.. Seem to be quite a lot of ppl on here trying the new flash forms and using masking isn't really known, so sorry for trying to help those ppl, I will just leave it up to you ;) From: Bryan Stevenson [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 5:11 PM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Dave...you seem very excited about masks...are they new to you? Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197912 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). .and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197913 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
all good points Bryan :) but not quite sliced bread lol One of the things I have liked about flash and using it for forms was the easy masking and really not letting things be submitted without it being properly formated and now the flash forms make that so simple. Not to mention so much cleaner, you don't got this java mess all over. There are good but not magic we still have to do the logic to get them the right format (depending on location) and I wasn't going there just showing the mask deal cause it seems as though its not in the docs or hard to find so a lot of ppl don't know its there yet. And yeah, america IS the center of the universe ;) haha From: Bryan Stevenson [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 5:26 PM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). ..and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Find out how CFTicket can increase your company's customer support efficiency by 100% http://www.houseoffusion.com/banners/view.cfm?bannerid=49 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197916 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
Aren't the masks just using a pre-built js to check the fields? Ray At 05:26 PM 3/8/2005, you wrote: Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). .and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197917 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
whoo hoo just got cfm7 WHEE so that lil bit of code will do the masking on these, which you have to say is a ton less than using js http://www.jamwerx.com/test/formmasks.cfm From: Bryan Stevenson [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 5:26 PM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). ..and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197919 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
Well in Flash I'm not sure if that would be JS or not...but ya...nothin fancy...just easier than writing your own validation code .and I should clarify...I don't like writing JS based validation ;-) Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197920 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
umm not really You can make the masks whatever you like, you aren't limited to a few pre-built templates if thats what you are asking From: Ray Champagne [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 5:38 PM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Aren't the masks just using a pre-built js to check the fields? Ray At 05:26 PM 3/8/2005, you wrote: Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). .and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197921 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
me either! From: Bryan Stevenson [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 5:41 PM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Well in Flash I'm not sure if that would be JS or not...but ya...nothin fancy...just easier than writing your own validation code ..and I should clarify...I don't like writing JS based validation ;-) Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197922 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
ahhh...that's better. Now I am in 100% agreement. :) Ray At 05:40 PM 3/8/2005, you wrote: Well in Flash I'm not sure if that would be JS or not...but ya...nothin fancy...just easier than writing your own validation code .and I should clarify...I don't like writing JS based validation ;-) Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197923 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
hehe...glad you're in agreement Ray ;-) Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197924 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
Quite so Bryan! For those who don't know I'm in Australia, and I tried to buy a product on line from a HP subsidiary a few years ago - a large, reasonably well managed international company - and I was required to enter my 5 digit zip code (we only have 4 digits here, and anyway, it validated against a list of US zip codes), my phone number in US format ( we dont have (xxx) yyy- format here - it's (x)-) and of all things, my SOCIAL SECURITY NUMBER!!! I dont have a social security number, because I'm not in the USA. I ended up having to call my brother who lives in Indianapolis, and ask him for his, and make up a number similar to that. HP ended up getting my order, because i really needed the product, but their info was useless because it had a bogus zip code, a non-existent phone number, and a fraudulent social security number. If I hadn't needed the product so badly, I'd never have bothered with the order. Although maybe not. I was so intrigued with how flawed the form design was, it became a challenge for me. Maybe I'd have persevered after all. Cheers Mike Kear Windsor, NSW, Australia Certified Advanced ColdFusion Developer AFP Webworks http://afpwebworks.com ColdFusion, PHP, ASP, ASP.NET hosting from AUD$15/month On Tue, 8 Mar 2005 14:26:13 -0800, Bryan Stevenson [EMAIL PROTECTED] wrote: Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). .and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197929 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
thas the beauty of these masks though mike! You aren't limited to pre-defined masks, sure they are there for USA stuff but you can use the masks to quickly create your own how you need it without using java. From: Mike Kear [EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 7:28 PM To: CF-Talk cf-talk@houseoffusion.com Subject: Re: lil flash form trick Quite so Bryan! For those who don't know I'm in Australia, and I tried to buy a product on line from a HP subsidiary a few years ago - a large, reasonably well managed international company - and I was required to enter my 5 digit zip code (we only have 4 digits here, and anyway, it validated against a list of US zip codes), my phone number in US format ( we dont have (xxx) yyy- format here - it's (x)-) and of all things, my SOCIAL SECURITY NUMBER!!! I dont have a social security number, because I'm not in the USA. I ended up having to call my brother who lives in Indianapolis, and ask him for his, and make up a number similar to that. HP ended up getting my order, because i really needed the product, but their info was useless because it had a bogus zip code, a non-existent phone number, and a fraudulent social security number. If I hadn't needed the product so badly, I'd never have bothered with the order. Although maybe not. I was so intrigued with how flawed the form design was, it became a challenge for me. Maybe I'd have persevered after all. Cheers Mike Kear Windsor, NSW, Australia Certified Advanced ColdFusion Developer AFP Webworks http://afpwebworks.com ColdFusion, PHP, ASP, ASP.NET hosting from AUD$15/month On Tue, 8 Mar 2005 14:26:13 -0800, Bryan Stevenson wrote: Nope...my day is fine...just sounded like masks where the next sliced bread ;-) I always do server-side validationbut I can see the benefit of mask support on the client-side (as I really don't like JS based validation). .and what I was getting at earlier is that even though you can use masks for phone number formatting you have to build your own logic to determine the correct mask to use based on the user's location...making sure newer folks on the list think this kind of situation through as North America is not the center of the universe ;-) Cheers Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com.cfm/54 ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197930 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: lil flash form trick
I feel your pain Mike...I'm a Canadian..and can't count how many times my postal code doesn't validate as a zip code...grr Bryan Stevenson B.Comm. VP Director of E-Commerce Development Electric Edge Systems Group Inc. phone: 250.480.0642 fax: 250.480.1264 cell: 250.920.8830 e-mail: [EMAIL PROTECTED] web: www.electricedgesystems.com/54 ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197933 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: Is there a trick...
But that only takes care of the session scope. You still have to deal with the application scope. Well, i suppose you could set you server to only process one request at a time, but then you'd lose pretty much all ability to scale. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Kwang Suh [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 8:19 PM To: CF-Talk Subject: Re: Is there a trick... I'm talking CFMX, and this example illustrates my point exactly. The server CAN'T do the job of CFLOCK for situations exactly like this, so you (the Sure it can. Simply make the server single threaded. Heck, lots of people went the lazy route and ticked on singled threaded sessions in pre MX. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89 70.4
Re: RE: Is there a trick...
Of course. All I'm saying is that it's perfectly possible for MM to fix (or perhaps neuter) MX so that race conditions don't happen :) - Original Message - From: Barney Boisvert [EMAIL PROTECTED] Date: Wednesday, April 2, 2003 10:47 am Subject: RE: Is there a trick... But that only takes care of the session scope. You still have to deal with the application scope. Well, i suppose you could set you server to only process one request at a time, but then you'd lose pretty much all abilityto scale. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Kwang Suh [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 8:19 PM To: CF-Talk Subject: Re: Is there a trick... I'm talking CFMX, and this example illustrates my point exactly. The server CAN'T do the job of CFLOCK for situations exactly like this, so you (the Sure it can. Simply make the server single threaded. Heck, lots of people went the lazy route and ticked on singled threaded sessions in pre MX. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89 70.4
RE: RE: Is there a trick...
Or just skip an app server and use static content. ;) I'm going to end my part in the discussion by saying IMHO, locking a nasty thing to deal with, but very necessary when dealing with shared scopes. CFLOCK seems to be the most prevelant tool used to provide locking (and usually the prefered means), but it is not the only one. Use CFLOCK or don't, just make sure you lock in one way or another, or are prepared to deal with the consequences. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 02, 2003 9:56 AM To: CF-Talk Subject: Re: RE: Is there a trick... Of course. All I'm saying is that it's perfectly possible for MM to fix (or perhaps neuter) MX so that race conditions don't happen :) - Original Message - From: Barney Boisvert [EMAIL PROTECTED] Date: Wednesday, April 2, 2003 10:47 am Subject: RE: Is there a trick... But that only takes care of the session scope. You still have to deal with the application scope. Well, i suppose you could set you server to only process one request at a time, but then you'd lose pretty much all abilityto scale. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Kwang Suh [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 8:19 PM To: CF-Talk Subject: Re: Is there a trick... I'm talking CFMX, and this example illustrates my point exactly. The server CAN'T do the job of CFLOCK for situations exactly like this, so you (the Sure it can. Simply make the server single threaded. Heck, lots of people went the lazy route and ticked on singled threaded sessions in pre MX. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89 70.4
RE: RE: Is there a trick...
An article for you all to enjoy ;) http://www.macromedia.com/support/coldfusion/ts/documents/tn18235.htm And my apologies if it's been posted before. -- Erika L. Walker-Arnold, VP, RUWebby, LLC -- Website Design/Programming - Database Integration/E-Commerce Macromedia ColdFusion 5.0 Certified Developer -- | -Original Message- | From: Barney Boisvert [mailto:[EMAIL PROTECTED] | Sent: Wednesday, April 02, 2003 7:19 PM | To: CF-Talk | Subject: RE: RE: Is there a trick... | | | Or just skip an app server and use static content. ;) | | I'm going to end my part in the discussion by saying IMHO, | locking a nasty | thing to deal with, but very necessary when dealing with | shared scopes. | CFLOCK seems to be the most prevelant tool used to provide | locking (and | usually the prefered means), but it is not the only one. | Use CFLOCK or | don't, just make sure you lock in one way or another, or | are prepared to | deal with the consequences. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89 70.4
Re: Is there a trick...
And some information I posted on my weblog a while back regarding locking: http://markme.com/cantrell/weblog/index.cfm?m=2d=6y=2003 Christian On Wednesday, April 2, 2003, at 02:09 PM, Erika L. Walker-Arnold wrote: An article for you all to enjoy ;) http://www.macromedia.com/support/coldfusion/ts/documents/tn18235.htm And my apologies if it's been posted before. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
Think of frames as individual pages. Including not only the page that creates the frame, but each frame's SRC attribute. Therefore each has its own set of request variables that have to be handled in the same way that individual pages have to handle them. Once you get this, then dealing with frames is neither more nor less difficult than any regular page -- although, to be sure, a frames-based site will typically score much much lower in the search engine rankings than the equivalent non-frames site. -Original Message- From: Che Vilnonis [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 5:02 PM To: CF-Talk Subject: Is there a trick... Is there a trick...to getting Request variables to work with pages that have frames? Something like this works in pages without frames. What gives? cflock SCOPE=Application THROWONTIMEOUT=NO TIMEOUT=10 TYPE=Exclusive cfscript Application.BGColor=FF; // White Application.FlagColor=FF; // Dark Red // Request.AdminVars = Duplicate(Application); /cfscript /cflock Am I missing something??? Ché Vilnonis Application Developer Advertising Systems Incorporated 8470C Remington Avenue Pennsauken, NJ 08110 p: 856.488.2211 f: 856.488.1990 www.asitv.com ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
Every part of a frame is it's own request. So if index.cfm outputs a frameset and sets request.foo to 1, the frames will not see request.foo because they are new requests. === Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc (www.mindseye.com) Member of Team Macromedia (http://www.macromedia.com/go/teammacromedia) Email: [EMAIL PROTECTED] Blog : www.camdenfamily.com/morpheus/blog Yahoo IM : morpheus My ally is the Force, and a powerful ally it is. - Yoda -Original Message- From: Che Vilnonis [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 4:02 PM To: CF-Talk Subject: Is there a trick... Is there a trick...to getting Request variables to work with pages that have frames? Something like this works in pages without frames. What gives? cflock SCOPE=Application THROWONTIMEOUT=NO TIMEOUT=10 TYPE=Exclusive cfscript Application.BGColor=FF; // White Application.FlagColor=FF; // Dark Red // Request.AdminVars = Duplicate(Application); /cfscript /cflock Am I missing something??? Ché Vilnonis Application Developer Advertising Systems Incorporated 8470C Remington Avenue Pennsauken, NJ 08110 p: 856.488.2211 f: 856.488.1990 www.asitv.com ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Is there a trick...
Is there a trick...to getting Request variables to work with pages that have frames? Something like this works in pages without frames. What gives? cflock SCOPE=Application THROWONTIMEOUT=NO TIMEOUT=10 TYPE=Exclusive cfscript Application.BGColor=FF; // White Application.FlagColor=FF; // Dark Red // Request.AdminVars = Duplicate(Application); /cfscript /cflock Am I missing something??? Ché Vilnonis Application Developer Advertising Systems Incorporated 8470C Remington Avenue Pennsauken, NJ 08110 p: 856.488.2211 f: 856.488.1990 www.asitv.com Request variables only exist within the current request which includes the Application.cfm (if any), OnRequestEnd.cfm (if any), the base template (index.cfm for instance) and any templates included in the base template either with cfinclude or cfmodule (or the alternate cf_tag syntax for calling custom tags). While a CF Template can generate and output an html document which contains html elements with SRC attributes (frames,iframes,images,script libraries and style sheets, any of which may be a coldfusion template), the html elements which include these extra files require an additional http request from the browser and are not actually a part of the parent template request (the cf template containing the frameset for instance). That being said, your frames page looks like this: FRAMESET.CFM cf_stuff frameset ... frame name=blah src=blah.cfm frame name=blah2 src=blah2.cfm /frameset So if you call http://www.mydomain.com/frameset.cfm frameset.cfm is a request that includes Application.cfm and OnRequestEnd.cfm (if available) and then the same is also true of blah.cfm and blah2.cfm which are each their own requests. So if you need to copy data down from the application scope into the request scope so that it's available in blah.cfm and blah2.cfm you have to do that within each of those requests. If you use an Application.cfm for this purpose, then you can allow the one reference to handle all requests for you without having to copy and paste or include the code on every page. On a related note, if you use this code on every page: cfscript Application.BGColor=FF; // White Application.FlagColor=FF; // Dark Red // Request.AdminVars = Duplicate(Application); /cfscript You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Is there a trick...
If you do the duplicate from application to request in the application.cfm file, the request variables should be available to all templates, including each of the frame portions E. Keith Dodd Wings of Eagles Services www.wingserv.com - Original Message - From: Che Vilnonis [EMAIL PROTECTED] To: CF-Talk [EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 5:01 PM Subject: Is there a trick... Is there a trick...to getting Request variables to work with pages that have frames? Something like this works in pages without frames. What gives? cflock SCOPE=Application THROWONTIMEOUT=NO TIMEOUT=10 TYPE=Exclusive cfscript Application.BGColor=FF; // White Application.FlagColor=FF; // Dark Red // Request.AdminVars = Duplicate(Application); /cfscript /cflock Am I missing something??? Ché Vilnonis Application Developer Advertising Systems Incorporated 8470C Remington Avenue Pennsauken, NJ 08110 p: 856.488.2211 f: 856.488.1990 www.asitv.com ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Is there a trick...
Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
No actually each of the frames are independent web pages so the request variables do not pass through to them. For example, technically (if not legally) you can create a frameset with http://www.macromedia.com/ as one of the frames. The Macromedia.com page won't receive your request variables. -Original Message- From: E. Keith Dodd [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:42 a.m. To: CF-Talk Subject: Re: Is there a trick... If you do the duplicate from application to request in the application.cfm file, the request variables should be available to all templates, including each of the frame portions E. Keith Dodd Wings of Eagles Services www.wingserv.com - Original Message - From: Che Vilnonis [EMAIL PROTECTED] To: CF-Talk [EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 5:01 PM Subject: Is there a trick... Is there a trick...to getting Request variables to work with pages that have frames? Something like this works in pages without frames. What gives? cflock SCOPE=Application THROWONTIMEOUT=NO TIMEOUT=10 TYPE=Exclusive cfscript Application.BGColor=FF; // White Application.FlagColor=FF; // Dark Red // Request.AdminVars = Duplicate(Application); /cfscript /cflock Am I missing something??? Ché Vilnonis Application Developer Advertising Systems Incorporated 8470C Remington Avenue Pennsauken, NJ 08110 p: 856.488.2211 f: 856.488.1990 www.asitv.com ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Is there a trick...
Isaac, What's the benefit that CFMX offers in the Application scope? Calvin There were issues involving using unlocked shared scope variables prior to CFMX asside from race conditions (data corruption in memory). In MX locking only needs to be done on shared scope variables for the purpose of handling race conditions, so you don't have to worry so much about making sure that every access of an application scope variable is locked. I still use locking routines in my applications which cover both race conditions and ensure that all shared scope variables are locked, partly for backward compatibility and partly because hosting providers have the ability (although very very few do) to require locking of shared scope variables via the CF administrator. As a matter of fact, here are a couple templates I use to access shared scope vars (sorry for the line wrap guys). This template allows me to access all my shared scopes and know they're properly locked without having to continually write out cflock. It also handles all the associative array (structure) syntax so that I can simply pass a dot-delimited string and know that it will set or get the appropriate value even if the string contains hyphens and other non-variablename safe characters. SYNTAX: to check for the existance of and set default for an application variable you would use something like this: cf_cache action=get variable=[EMAIL PROTECTED] default=#arraynew(2)# return=myarray CACHE.CFM cfsilent cfparam name=attributes.action type=string cfparam name=attributes.variable type=string cfparam name=attributes.scope type=string default=CALLER cfparam name=attributes.return type=string default=tObject cfparam name=attributes.timeout type=numeric default=30 cfset attributes.variable = listtoarray(attributes.variable,.) cfif not listfind(session,server,application,attributes.variable[1]) cfset arrayprepend(attributes.variable,application)/cfif cfset attributes.cachescope = attributes.variable[1] cfset attributes.varlen = arraylen(attributes.variable) cfswitch expression=#attributes.action# cfcase value=get cfset variables.self = false cflock scope=#attributes.cachescope# type=readonly timeout=#attributes.timeout# cfset variables.scope = evaluate(attributes.cachescope) cfloop index=x from=2 to=#attributes.varlen# cfif not isstruct(variables.scope) or not structkeyexists(variables.scope,attributes.variable[x])cfbreak/cfif cfset variables.scope = structfind(variables.scope,attributes.variable[x]) cfif x is attributes.varlencfset variables.self = duplicate(variables.scope)/cfif /cfloop /cflock cfif isboolean(variables.self) and variables.self is false and structkeyexists(attributes,default) cfset variables.self = attributes.default cfmodule template=cache.cfm action=set objectdata=#attributes.default# variable=#arraytolist(attributes.variable,'.')# /cfif cfset variables.returnvar = variables.self cfinclude template=return.cfm /cfcase cfcase value=set cfparam name=attributes.objectdata cfparam name=attributes.timestamp type=boolean default=true cfif attributes.timestamp and isstruct(attributes.objectdata) cfset attributes.objectdata.tapstoragetime = now()/cfif cfset variables.objectdata = duplicate(attributes.objectdata) cfset variables.element = attributes.variable[attributes.varlen] cflock scope=#attributes.cachescope# type=EXCLUSIVE timeout=#attributes.timeout# cfset variables.scope = evaluate(attributes.cachescope) cfloop index=x from=2 to=#decrementvalue(attributes.varlen)# cfif not structkeyexists(variables.scope,attributes.variable[x]) cfset structinsert(variables.scope,attributes.variable[x],structnew(), true)/cfif cfset variables.scope = structfind(variables.scope,attributes.variable[x]) /cfloop cfset structinsert(variables.scope,attributes.variable[attributes.varle
RE: Is there a trick...
Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
I interpret that paragraph as The app server won't dump core if you don't lock your shared access, but your variable might get hosed. So, if you don't mind your variables possibly getting wasted, then yes, I'll agree that locking is optional. barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:27 PM To: CF-Talk Subject: RE: Is there a trick... Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another. This is no longer the case in CFMX, exactly. That is, the server won't crash if you don't lock persistent memory variables, as it very well might with previous versions. However, you may still have logical errors (incorrect values, essentially) if you don't lock persistent memory variables, just as you might have in a multi-user database without locking. This is true for all persistent memory scopes in CFMX - Session, Application and Server. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
I interpret that paragraph as The app server won't dump core if you don't lock your shared access, but your variable might get hosed. So, if you don't mind your variables possibly getting wasted, then yes, I'll agree that locking is optional. The docs are talking about race conditions, which are nothing to do with corrupted memory. mk:@MSITStore:C:\Program%20Files\Macromedia\Dreamweaver%20MX\Help\cfbooks.ch m::/shared51.htm ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Is there a trick...
Is that from the MX doc's or the CF5 docs? ... I think he was referring to CF5 if I'm reading correctly... session scope was protected automatically? ... What I've heard from others is that the session scope was actually the most volatile of the shared scopes (although it may simply be that it was just more used than the other scopes). Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID= 21816 ~~ ~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index. cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/uns ubscribe.cfm?user=633.558.4 s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID=21816 ~| Archives: http://www.houseoffusion.com/cf_lists
RE: Is there a trick...
I'm guessing that they actually mean if your variables get hozed as a result of not locking it's happening because of a race condition of your own making. Rather than data in the shared scopes may be randomly corrupted if not locked. For instance -- if you have a frameset that loads 2 frames and you need to set an application or session var before frame2 loads, but you set it in the template loading in frame1 there's a chance it might not get set until after frame2 loads and thereby frame2 would contain the wrong data -- but not through any fault of the server. This is probably a poor example, but at the moment it's the best I can do. :) I interpret that paragraph as The app server won't dump core if you don't lock your shared access, but your variable might get hosed. So, if you don't mind your variables possibly getting wasted, then yes, I'll agree that locking is optional. barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:27 PM To: CF-Talk Subject: RE: Is there a trick... Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?I
RE: Is there a trick...
Yes CFMX docs. I'm talking about CFMX, don't know what anybody else is talking about, or even if they really exist. -Original Message- From: S. Isaac Dealey [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 12:15 p.m. To: CF-Talk Subject: RE: Is there a trick... Is that from the MX doc's or the CF5 docs? ... I think he was referring to CF5 if I'm reading correctly... session scope was protected automatically? ... What I've heard from others is that the session scope was actually the most volatile of the shared scopes (although it may simply be that it was just more used than the other scopes). Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm?ID= 21816 ~~ ~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index. cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/uns ubscribe.cfm?user
RE: Is there a trick...
I'm talking CFMX, and this example illustrates my point exactly. The server CAN'T do the job of CFLOCK for situations exactly like this, so you (the developer) have to use it, or some other locking mechanism. Whether the server protects it's own memory or not isn't a big deal, it's whether the values in memory are valid. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: S. Isaac Dealey [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 4:21 PM To: CF-Talk Subject: RE: Is there a trick... I'm guessing that they actually mean if your variables get hozed as a result of not locking it's happening because of a race condition of your own making. Rather than data in the shared scopes may be randomly corrupted if not locked. For instance -- if you have a frameset that loads 2 frames and you need to set an application or session var before frame2 loads, but you set it in the template loading in frame1 there's a chance it might not get set until after frame2 loads and thereby frame2 would contain the wrong data -- but not through any fault of the server. This is probably a poor example, but at the moment it's the best I can do. :) I interpret that paragraph as The app server won't dump core if you don't lock your shared access, but your variable might get hosed. So, if you don't mind your variables possibly getting wasted, then yes, I'll agree that locking is optional. barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:27 PM To: CF-Talk Subject: RE: Is there a trick... Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data
RE: Is there a trick...
Oh yea... I lock therefore I am. :) Yes CFMX docs. I'm talking about CFMX, don't know what anybody else is talking about, or even if they really exist. -Original Message- From: S. Isaac Dealey [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 12:15 p.m. To: CF-Talk Subject: RE: Is there a trick... Is that from the MX doc's or the CF5 docs? ... I think he was referring to CF5 if I'm reading correctly... session scope was protected automatically? ... What I've heard from others is that the session scope was actually the most volatile of the shared scopes (although it may simply be that it was just more used than the other scopes). Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around this by simply copying the application scope into the request scope in Application.cfm or thereabouts. Others simply wrote lots of constants directly into the request scope on each page request (which isn't nearly as slow as you might think). With CFMX you don't need to lock access to scopes like application and session. -Original Message- From: Calvin Ward [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 10:47 a.m. To: CF-Talk Subject: Re: Is there a trick... Isaac, What's the benefit that CFMX offers in the Application scope? Calvin cf_snipalot / You'll be needlessly accessing the application scope anyway. The application scope should really only be used for data which might change periodically based on time of day, administrative interraction (i.e. this feature is currently unavailable due to maintenance), or to refresh a cacheing routine, etc. Data which is set, static and required on every page should be set solely in the request scope, unless you're running CFMX and planning to access it directly from the application scope -- which I prefer not to do because imho there's no real benefit over using the request scope while there are definite advantages to using the request scope if you end up needing backward compatibility for CF 5. hth s. isaac dealey954-776-0046 new epoch http://www.turnkey.to lead architect, tapestry cms http://products.turnkey.to tapestry api is opensource http://www.turnkey.to/tapi certified advanced coldfusion 5 developer http://www.macromedia.com/v1/handlers/index.cfm? ID= 21816 ~~~ ~~~ ~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid =4 Subscription: http://www.houseoffusion.com/cf_lists/index. cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm
RE: Is there a trick...
I'm talking CFMX, and this example illustrates my point exactly. The server CAN'T do the job of CFLOCK for situations exactly like this, so you (the developer) have to use it, or some other locking mechanism. Whether the server protects it's own memory or not isn't a big deal, it's whether the values in memory are valid. This is true -- although the situation with MX is the same situation faced by all programming languages. Race conditions are universal. So in the context of what's the advantage of application vars in MX that's why I say, you don't necessarily have to hound your shared scope variable with locking the way you did with CF 5 because in CF 5 and prior improperly locked variables had a way of being randomly corrupted so you'd wind up on sites with any reasonable traffic load where some user would have data from another guy's session, etc... But asside from that simply using a shared scope variable doesn't necessarily mean that you will have a race condition that will need to be locked against. For instance, if you set a session variable when a user logs in and then remove that session var when they log out, and in no other place in the app is that var modified in any way, then that var will likely never experience a race condition. But in CF5 and prior you still had to lock it anyway just because it's a session var. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: S. Isaac Dealey [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 4:21 PM To: CF-Talk Subject: RE: Is there a trick... I'm guessing that they actually mean if your variables get hozed as a result of not locking it's happening because of a race condition of your own making. Rather than data in the shared scopes may be randomly corrupted if not locked. For instance -- if you have a frameset that loads 2 frames and you need to set an application or session var before frame2 loads, but you set it in the template loading in frame1 there's a chance it might not get set until after frame2 loads and thereby frame2 would contain the wrong data -- but not through any fault of the server. This is probably a poor example, but at the moment it's the best I can do. :) I interpret that paragraph as The app server won't dump core if you don't lock your shared access, but your variable might get hosed. So, if you don't mind your variables possibly getting wasted, then yes, I'll agree that locking is optional. barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:27 PM To: CF-Talk Subject: RE: Is there a trick... Pretty sure. The docs: While the ColdFusion Server is thread-safe and does not try to modify a variable simultaneously, it does not ensure the correct order of access to information. If multiple pages, or multiple invocations of a page, attempt to write data simultaneously, or read and write it at the same time, the resulting data can be inconsistent, as illustrated in the following Sample locking scenarios section. It doesn't say thread-safe except if you try to access application and server scopes. Yes you still have to lock them. But CFMX does it automatically, so you don't have to do it explicitly. -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Wednesday, 2 April 2003 11:17 a.m. To: CF-Talk Subject: RE: Is there a trick... Are you sure about this? It is my understanding that the session scope was protected automatically, but that the application (and server) scope still had to be locked. You can avoid having to do read locks with CFLOCK on a scope if you ensure that they are never written after initially set, and that every request ensures that they are set before proceeding, but you still have to lock them in one form or another barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com -Original Message- From: Matthew Walker [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 01, 2003 3:00 PM To: CF-Talk Subject: RE: Is there a trick... Automatic locking. Previously you needed to write cflock timeout=1 throwontimeout=No type=READONLY scope=APPLICATION [do something with app variables] /cflock Many people got around
Re: Is there a trick...
I'm talking CFMX, and this example illustrates my point exactly. The server CAN'T do the job of CFLOCK for situations exactly like this, so you (the Sure it can. Simply make the server single threaded. Heck, lots of people went the lazy route and ticked on singled threaded sessions in pre MX. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribeforumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: MX and URL trick for search engines
On Tuesday, July 30, 2002, at 08:08 , MW wrote: MyPage.cfm/VarName/Value We are now configuring CFMX on a development server, and all of a sudden it is broken. In CFMX, CGI.PATH_INFO should contain /VarName/Value - I believe this is slightly different behavior to CF5? If you're not annoying somebody, you're not really alive. -- Margaret Atwood __ This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
Re: MX and URL trick for search engines
I use this code as a custom tag. It requires cgi.path_info and cgi.script_name It transforms cgi.path_info into url variables you can urls like index.cfm/fuseaction/showrecord/id/23 with the custom you will get two url variables url.fuseaction=showrecord url.id=23 cfset lRawUrlParam=Replace(cgi.path_info,script_name,) cfset aRawUrlParam=ListToArray(lRawUrlParam,/) cfloop from=1 to=#ArrayLen(aRawUrlParam)# index=i step=2 cfif i mod 2 eq 1 and i+1 lte ArrayLen(aRawUrlParam) cfset url.#aRawUrlParam[i]#=Evaluate(aRawUrlParam[i+1])/cfif /cfloop - Original Message - From: MW [EMAIL PROTECTED] To: CF-Talk [EMAIL PROTECTED] Sent: Tuesday, July 30, 2002 5:08 PM Subject: MX and URL trick for search engines We use the trick of replacing the ampersands and question marks in a URL with slashes in order to have our website indexed by search engines. Instead of having the URL appear as: MySite.cfm?VarName=Value it appears as MyPage.cfm/VarName/Value This works extremely well in CF5 on IIS5 (patched to the hilt). The functionality happened, as I recall, out of the box. We saw the method recommended in fusebox and adopted it. We are now configuring CFMX on a development server, and all of a sudden it is broken. We never ran CF5 on this server as a control, so it could be IIS that is misconfigured or has a patch that stops this behavior, although we just built out another CF5 server on a fully patched IIS install and had no problems. There is a third party ISAPI filter that will do this in IIS, but I'm wondering what has happened to break this. Any ideas? Thanks, Matt __ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
Re: MX and URL trick for search engines
See cfdev.com's products -Original Message- From: MW [EMAIL PROTECTED] To: CF-Talk [EMAIL PROTECTED] Date: Tuesday, July 30, 2002 11:15 AM Subject: MX and URL trick for search engines We use the trick of replacing the ampersands and question marks in a URL with slashes in order to have our website indexed by search engines. Instead of having the URL appear as: MySite.cfm?VarName=Value it appears as MyPage.cfm/VarName/Value This works extremely well in CF5 on IIS5 (patched to the hilt). The functionality happened, as I recall, out of the box. We saw the method recommended in fusebox and adopted it. We are now configuring CFMX on a development server, and all of a sudden it is broken. We never ran CF5 on this server as a control, so it could be IIS that is misconfigured or has a patch that stops this behavior, although we just built out another CF5 server on a fully patched IIS install and had no problems. There is a third party ISAPI filter that will do this in IIS, but I'm wondering what has happened to break this. Any ideas? Thanks, Matt __ This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: MX and URL trick for search engines
IIS gives a 404 error, and fails to hand off the page to CFMX for processing. It isn't a CFMX error for an unrecognized variable. Therefore, I don't think there is any code we can put in our CFM pages to solve this. A lot of people use this trick, especially on apache with 'mod_rewrite'. The commercial ISAPI filter is IIS Rewrite from http://www.qwerksoft.com/. Still researching... Matt -Original Message- From: Martin Orth [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 30, 2002 10:41 AM To: CF-Talk Subject: Re: MX and URL trick for search engines I use this code as a custom tag. It requires cgi.path_info and cgi.script_name It transforms cgi.path_info into url variables you can urls like index.cfm/fuseaction/showrecord/id/23 with the custom you will get two url variables url.fuseaction=showrecord url.id=23 cfset lRawUrlParam=Replace(cgi.path_info,script_name,) cfset aRawUrlParam=ListToArray(lRawUrlParam,/) cfloop from=1 to=#ArrayLen(aRawUrlParam)# index=i step=2 cfif i mod 2 eq 1 and i+1 lte ArrayLen(aRawUrlParam) cfset url.#aRawUrlParam[i]#=Evaluate(aRawUrlParam[i+1])/cfif /cfloop - Original Message - From: MW [EMAIL PROTECTED] To: CF-Talk [EMAIL PROTECTED] Sent: Tuesday, July 30, 2002 5:08 PM Subject: MX and URL trick for search engines We use the trick of replacing the ampersands and question marks in a URL with slashes in order to have our website indexed by search engines. Instead of having the URL appear as: MySite.cfm?VarName=Value it appears as MyPage.cfm/VarName/Value This works extremely well in CF5 on IIS5 (patched to the hilt). The functionality happened, as I recall, out of the box. We saw the method recommended in fusebox and adopted it. We are now configuring CFMX on a development server, and all of a sudden it is broken. We never ran CF5 on this server as a control, so it could be IIS that is misconfigured or has a patch that stops this behavior, although we just built out another CF5 server on a fully patched IIS install and had no problems. There is a third party ISAPI filter that will do this in IIS, but I'm wondering what has happened to break this. Any ideas? Thanks, Matt __ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: Is this SQL trick possible
Couldn't you grab the value of the field with the onBlur event using JS? I think that is very plausible. -Original Message- From: Robert Everland [mailto:[EMAIL PROTECTED]] Sent: Thursday, November 15, 2001 9:58 AM To: CF-Talk Subject: Is this SQL trick possible Is there anyway I can get the value of a field that I update without having to do a query first. Robert Everland III Dixon Ticonderoga ~~ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: Is this SQL trick possible
erm, can't you do the update and a select in the same cfquery block? If your'e using SQLserver u can anyway, as long as the cfquery only returns one recordset, e.g. - cfquery name=test datasource=#request.dsn# begin transaction update tblTable set value1=1 where id=1; select value1 from tblTable where id=1; commit transaction /cfquery cfoutput#test.value1#/cfoutput - That's crappy example and a bit pointless, but you should understand what I'm getting at. -Original Message- From: Robert Everland [mailto:[EMAIL PROTECTED]] Sent: 15 November 2001 15:58 To: CF-Talk Subject: Is this SQL trick possible Is there anyway I can get the value of a field that I update without having to do a query first. Robert Everland III Dixon Ticonderoga ~~ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: Is this SQL trick possible
you can update and then create a trigger to select the record that was updated. Shlomy -Original Message- From: Craig Dudley [mailto:[EMAIL PROTECTED]] Sent: Thursday, November 15, 2001 11:07 AM To: CF-Talk Subject: RE: Is this SQL trick possible erm, can't you do the update and a select in the same cfquery block? If your'e using SQLserver u can anyway, as long as the cfquery only returns one recordset, e.g. - cfquery name=test datasource=#request.dsn# begin transaction update tblTable set value1=1 where id=1; select value1 from tblTable where id=1; commit transaction /cfquery cfoutput#test.value1#/cfoutput - That's crappy example and a bit pointless, but you should understand what I'm getting at. -Original Message- From: Robert Everland [mailto:[EMAIL PROTECTED]] Sent: 15 November 2001 15:58 To: CF-Talk Subject: Is this SQL trick possible Is there anyway I can get the value of a field that I update without having to do a query first. Robert Everland III Dixon Ticonderoga ~~ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
Re: Is this SQL trick possible
yes. update tableA set fieldA = 1 since YOU are updateing the table you already know what the value will be. Of course, you could clarify your question. On Thu, 15 Nov 2001, Robert Everland wrote: Is there anyway I can get the value of a field that I update without having to do a query first. Robert Everland III Dixon Ticonderoga ~~ Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: Intranet Apps (cool trick for us to check out)
In this particular case, if you're using IE, you can just choose "VIEW SOURCE" I am not sure what they were trying to hide, but my feeling is that anyone who could do anything useful with their HTML wouldn't be stopped by this silliness. Eron Here's the script if you're interested: !-- Insert Company Head Here -- SCRIPT language="JavaScript"!-- var message="Sorry, this function has been disabled.\nWebmaster,\nIntraNetics, Inc." function click(noclick) { if (document.all) { if (event.button == 2) { alert(message); return false; } } if (document.layers) { if (noclick.which == 3) { alert(message); return false; } } } if (document.layers) { document.captureEvents(Event.MOUSEDOWN); } document.onmousedown=click; // --/SCRIPT -Original Message- From: Shawn [mailto:[EMAIL PROTECTED]] Sent: Friday, September 10, 1999 1:59 PM To: [EMAIL PROTECTED] Subject: RE: Intranet Apps (cool trick for us to check out) Its not the front page click onto one of their links to another page. The give it a try. its just javascript that keeps the event onmousedown from working. But I do not think these is so for older version of browsers. Shawn Regan At 11:08 AM 9/10/99 -0500, you wrote: Right-clicking on http://www.intranetics.com works normally for me (IE5, Win98). Maybe you didn't try a blank area of the page? All the Best, Ron ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ H U M A N K I N D S Y S T E M S, I N C. for your information, we have solutions http://www.humankindsystems.com ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ try right clicking on a page on their site.. (www.intranetics.com) it's been disabled ;) -chris --- --- To browse the cf-talk archives, visit www.eGroups.com/list/cf-talk To unsubscribe, send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body or visit the list page at www.houseoffusion.com -- To browse the cf-talk archives, visit www.eGroups.com/list/cf-talk To unsubscribe, send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body or visit the list page at www.houseoffusion.com -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.