Why does it seem that every piece of software needs to be rearchitected at least once or twice?
The results of this effort include:
- Moving to a unified non Operator specific, non browser specific microformats parser.
- Moving to a unified actions architecture (Extension specific right now, but we’re working on that.)
- Nearly complete support for all included microformats.
- Ability to use legacy handlers.
- Ease of adding new microformats (I’ve added XFN and species just for fun).
After much internal struggle, I decided to actually remove one of Operator’s options because I think I was trying to hard. Operator has two modes, Actions and Microformats, and within Microformats, you could choose to have a “default handler” or display all handlers. If you chose not to display all handlers, you would get a similar UI (toolbar buttons), but they would only invoke the default handler. It seemed logical when I wrote it, but this function (if needed) can be emulated by actions. I hope no one complains about my removing this.
Visually, everything else remains the same, except I cleaned up the names of some of the actions. It’s really only the guts that have changed. Obviously there’s the potential for new bugs in this implementation, so I’m trying to get something out this week to start some testing.
If you have written handlers for Operator, please let me know so that I can make sure my legacy code is working. I’m not going to explain how to write to the new action API yet since it is not baked.