Greetings, I’d like to announce the availability of a PostgreSQL extension that I’ve sat on for a year – it’s time to share! It provides undo/redo functionality useful to application developers that want to persist application objects in a PostgreSQL database. It does some gymnastics using jsonb under the hood, so you’ll need to be on PostgreSQL 9.4 and up. The bad news is that currently you have to model the application object with just one table (multi table undo/redo is on the to-do list). The good news is that it implements non-linear multi-timeline undo/redo. What this means is it keeps a full history of table operations and allows you to jump anywhere in the history and continue operations from there. For an article detailing how to use it see: http://www.mockbites.com/articles/tech/istoria You can get it from here: https://github.com/KiriakosGeorgiou/istoria This was inspired by the airspace editor project I’m currently working on where undo/redo is managed by the application. I wanted to push all this to the database so a) tables don’t get polluted with undo/redo metadata b) the application does not need to implement undo/redo logic. I hope you find it useful. Regards, Kiriakos Georgiou |