Yesterday I came back from Herbstcampus 2008 in Nürnberg. I gave there a talk on Envers. Thanks to all who attended! I’d also like to thank the organisers, everything went smoothly and I felt really welcome there :). You can find the slides here. They lack of course the added…
Envers is back from vacations
Hello, after a vacation break, Envers is back with a 1.1.0.beta1 release. You can find the release notes here. There’s quite a lot of changes and improvements in this release. Firstly, Envers now only works with Hibernate 3.2.6 or Hibernate 3.3.0. That is because support (not yet complete) for persistent…
Envers 1.0.0.GA released!
Today the first general availability version of Envers has been released (downloads, release notes). This is a stable version containig all the features found in the preview and beta versions. It doesn’t contain any major new additions, only some minor bug fixes and the possibility to generate revisions on collections…
Bi-temporal versioning with Envers
With the recent addition of queries to Envers, it is now possible to easily retrieve data in a bi-temporal way. If you are not familiar with bi-temporal versioning, a good introduction by Martin Fowler can be found here. Suppose we want to store information about Persons and Addresses, at which…
Envers beta – now with queries!
So far Envers made it easy to store historical data; now, with version 1.0.0.beta1 (download here), you can also query it, in two “dimensions”: for entities at a given revision and for revisions, at which an entity changed. The implementation mostly follows Hibernate Criteria, with some features removed, and some…
What data should be stored in versions tables? – a poll
Hello, I’ve posted a poll on what data should be stored in versions tables in Envers, see here and cast your vote: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=136764 The results will determine the future implementation, so votes really count. And as always, comments & ideas are very welcome. The two options, in short, are: Store…
Envers preview 3: logging data for revisions, Seam demo
With the preview 3 release of Envers, you can easily associate additional data with revisions. This could be, for example, the name of the user making the change. You simply need to annotate an entity with @RevisionEntity: an instance of this entity will be persisted with each new revision. To…
Value-to-variable binding “let” tag for JSF, Facelets and Seam
The “let” tag enables you to bind the value of any expression to a variable and later reuse it, without recalculating the value. The concept comes of course from functional programming. It is especially useful with Seam’s extended EL. The usage is really simple: 1 2 3 <mamut:let var="result" value="#{anyElExpression}">…
Envers preview 2: versioning relations
You can now download a second preview version of the Envers library! As a quick reminder, the library enables you to easily version your JPA entities, by simply annotating their properties with @Versioned; it works as an extension to Hibernate and Hibernate Entity Manager. In this release, in addition to…
Introducing Envers: Easy Entity Versioning
Hello, Envers is a project which enables you to version your entities, simply by annotating them with @Versioned! It is still very young, and far from a mature project, but some basic functionalities already work. The project’s web page can be found here: www.jboss.org/envers. There you can download a preview…