Looking at Valentina…Again…

I’m doing some research for my presentation at the Colorado REALbasic Summit at the end of September.  One of the Reporting tools that I’m excited to take a look at is Valentina Reports.  Valentina has been around for a long time in the REALbasic community and I’ve used them in the past for several projects and I’ve more or less kept up-to-date on updates but recently stopped because I hadn’t used it for a long time.

There are a number of things to really like about the Valentina database.  It’s fast – there’s no doubt about it.  Valentina is truly a relational database (you cannot say that about SQLite or REAL Server) and it comes with a file (single connection) version as well as a server (multiple connections) version.  It’s been around a long time in REALbasic and you can use Valentina in a variety of ways including a class-way that is very object oriented.  It is also strongly type-cast meaning it won’t let you put a string into an integer field and so on (again SQLite and REAL Server are NOT like this).

There are a number of reasons why I stopped using Valentina but the biggest was bugs.  In one of my projects I got caught in a transition between db formats and because of my project deadline I was forced to use beta versions.  Which meant, of course, that they’d fix one bug and create another.  It was an ugly couple of months and it’s (obviously) left a bad taste in my mouth.  And yet I keep coming back for more….

It’s been a few years and I was really hoping that it was a nice stable environment.  Alas, I can’t say that it is.  I downloaded Valentina Studio 4.2 (their general admin tool) and decided to import my standard SQLite demo database for reporting tool comparisons.  Everything started off fine but when using their import wizard and hitting Finish it just goes *poof* (hard crashes) and a standard Apple error dialog comes up.

I suddenly remember why my eye tick comes back when I start working with Valentina.  Hard crashes were a common occurrence when I last used Valentina and is still obviously an issue (at least in Studio).  When you can’t perform a simple data import using a standard text file it makes you wonder what’s going to happen with your database.

It’s a trust issue, really, because the first experience with the product is the admin tool.  Instability in the showcase application (in my opinion), hints at deeper problems in the entire database.  Hard crashes are evil, bad things because it means the app quit in an uncontrolled fashion.  What happened to your database write just then?  Is the data good, bad or in some unknown state?  Either way I have a hard time telling a client that things will be okay if it happens to them.

If you are a Valentina and REALbasic user I’d like your opinion.  Am I just having a bad day or do you have these same frustrations as well?  Have you used the new reporting system?  Do you like it or not?

8 thoughts on “Looking at Valentina…Again…

  1. Hi Bob,

    VStudio has gotten better, but as you have seen hard crashes can still occur. Working with Valentina in Realbasic is nowadays very stable. Once you understand, how Valentina works, it’s pretty simple.

    The worst issue with Valentina is the documentation where Ruslan still denies any problems.

    Haven’t used the new reporting system, yet.

    Trixi

  2. Two remarks:

    “Valentina is truly a relational database (you cannot say that about SQLite or REAL Server)”
    — How do you come to that conclusion? SQLite IMHO is a relational DB (it follows the relational data model).

    “What happened to your database write just then? Is the data good, bad or in some unknown state?”
    — If it’s a transactional database fulfilling ACID properties, nothing should happen because the atomicity requirement (A in ACID) ensures that either all or none of the operations get executed. Of course this only helps if the admin action does not create one transaction per row of data that gets imported but wraps the entire import in one transaction – which will be rolled back when the admin app crashes because it did not get committed.

  3. SQLite lacks Foreign Key Constraints:
    http://www.sqlite.org/omitted.html

    Okay, you got me on the ACID test. BUT, a hard crash is a hard crash, and now you have to determine what happened with your data. Did it get committed or not? Either way YOU, the user, is left in an unknown state regardless of what the database does.

  4. @Trixi
    I was able to import my data another way and start working with the reporting tool. The report designer looks absolutely gorgeous. On Mac OS X it’s very responsive and has some nice features. It didn’t take me very long to create a report.

    I still need to dig into how to do it via an RB app. Hopefully that won’t take very long.

  5. I have tried Valentina on and off for several years. I even tried the first iteration of their Java libraries. My biggest problem was the documentation. It is woefully incomplete, leaving the user to figure out on their own how to progress from very simple examples to a working program.

  6. @Scott Steinman
    I too have had similar issues with their documentation and examples. This goes back a few years but when I pointed out that one of the example projects didn’t work if you changed it to be more realistic they refused to believe me and said it worked as they had intended it.

    The example project was saving images to the database and the images were embedded in the RB project. If you changed it to save external images it wouldn’t work with ANY image regardless of its format (and believe me I tried every format). And in the long run I converted the image to and from a string and saved it that way.

  7. @Bob
    That they omitted foreign key constraints does not mean that it is not a relational database. It still uses the relational data model. (Also MyISAM, the standard table format of MySQL does not have referential integrity but is still considered a relational DB.)

  8. I *was* excited about trying out Valentina Reports. But now that I can crash the report designer every time simply by adding a graphic or chart component I think I’ll have to check my enthusiasm. Very hard to evaluate a product when it hard crashes all the time.

Comments are closed.