Pluggable App Architecture

Posted here (week 1619).

NFJS 2005: Designing and Developing Pluggable App Architecture

David Bock clearly had not given this talk before, and it was not quite as informative as I’d hoped.

I did get a sharper picture of how plugins should interact with their hosting application, via a specific API (which will be applied to a new SnipSnap API). He also showed a nice workflow configuration format they developed (describing states and transitions), and some good best practices for version number assignments. He also had a great set of guidelines for dependancies and package naming:

  • children may import parents in package hierarchy, but not vice versa

  • peers and unrelated may import, but only in one direction: no circular dependancies!

  • Remember, “if you depend, you’ll have to deploy”

David also shared a few good tool references: