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

Reply via email to