Please consider funding my work on Glom so that I can implement all these features. Murray Cumming
- Quickly add Relationship/Field: For instance, when adding a field to a layout, quickly add a relationship so that you can add a field from it, without closing the layout window, opening the relationships window, and opening the layout window again. Or to quickly add a field to the current table when adding a field to the layout dialog. Or, when specifying a related choices lists (in a Field'a default formatting). (30 hours)
- Automatic Server Detection: Patch postgres to use avahi for ZeroConf/Bonjour/Rendezvous service broadcast. Postgres already uses Bonjour on MacOS X.
- Deal with lots of data The custom tree model should progressively gets only the record values that are visible in the scrolled window, but I am not sure if libgda has already requested the entire result set. The new libgda API might be better.
- Custom Print Layout: For instance, a perfect-looking official invoice. Implement with CSS fixed positioning? Time: 80 hours.
- Non-Indexed Calculated Fields: Optionally don't store values - just recalc them when seen/used, and therefore don't allow their use in relationships, though that's awkwardly technical when seen in FileMaker. Time-to-complete: 60 hours.
- Internationalization via .po files: Add Export and Import buttons to Translations Window, so translators can use their usual .po file tools. Time: 10 hours.
- Locking: Don't let a second user edit the same record. (Delay unlock for 5 seconds after entry loses focus). Update the display when the second user changes the same record. Time: 50 hours.
- Drag-and-drop layout: Add a panel of available items and show visual feedback as they are moved around on the layout. But still use the automatic-layout system. Time: 60 hours.
- Relationships Overview: See a picture of all the tables, with all their relationships to each other. Use a canvas and let the user drag the tables around. Time: 70 hours.
- Related Records as Calendar: Display a portal of related records in a calendar, using a specified field as the date.
- Warn when deleting used fields and relationships: If a field or relationship is on a layout or report, or a field is in a relationship, warn before deleting.
- Scripting: Most common actions should be standard features without the awkwardness of scripting, but maybe we need some way via the custom buttons to, for instance, on Contacts details create a related Invoice and take you to the Invoice details. For this, we must just present a python API for some parts of the Glom structure in addition to the current record object.
- Multi-column relationships: Match on 2 key fields instead of just one. Time: 30 hours.
- Performance:: Keep connection alive, do less by-value copying, more caching and hashing. libgda 2.0 (when finished) should help with this.
- GUI for creating the initial user, after asking for the root password.
- Windows Port: Shouldn't be too difficult. All dependencies are portable. Time: 60 hours.
- Web UI: Possible in principle, though it couldn't be so responsive as a desktop application. All the needed information is in the .glom document. Something for a web developer, and there's no need to choose a favourite language/platform - just do it.
- Alien Tables: Allows some tables to get/set data in non-postgres sources, such as evolution-data-server, so people don't need to enter their contact information twice.