Opslag van client variabelen in ColdFusion

20-11-2011 | Marcel van Langen | ColdFusion | client, scope, variables, session

Nogal wat ColdFusion webtoepassingen maken gebruik van client variabelen. Deze variabelen maken het mogelijk om relatief eenvoudig persistente informatie vast te houden over een specifieke gebruiker van de webtoepassing. Het toestaan van client variabelen is een eenvoudig klusje, maar bij nadere inspectie blijkt het toch allemaal niet zo makkelijk.

Client variables is een wat vreemde eend in de bijt. Qua mogelijkheden zitten ze een beetje tussen de session variables (die geldig zijn voor een sessie) en de permanente variabelen als de Application en SESSION variables in. Client variabelen zijn gekoppeld aan de client, de gebruiker van jouw webtoepassing. De variabelen die je in deze scope opslaat bestaan standaard 90 dagen. Je kunt client variabelen eenvoudig toestaan door de volgende code op te nemen in je Application.cfc:

This.clientmanagement="True"

of (als je dat nog gebruikt) de volgende code in je Application.cfm

<cfapplication name="unieke_naam_van_je_applicatie" clientmanagement="Yes" />

Simpel genoeg. Standaard kiest ColdFusion ervoor om deze variabelen op te slaan in de registry van je server. Een vreemde keus, omdat dit zeker niet de beste optie is. Beter is het dan ook om dit direct te veranderen, en wel naar een database. Iedere database die voor ColdFusion benaderbaar is via een datasource, kan worden gebruikt. Kies je voor opslag in een database, dan moeten er wel twee tabellen worden aangemaakt, CDATA en CGLOBAL. In het ideale geval kun je dit meteen door ColdFusion laten doen via de CF Administrator. Zo niet, dan zul je deze met de hand aan moeten maken.

En nu je dit weet, mag je het ook meteen weer vergeten. Client variabelen brengen namelijk in de praktijk meer problemen met zich mee dan dat ze oplossen. Session variabelen zijn in vrijwel alle gevallen een prima alternatief. Hun meer beperkte levensduur kan eenvoudig programmatisch worden omzeild (bijvoorbeeld door ze opnieuw aan te maken op het moment dat ze niet meer beschikbaar zijn). En wil je nog een stap verder gaan, zet dan EHCache in voor de volledige vervanging van het gebruik van zowel client als session variabelen. Schaalbaar, gratis en standaard beschikbaar in zowel Railo als ColdFusion.

Over Morloff

Morloff ontwerpt en realiseert succesvolle webtoepassingen op het gebied van procesoptimalisatie, eCommerce en rapportage door de inzet van moderne webtechnieken, sociale media en zoekmachine optimalisatie.

over ons | diensten | portfolio | contact | route

naar website IJsmonster.nl naar website ICT intermediairs naar website marcelvanlangen.com

Twitter

Morloff

Cuneraweg 169a
3911 RH Rhenen

M +31 (0)6 - 515 96 189
W www.morloff.nl
E contactformulier

Morloff op Twitter Morloff op Facebook Morloff op LinkedIn Morloff via RSS