This is a placeholder for ideas and todos as they get moved to tickets. This page will eventually go away.

  • Additional documentation:
    • Schema definition reference.
  • Better usage of setuptools.
    • Requirements for schevo extras.
  • Schema evolution support.
    • Schema syntax for schema evolution.
  • More and clarified evo db actions:
    • evo db create for creating a new database.
    • evo db update for updating an existing database to a modified schema of the same version.
    • evo db upgrade for evolving a database from one version to the next.
  • Split schevo.database.open into open, create, update, and upgrade.
  • When creating a database, optionally store the location of the path used for the schema. Store date/time schema was updated. When updating an existing database, if the schema is not specified, use the stored location to retrieve the updated schema.
  • Additional documentation:
    • schevo command reference.
  • Optional full-text indexing of string and unicode fields.
  • Stress-test size limitations of Schevo and optimize accordingly. (Collaborate with Durus)
  • Fixed window of RAM usage for low-level schevo.store indices, independent of object count. (Collaborate with Durus)
  • Additional icon support:
    • Icons for certain values, like True/False in boolean fields, and certain initial values.
    • Icons for transactions and transaction methods.
  • Schevo Navigator improvements:
    • Ellipsis at end of long tab titles.
    • Offer a browser-style of navigation using history stacks and multiple tabs.
    • Save user preferences pertaining to initial window size, and options such as "detach by default".
    • Populate menu for populating using sample data sets.
  • schevo.tiers client/server capability.
  • Entity inheritance.
  • Inter-database references.
  • Replication:
    • schevo.tiers could also be a basis for a network of replicated servers that share data and synchronize the net effects of transactions. Thus, a schevo.tiers client could connect to any of a number of servers.
    • Preferably would have the ability to maintain a network of several servers that would compensate for connectivity issues by electing new masters as necessary, or falling back to a read-only state.

Unit tests of link_count and other link index structures.

More unit tests for XML export.

Unit tests for untested QT widgets.

More corner case unit tests for inverse transactions.

More comprehensive tests for extent.by method.

More comprehensive tests for extent.relax_index and extent.enforce_index methods.

Tests for SQL export.

Provide build tools so app developers can easily create installable versions of their Schevo app for every platform in a single step.

Add XML export option to the Qt Navigator menu.

Smarter db.update_entity() that figures out what fields have changed.

Pycrust magic support.

Qt Navigator: Certain widgets should listen for updates about their respective entities and update themselves accordingly:

  • 'View' tab titles.
  • Detached 'View' window captions.
  • Entity field widgets.

schevo.field: We used to have UNAVAILABLE for reset values and write-once values. Figure out how this applies to the new Schevo architecture.

Expand/contract widget is not lined up with hyperlink label.

Field labels are not lined up with field value widgets.

Date and datetime fubars on XML import/export.