Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m currently evaluating Hibernate Envers 3.6.2.Final; an auditing module part

ID: 639556 • Letter: I

Question

I'm currently evaluating Hibernate Envers 3.6.2.Final; an auditing module part of Hibernate.

As far as I am in my evaluation, I feel a little disappointed by Envers. I would expect much more from it :

More clear documentation

The documentation is sparse or unclear; lack of small drawings in the document
More activity from the community

I have waited two days for having an answer from... the creator on the forum. Is he a busy man or there is nearly no people out there?
Much powerful and flexible API

Querying the historical data is painful. I have to rely on direct SQL to achieve a simple "select field, count(id) from table_aud group by field"
Do you know any equivalent or do you want to share your thougths with me ?

Explanation / Answer

I'll answer your question a bit more generically, since I haven't used Envers but have used Hibernate. Open source software is a mash of great technologies, communities, etc or mediocre ones. Even under a larger umbrella project like Hibernate, the individual sub-projects vary.

If the community behind the Envers project is in fact just the creator, then it doesn't matter how good the code is. The project's longevity is in danger, and it needs new sources of energy. If Envers satisfies a core need, but requires a bit of extra work for your situation, I would recommend volunteering to scratch that itch. That's how open source projects grow and work. The more people who do that, the more likely the project will survive without corporate sponsorship.

Documentation is hard to write. It requires a different skill set than writing software, and many engineers are ill equipped for that job. There's a number of issues going on:

English as a second language: Even if English is your first language, others reading the documentation learned English later in life. You have to take care to remove jargon and slang that just doesn't translate well.
Engineers know too much: When working with an editor, the very first thing he did was to get me to back up and fill the gaps in knowledge my readers would have. When you've been face deep in writing software, you tend to give too much attention to the problem areas and not enough to the stuff that just works. The problem is the stuff that just works is what newbies need just to get up to speed so they can appreciate the nuances of the detail you are bringing out.
Documentation takes time: More time is spent rewriting the documentation than it is drafting it out in the first place. If the Envers team is small, all you are going to get is the first cut. Otherwise the software would be even more lacking.
Bottom line: It's open source software. You have a choice, make it better or move on. It's quite rewarding to make it better. Some projects have a higher barrier of entry than others, but there's something about being able to say "You know feature X? I made that possible".

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote