Glom 1.8

I have released Glom 1.8, with many new features and bug fixes. We have not yet fully completed some of the new features, and the refactoring may have introduced regressions that we must fix in 1.8.x releases, but we need to get it all out into the world and move on to Glom 1.10, including porting to libgda-4.0.

We have probably missed the schedule for getting Glom 1.8 into Ubuntu Intrepid so I’ll create some PPA packages when Intrepid is released.

Useful new stuff in Glom 1.8:

Network sharing

As you can see in the new initial dialog, you can now choose to open a Glom system from the network, if a colleague is already running it. This is much easier than getting access to the actual .glom file on a shared network drive.

This uses the new libepc (Easy Publish and Consume) library, developed by Mathias Hasselmann, using avahi and libsoup. There’s a chance we might use telepathy in the future.

Armin implemented the new dialog, and I implemented the load-from-network code using libepc.

Import

You can now import CSV (comma-separated) data in to the current table. The assistant helps you to choose the field mapping, showing you sample data for the first few rows.

Johannes implemented this.

Drag and drop layout

You can now drag items from the toolbar (hidden by default) onto the details layout, and you can drag items within the layout. The automatic layout reflows as you do this.

Yes, we know that the dotted lines are particularly ugly, but I don’t yet know of a better way to show the limits of the columned boxes and items, which may be inside each other. Mockups would be welcome.

Johannes implemented this. It was a huge job and he’s probably glad to be doing some other things now. This uses the EggToolPallette toolbar, developed by Mathias and Jan Arne, that we hope to get into GTK+ eventually.

Print Layout

This is very primitive right now, but you get the idea. Unlike the on-screen layout, this uses precise positioning. That allows you, for instance, to print in the correct places on a pre-printed form.

Most importantly, we need to add some way for fields (particularly lists of related records) to flow into each other, maybe using allowing them to be special objects in text blocks.

I implemented this, if you can call it implemented. I used goocanvas (via the goocanvasmm C++ bindings). I also rewrote the Relationships Overview using goocanvasmm. It also uses the EggToolPallete. I guess we should move it to the left to be consistent with the regular layout toolbar.

Windows Installer

Armin built Glom and its dependencies (apart from Avahi) on Windows and created an experimental installer.

Armin and Johannes also updated Glom’s client-only Maemo build.

What’s next

We need to finish the print layout and drag-and-drop features, and port to libgda-4.0.

I also want add a platform-specific alternative layout option, so one .glom file can have large layouts for regular PCs and small layouts for Maemo, for instance. I’ll probably get around to doing that for 1.10. On Maemo, I also want us to use the new UI elements in Maemo 5, if the Maemo SDK is released.

5 thoughts on “Glom 1.8

  1. Glom is really an awesome piece of software. One of my favourites! It still feels young, but it has amazing potential. I use it all the time, even when I really don’t need to… and I have successfully made one person very interested in free software by using it.

    So, err, thanks for your efforts here! Best database tool EVER. The networking stuff looks great. Really REALLY looking forward to Telepathy :)

  2. Glom is great project which has a lot of potential. It’s great that there’s now a Windows port. I’m evaluating Glom’s use for our organization – pity it uses Postgres and not MySQL, as that would fit within our existing tools. I guess this won’t change even with libgda4, will it?

    There are some small things that make Glom look onpolished:
    – the buttons could use some inner borders (Add, Delete, First, …) [especially on Windows]
    – buttons should have same size (First/Last, Back/Forward)
    – don’t show three dotted lines next to each other, just show one (like the CSS property border-style:collapse)
    – the Edit menu has an icon in Print Layout Editor?!

    The drag&drop layout is the thing I like most in this version, that alone makes Glom much more useful for me. Looking forward for 1.8.x and 1.10 :)

  3. Well, I am willing to fix up the drag-and-drop layout once we have some user feedback. It was hard to do but I also learned a lot about Gtk+ internals. It was kind of difficult because drag-and-drop in general is quite scary sometimes within Gtk+ and on the other hand the flowtable layout container has some issues. All this needs some more polishing to get all corner cases done correctly. And yeah, we need something better than the current dotted lines…

  4. Hendrik, a patch would be welcome for those borders. I don’t like the idea of wasting space by making all buttons the same size, but if that’s what the HIG wants then I’ll be OK with it. Maybe just using icons would be best, if it’s clear enough.

  5. Hi,

    This looks like an excellent release! Regarding the PPA packages, I’ve got some for glom and goocanvasmm, and Christophe Sauthier (huats on IRC) has worked on updating to bakery2.6 so we now have a working glom build in my PPA at [0]. We just need to seek out the necessary sponsors once Jaunty opens. If you find any bugs in our packaging, please let us know.

    Iain
    [0] https://launchpad.net/~laney/+archive

Leave a Reply

Your email address will not be published. Required fields are marked *