Entries Tagged as 'Metro'

Metro 0.4.1 Released

Metro , ColdFusion 2 Comments »
A big thanks to John Whish for spotting a bug in the way the Metro ServiceFactory resolves component class paths. The componentPath and libPath init arguments are optional, so when both are empty strings, the ServiceFactory threw an error. This issue is resolved with revision 1 for Metro 0.4.

Metro 0.4 Released

Metro , ColdFusion 1 Comment »

The latest Metro release (0.4) includes some bug fixes and a significant change to the included security package. After much consideration, I felt it was appropriate to separate the security package into "user" and "security" to facilitate integration with other projects and provide better separation of concerns. There is now a UserService which is responsible for managing the User, Role and Permission objects. The SecurityService is now primarily responsible for managing user sessions.

Additional meaningful updates below:

  1. The loginUser() method found in UserService, now checks the Active status for a User.
  2. The User decorator's hasPermission() method now accepts a comma separated list of permissions to check.

Metro 0.3.2 Released

Metro , Inheritance , ColdFusion 5 Comments »

I revisited the Metro ServiceFactory after John Whish's recent question about how Metro instantiates concrete classes. After a bit of trial and error, I'm happy to announce that the ServiceFactory now supports the creation of concrete gateways without requiring a concrete service in the same package. Before I outline how Metro resolves the class path for instantiating a Service and composed Gateways, I'll describe the basic conventions one must follow to use Metro.

Read more...

Using Metro - A Transfer ORM Audit Observer

Metro , Transfer , Ideas , ColdFusion , ColdSpring 1 Comment »

The Transfer ORM Event Model provides an API for notifying components in your application of events in the Transfer object life cycle. You can use it to setup your component dependencies as demonstrated by Brian Kotek's TDOBeanInjectorObserver (part of his ColdSpring Utils library), or set specific properties on the Transfer object prior to creating or updating the object (see Bob Silverberg's post on the subject). Depending on your application needs, you can also tap into other Transfer events to create an audit trail and history for specific classes in your model. That's where the idea for the TransferAuditObserver (which is included in the Metro security package) was born. Setting CreateDate or LastModifiedDate properties on an object didn't sit well with me, because the observer was acting on the object state. Instead, I wanted an observer that recorded the events and state of of the object when those events were fired. Therefore, the TransferAuditObserver registers itself to listen for AfterCreate, AfterUpdate and BeforeDelete events, depending on a simple configuration map.

Read more...

Metro 0.3.1 Released

Metro , Transfer , ColdFusion , ColdSpring 1 Comment »

While in the process of generating documentation for Metro (using Mark Mandel's excellent Colddoc), I realized that I am generally remiss about using hint. Therefore, I embarked on a mission of adding hints to the Metro library. During the course of this exercise, I chose to re-factor a few items that I wasn't completely happy with. The result is Metro 0.3.1.

Read more...


Powered by Mango Blog. Design and Icons by N.Design Studio
RSS Feeds