Skip navigation.
Home SourceForge.net Logo

ODKit v0.5.8.1 Quickfix Released

This release fixes many problems with the instalation scripts, like compiling useless files, not respecting instalation paths, etc. This release makes some changes in the plugin registration procedure and adds updated SPEC files for RPM building.

Aditionally we already provide RPM binaries and sources compiled on CentOS 5.0, you may want to build your own RPM files for your distro or architecture from either sources (using the spec files) or source RPMs.

This release changes the configuration file to its own directory under PREFIX/etc/odkda2 which may also contain plugin registration files. 

ODKit v0.5.8 Released!

This is mainly an odkUtils release, this is the first release done using Git as SCMS (source control management system), which introduces a few changes on the workflow for better.

Release Changes:

  • Added regular expresion API to odkUtils
  • Added quicksort to list (doubly linked lists)
  • Added better code separation for platform dependent code (one file for each platform).
  • Added better mutex code for windows.
  • Changed library loading API.
  • Added initial thread implementation for windows.
  • Added header documentation for most functions in odkUtils.
  • Updated odkDA2 for new regex API.

After this I'm concentrating on the v0.6.x series, which will focus on odkPrint, the first releases will be odkDA2 or odkUtils related changes as I get a working odkPrint implementation.

Upcoming Release

Upcoming release of ODKit v0.5.8 is ready, all that is left is to pack and do Windows binaries, this new release sports a new and powerful regular expression API of odkUtils, odkDA2 uses it for parsing SQL placeholders, it could be used to validate and parse input, it will be used on backends to parse date/time strings.

Also this release will be bundled with updated API reference and tutorials.

Because of the spaming of the site comments and forums I disabled them to anonymous user, if you wish to comment or post on the forums please register, I know it can get tedious but it prevents spam for now.

Documentation

I added a tutorial to get started with the new feature in ODKit v0.5.7 (fetchex), I will update API documentation shortly after generating it from sources.

Happy Hacking!

ODKit v0.5.7 Released!

New release of ODKit is finally done, this include the new fetch extended API along with some fixes here and there as always, if there isn't much to be done left i will probably jump into working on odkprint and start the v0.6.0 branch.

Release Features:

  • Fetch Extended API
  • Code cleanup
  • Plugin cleanup
  • Updates to XML API and code
  • Fixed compilation scripts for 64 bits (x86-64) systems (added -fPIC)
  • Updates windows project files.

Fetch Extended API

I have commited new additions to the command API, the new fetch extended functions (fetchex in short), which fetches a row with a predefined data format, this can be used to fetch the row to a structure, this is the continuation of what i talked in my last post, is a simplification and refinement of my past attempt.

There is two new functions to work in two diferent modes, either you supply ODK with a previously allocated structure, or let ODK allocate the memory and you just typecast the pointer to the structure type.

Now all that I need is to compile on windows check that it is working, commit and release ODK v0.5.7

Upcoming Release

This last month has been a very busy one for me, with that ODK development slowed down, however a new release is already on works, this new release will sport a very interesting feature, fetching columns to a structure, this can be really useful to create ORM like features.

This is a sample code of this feature:

typedef struct{
char *name;
char *address;
char *phone;
char *email;
} Contact;

odkFieldDef ContactDef[4] = {{100, ODKDA_TEXT, ODK_STRING_PTR},
{100, ODKDA_TEXT, ODK_STRING_PTR},
{100, ODKDA_TEXT, ODK_STRING_PTR},
{100, ODKDA_TEXT, ODK_STRING_PTR}};

Contact MyContact;

cmd = odk_sql_new("SELECT name,address,phone,email FROM contacts");
odk_command_define_struct(cmd, 4, ContactDef, &MyContact);

odk_connection_execute(conn, cmd);

while(odk_command_fetchex(cmd)){
printf("Contact:\n");
printf("\tName: %s\n", MyContact.name);
printf("\tAddress: %s\n", MyContact.address);
printf("\tPhone: %s\n", MyContact.phone);
printf("\tE-Mail: %s\n", MyContact.email);
printf("\n");
}

As you can see first you define your structure, then create an array of odkFieldDef to define the characteristics of the field on the structure, as you can see there is lenght (only used for strings), variable type and flags. Now you create a provider, create a connection, open the connection, create a command (SQL command) and define the structure with it (odk_command_define_struct), you pass the command, the number of elements in the definition array, the definition array (odkFieldDef) and a pointer to the structure.

ODKit v0.5.6 Released!

Finally I put out a release, this release includes named sql placeholders, a few fixes on compilation scripts (which affected postgresql backend), Date/Time object support on all backends, merged some changes from odkutils-steroids branch of lists and xml.

Currently this release is source only, hopefuly I'll be compiling binaries this week, as I have a week off from the school.

New Article has been added to documentation, on tutorials I'm writing the hacking odutils guide, to help promote more programmer for the project.

File Releases

I have been quite busy these days, however a new release is ready to go, I only need to make binaries for windows and post new files.

A few days ago a friend noticed that project files where corrupted, I verified this too, BEWARE SOURCEFORGE DOWNLOADS ARE CORRUPTED, in the mean time is better of to use SVN or wait for next release. This problem seems to be related to sf, these files where ok when I uploaded them (I usually download and check).

Be patient, new release is being worked on, I'm currently working on having windows binaries using new MS toolchain (VS Express 2005) replacing my old VS 6.

odkUtils Steroids Branch

I'm quite busy this days with school (Medicine is a very busy career), but there has been some good stuff happening around on the odkutils-steroids branch, this includes a few new functions to the list API and a revamp of the object system, which should make it faster and easier to develop with.

New functions added to list API includes push/pop functions to use lists as stacks or queues, and the is_last/is_first function to check if we are at the end/beginning of the list.

Changes on the object system includes object initialization, you will first call object_init after allocating your instance (via malloc) then register interfaces as needed which are a 32 bytes string (without null character at the end) this will identify the unique interface that the object implements (you can generate your own with sha256), then call parent class initialization functions and own initialization functions.