The Plugin Framework, as I said many times before, is very hard to implement. Its development, though, is being a nice way to understand the (many) architectural problems of ScrewTurn Wiki. The engine, basically, lacks of abstraction and expandability. This huge problem is due to the fact that the wiki wasn’t meant to become what is becoming, so the design was really simple. Maybe with too much easiness, the engine was just meant to handle local data without a database and without any kind of expandable data access layer (there is a sort of DAL, but it’s not expandable at all).
So, here is what is happening. The engine architecture is being completely redesigned, recycling code here and there, but adding a brand-new Storage Provider paradigm, which will be used both by plugins and the engine itself. All the main data (i.e. Users and Pages) will be completely handled by those providers. I’m setting up a simple yet smart architecture that will hopefully minimize the problems of wiring data modification with the correct providers, at runtime (you know, I don’t like configuration files). In the next days/weeks (when the architecture will become more stable) some documentation will be published.
As you can imagine, this process will need more time than planned, so the next version will ship a couple of months late. I’m sorry about this, but I think it’s the correct thing to do in order to produce good software.
I also what to thank all the users: your feedback is very important, this project is having way more success than I’d have imagined at the beginning. Thank you!