GlobalObjects 'Product Backlog'
This backlog summarizes desired extensions and errors that should be fixed (each identified by type:EXT or ERR).
The board is divided into the statuses "Recorded", "Planned", "In progress", and "Done or bug fixed for version xxx".
Completed requirements for the releases can be viewed under GlobalObjects 'Product Backlog' completed.
New GloDeveloper
ID: 20211009_1Type: EXT
User/Role: GloDeveloper user
Requirement: The new GloDeveloper should be multi-user capable. Data storage is based on the Glo database. Namespaces and embedded persistent classes are supported. The user can influence the necessary generation of individual files more.
Benefit: An extended use when creating Glo databases and persistent classes.
Acceptance criteria: S.o.
Status: planned
GloDeveloper; if the last attribute of a class with index is deleted, the GloDeveloper crashes (index?)
ID: 20190727_2Type: ERR
User/Role: GloDeveloper user
Description: The GloDeveloper crashes if the last attribute used in an index in the same class is deleted in the class editing dialog.
Workaround: First remove the attribute to be deleted from the index or delete the index and 'Apply', then remove the attribute.
Status: recorded
GloExplorer; Watch / Notify and the application freezes
ID: 20200826_1Type: EXT
User/Role: GloExplorer user
Requirement: If many notifications are fired by the GloServer, the GloExplorer freezes. During notification, it should be possible to continue working, as when reading in the objects.
No longer in "void GloQtWatchCallBack::notify( GloNotifyNote & rNote )" QCoreApplication::postEvent(...), but instantiate a new thread which controls the ::_processObjectNotifyEvent(...) method in GloQtExplorerAllSetProp or GloQtExplorerBaseAllSetUserInterface with new ones parameters.
Benefit: The user no longer thinks that GloExplorer has crashed and can continue working.
Acceptance criteria: The requirement is met if the user can continue working with many notifications and GloExplorer no longer freezes.
Status: recorded
GloExplorer; Memory leak
ID: 20190816_1Type: ERR
User/Role: GloExplorer user
Description: If the reading of an AllSet is interrupted in GloExplorer, an object of type 'GloQtIntAllSetGenericPersistent' instantiated in 'void GloQtReadNewObjectsInAllSetThread::run()' remains in memory.
Workaround: Allow the reading to finish or live with it until the error is resolved.
Status: recorded
Save transaction across crashes
ID: 20200523_1Type: EXT
User/Role: User of GlobalObjects
Requirement: If the computer or GlobalObjects application (executing the transaction) crashes during a transaction, not all objects in the transaction may be up to date.
So with a final "commit" before writing to the tables, the transaction should be saved flat, then the tables should be written and when finished, the transaction should be deleted.
If a saved transaction is found during a restart, it will simply be executed again.
This should be made possible with another parameter in the transaction-starting methods.
Benefit: Advanced transaction security.
Acceptance criteria: The requirement is met if an aborted transaction is completed after a restart.
Status: recorded
OQL
ID: 20200523_2Type: EXT
User/Role: User of GlobalObjects
Requirement: The OQL query language should be supported.
Benefit: An extended query option.
Acceptance criteria: The requirement is met if OQL is supported.
Status: recorded
Nested persistent classes
ID: 20190423_1Type: EXT
User/Role: GloDeveloper user
Requirement: It should be possible to define nested persistent classes with the GloDeveloper, which are treated like other classes by GlobalObjects.
Benefit: Nested classes have their purpose and are provided for in the C++ standard. This should also be possible in GlobalObjects.
Acceptance criteria: The requirement is met if nested persistent classes can be created by the user and their objects are processed like other objects by GlobalObjects.
Status: recorded
Persistent classes derive from non-persistent classes
ID: 20190716_2Type: EXT
User/Role: GloDeveloper user
Requirement: It should be possible to derive persistent classes from non-persistent classes using the GloDeveloper.
In the GloDeveloper, inherited attributes of the non-persistent class should be marked as 'persistent' so that they are taken into account in the persistent subclass. This should also be possible with attributes marked as 'private'.
Benefit: The user should be given the opportunity to save objects of types, for example from libraries.
Acceptance criteria: The requirement is met if non-persistent classes with all desired attributes can be processed via a persistent subclass in GlobalObjects.
Status: recorded
Design your own persistent attributes
ID: 20190716_3Type: EXT
User/Role: GloDeveloper user
Requirement: It should be possible to design persistent attribute types with GloDeveloper.
In the developer it should be possible to derive your own type from an abstract type (class). Overriding virtual methods is intended to ensure that GlobalObjects processes this new type as an attribute of a persistent class.
Benefit: Although a persistent class can be created as an attribute of another persistent class, this would, for example, be a new table for a class 'fraction' with two int attributes. To avoid this, the mentioned 'fraction' can, for example, be saved as std::string.
Acceptance criteria: The requirement is met if the developing user can create an attribute type himself and this can be processed in persistent classes as an attribute in GlobalObjects.
Status: recorded
Let select a own directory for each persistent class or its header file
ID: 20190722_1Type: EXT
User/Role: GloDeveloper user
Requirement: It should be possible to use GloDeveloper to save the header and source files of a class in their own directory.
In the GloDeveloper it should be possible to select a directory for each class that overwrites the default directories of the project.
Benefit: This means that header and source files can be saved even more flexibly.
Acceptance criteria: The requirement is met if the developing user can select a header and source directory for each persistent class.
Status: recorded
Reading Hedaer from persistent class from GloDeveloper (reverse engineering)
ID: 20190722_3Type: EXT
User/Role: GloDeveloper user
Requirement: It should be possible to read in a persistent class with GloDeveloper in order to edit it further if necessary.
Benefit: Persistent classes should be able to be edited in the optional editor and then read into GloDeveloper if desired.
Acceptance criteria: The requirement is met if GloDeveloper can read in a persistent class.
Status: recorded
An error translation file for GloDeveloper
ID: 20180919_1Type: EXT
User/Role: GloDeveloper user
Requirement: In the event of an error, not only the error number should be displayed, but additional explanatory texts from a file should also be displayed. Multilingualism should now be taken into account.
Benefit: The GloDeveloper user does not have to look up the documentation or struggle with the resulting interpretations.
Acceptance criteria: The requirement is met if GloDeveloper displays an explanatory text for every error that occurs.
Status: recorded
An error translation file for GloExplorer
ID: 20180919_2Type: EXT
User/Role: GloExplorer user
Requirement: In the event of an error, not only the error number should be displayed, but additional explanatory texts from a file should also be displayed. Multilingualism should now be taken into account.
Benefit: The GloExplorer user does not have to look up the documentation or struggle with the resulting interpretations.
Acceptance criteria: The requirement is met if GloExplorer displays an explanatory text for every error that occurs.
Status: recorded
Translate error translation file for GloDeveloper into English
ID: 20180919_4Type: EXT
User/Role: GloDeveloper user
Requirement: In the event of an error, GloDeveloper should not only display the error number, but also display explanatory texts in English from a file.
Benefit: English-speaking users of GloDeveloper also benefit from explanatory error texts.
Acceptance criteria: The requirement is met if GloDeveloper displays an explanatory text in English for every error that occurs.
Status: recorded
Translate error translation file for GloExplorer into English
ID: 20180919_4Type: EXT
User/Role: GloExplorer user
Requirement: In the event of an error, GloExplorer should not only display the error number, but also display explanatory texts in English from a file.
Benefit: English-speaking users of GloExplorer also benefit from explanatory error texts.
Acceptance criteria: The requirement is met if GloExplorer displays an explanatory text in English for every error that occurs.
Status: recorded