Monday, December 20, 2004

Triumph of Customizability

Niloy and I were working on release 2 of a Cisco internal application. Release 1 was built on Cornerstone. Presentation actions were all written in plain Java and then wired into page flows (they are really continuations) using the registry. Release 2 is the enhancement on some old technology. We need to call release 1 functionality remotely (release 1 and 2 run on two different servers, one with BowStreet and the other Tomcat). So we started tinkering with calling release 1's flows directly. There are many differences in the flows themselves and how they are called. So we could not reused release 1 flows as is. But the customizability of Cornerstone made it very easy for us to create alternative sequence controllers to do things a little differently. Now with only added entries in the registry and zero change to release 1 code, we were able to customize release 1 to the needs of unanticipated usage scenarios in release 2. This is the power of customizability, as is designed into Cornerstone. You can imagine we are very happy to see it work in reality.