News

KOW Ent 3.0b Released

Added by Marcelo Coraça de Freitas 14 days ago

Hello all.

I've just uploaded another release of KOW_Ent. Now the entity part of the KOW Framework supports table indexes (including indexes composed by multiple columns).

KOW Ent 3.0a Released

Added by Marcelo Coraça de Freitas 15 days ago

I'm glad to announce KOW Ent 3.0a has been released.

This is the first alpha version of the brand new KOW Ent written from scratch.

It also means KOW_View-Entities and KOW_Sec-Entities wont' work with this release.

Among other things, this release introduces:

  • brand new build system
  • no need to call a bunch of methods to register the entity type (thus removing complexity)
  • not only MySQL, but also PostgreSQL and Microsoft SQL Server support
  • easier to implement new entity types
  • abstract data storage API thus enabling the user to implement other ways to store data (files, other DB APIs)
  • experimental table schema versioning
  • new query API supporting joins
  • the entity doesn't need an ID type anymore

There are some features that haven't been implemented yet:

  • non serial/bigserial primary keys
  • extended indexes

Wow!

Added by Marcelo Coraça de Freitas 15 days ago

Hey there.

Just to let anyone who might want to tryout the brand new kowent know that we will make an alpha release in the next few hours, allong with the new APQ and core tools release. :)

Next release

Added by Marcelo Coraça de Freitas 16 days ago

So we decided to write KOW_Ent from scratch once again. We've learned a lot from the past KOW_Ent versions (both 1.0 and 2.0) and our Ada skills improved as well. So we decided to simply trash the entire framework and strart from ground up. And turns out we managed to get somethere quite exciting!

The new version won't require entity configuration files (used by kvdriver in the past). This might even make kvdriver a deprecated tool. Also, the implementation is Unbounded_Strings free now (we've had some problems with unbounded strings in multy task environments when using most recent versions of GNAT - to be more specific GNAT GPL 2011 and the equivalent one from the GCC team.

KOW_Ent will support more database vendors now (so far MySQL and PostgreSQL, even though it might work fine in SQL Server - testers wanted), there is a new query interface which implements Join queries (exactly, now you can write your SQL join code in pure Ada syntax), the maximum entity loaded limit has been removed (which means you could load tons of data at the same time if your system can handle it... it's all about what you've got, not about the library, as we are using linked lists for storing temporary results). And one of the most exciting news.

KOW_Ent could be used to handle file-based entities. We introduced the concept of Data Storage. The database backend is implemented by the KOW_Ent.DB.Data_Storages and you could implement your own data storage types. Also, there is a loader interface so you can browse through your results (only forward serial fetching).

We are quite excited about how far we've come in less than one month (exactly, most of the new KOW_Ent is already implemented and it took us just a couple of weeks). We are currently in 4206 lines of code (including comments) so far, which is less than half of what the other version had (9937) and we currently support more complex features than before.

As we tried hard to apply the best practices possible, his means the code should run faster and be easier to maintain.

There is a lot going on. And there are a few features that need to be implemented, such as:

  • NULL values support (exactly, kow_ent will support null now)
  • entity labels
  • some properties, such as locale property
  • database initialization (ie, table creation)

Other tool we would like to implement in the near future is table structure versioning. With this, the user could track all the changes made in the history of the application and with a simple command upgrade the table structure to the new schema. As we still have no idea on how to implement this... it's still in planning stage. :)

So, I guess those are pretty exciting news. At least for us.

Also available in: Atom