EnvironmentConfig 1.1 - Beta
by Rolando on Jun.03, 2009, under EnvironmentConfig
EnvironmentConfig (EC) has been revamped and now gives you more power and flexibility to set an application properties. You can now use complex values (structures) as properties and reuse properties as variables throughout the config file. Another neat feature added to this version is the ability to use ColdFusion methods that return a simple value in the config (XML) file, as well as the ability to create a ColdFusion component (CFC) as a config Bean populated with the properties on the fly.
As of version 1.1 you can:
- Use complex values as structures in the form of map->property (just like in ColdSpring). Thanks to Paul Marcotte for adding this functionality
- Use ColdFusion functions to format or generate output. For instance you can use
#expandPath("/uploads")#and you will get the absolute path of the folder as the value of a property like “C:\sites\mysite\assets\uploads” - Reuse properties as variables in the config file using the syntax
${propertyName}. For instance let’s say you have a folder path of /assets, but under assets you have /images, /videos, etc. You can now set a property for assets as
<property name="assetsPath">/assets</property>
then you can set the images and videos path as
<propertyname="imagesPath">${assetsPath}/images</property>
<property name="videosPath">${assetsPath}/videos</property> - EC now return two structures with the properties, one is a structure with sub-structures (if you use complex values) and another one flattened (thanks to Tom De Manincor)
- Another new feature is that EC can create a properties Bean for you on the fly. So, if instead of using properties in a struct as properties.myProperty you can encapsulate them in a Bean object. The properties will be read-only and you would access them like
GlobalConfig.getMyProperty(). You can specify where you want it written to by passing the object notation path as'model.GlobalConfig', EC will create the file then under ‘/model’ as ‘GlobalConfig.cfc’ I prefer this over the structure as the application properties are read-only and no one can modify them during the application’s life. - If you use ColdSpring as your object factory, tell EC to create the ColdSpring definition file for you and all you have to do is add the include line at the bottom of your main ColdSpring file. From there on you can ask ColdSpring for the properties bean as you’d do with any other object.
This version still on Beta, but if you want to try it feel free to download it from the RIA Forge page http://environmentconfig.riaforge.org/
I look forward to getting feedback from you on features you’d like to see added. Report bugs at the RIAForge page.
Following will be a series of posts with samples of the multiple ways you can use EnvironmentConfig.



July 8th, 2009 on 3:20 pm
Hi Rolando:
I need to replace my senior CF developer as well as hire a junior person or two. I’ve posted on Craigslist and ice, but I was wondering if you also had some mechanism of getting the word out. Any way you can help?
I’ll post the Senior ad below so you can check it out.
Thanks so much!
~Matt
ExamWeb LLC
http://www.examweb.com
Senior ColdFusion Engineer (also need Junior programmer with less experience who wants to grow)
ExamWeb is a small and growing e-learning company, in operation since 1997, looking for a senior ColdFusion programmer . You’ll be working closely with a small development team and will be responsible for maintaining and improving our code as well as managing and coding new projects while working with a mid-level programmer and web designer.
Essential Responsibilities:
• New coding for client upgrades as well as internal projects. Most of our services are in the online test preparation and corporate training industries.
• Identify areas of existing code that can be improved upon.
• Maintaining webservers (hosted at Rackspace).
Requirements:
Expert: ColdFusion
Expert: SQL, SQL Server 2000 / 2005
Proficiency: Stored procedures, and triggers
Proficiency: Java scipt, XML
Proficiency: Webserver administration IIS 5 /6
Bonus Skills:
Ajax, iphone apps, .net
Other requirements:
1. Strong attention to detail, excellent organizational skills
2. Execute projects within defined timeline and fast paced environment
3. Ability to follow established procedures
4. Ability to work on multiple projects concurrently
5. Independent and disciplined work ethic, ability to complete tasks with little supervision
6. Ability to keep up with new technologies
7. Ability to work in a small office environment; Flexibility to work beyond your essential roles
8. Ability to read, write and speak English fluently
9. Excellent verbal and written communication skills – you’ll be communicating regularly with our clients
Please send a resume AND COVER LETTER introducing yourself to matt@examweb.com. Please include all salary histories. Thank you!
Matt Harris
President / CEO
220 Newport Center Dr. #11-379
Newport Beach, CA 92660
P: 949.480.1029 xt.701
matt@examweb.com
http://www.examweb.com