So, my blogging platform, Ansible, has been rock solid for the past few years. I’ve learned a LOT since I built it, and it’s getting about that time to completely redo it from scratch. I wasn’t into LINQ or the Entity Framework when I first built it, so I missed out on a lot of ways to really tighten up the code and make it a bit more modular.
If I’m going to rewrite it, it’s going to have to be from scratch. The biggest PITA I had in the code is getting the API’s working so that I could use Windows Live Writer to compose my posts. Part of me wouldn’t mind finding something in Silverlight as the editor, but there’s not a lot available in the open source side that I can see (and I’m not wanting to spend a few grand on a product suite that I need 1 single control from).
I guess I could just try to use clipboard inheritance with the MetablogAPI and do everything else from scratch.
Some of my ideas are
- Widget support – The Dead Goblin Count is still done manually. I’d like to be able to use something like Unity to create modules that I could just drop into a folder and have new controls that don’t require writing code into the core.
- Multi-user support – Right now there can only be one user, and that’s the administrator (me). It’d be nice to be able to have other users so that Ansible could be used in a multi-user system.
- Installer – The underlying code is rock solid. If someone else wanted to use it, however, it would be practically impossible as there’s no way to set it up outside of a completely manual process.
- LINQ / Entity Framework – much easier to deal with and extend
- Also in the Multi-User system, I would like to allow people to register accounts. This would allow for securing of a handle as well as permitting me to implement the next idea
- Awards and achievements – I think it would be fun to give people awards for things like “Best use of the word ‘blepharectomy’ in a comment” or “Amazing run on sentence award!” etc. Just for fun.
- With user accounts, you could also manage your subscriptions to comments better. I could also limit the emails I send out better.
Those are the primary additions I had in mind, and most of it isn’t a lot of work (well, maybe the Module system, but hey this is what I do for a living). I just want to avoid the MetablogAPI stuff but that might not be feasible in the time frame I have.