Page is in EnglishSeite auf deutsch verfügbar

GlobalObjects 'Product Backlog'

This backlog summarizes desired extensions, cleanups and errors that need to be fixed (each marked by type: EXT, RMV and 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.


GloDeveloper; Display classes sorted alphabetically.

ID: 20240917_2
Type: EXT
User/Role: GloDeveloper user
Description: The user should be provided with a display in which all classes in a database are listed alphabetically. As in the tree view, these should be editable by selection.
Benefit: GlobalObjects developing users can access classes more quickly.
Status: accepted

GlobalObjects programming instructions; the handling of "Monitor/notify persistent objects" is not sufficiently explained.

ID: 20240705_1
Type: EXT
User/Role: Developing users of GlobalObjects
Requirement: Individual "best practice" examples should be shown in the GlobalObjects programming instructions in the chapter "Monitor/notify persistent objects".
Benefit: Developing users of GlobalObjects can achieve a successful result more quickly and with less frustration.
Acceptance criteria: see above
Status: accepted

GloExplorer; speeding up the reading of objects by reading the table as a whole

ID: 20240529_1
Type: EXT
User/Role: GloExplorer user
Requirement: If many objects have to be read, this takes time. To speed things up, only the AllSet table should be read as a whole, regardless of whether objects are read-locked. Watch/Notify should continue to change the table.
Benefit: The user can continue working more quickly.
Acceptance criteria: see above
Status: accepted

New GloDeveloper

ID: 20211009_1
Type: 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_2
Type: 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_1
Type: 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_1
Type: 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_1
Type: 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_2
Type: 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_1
Type: 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_2
Type: 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_3
Type: 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_1
Type: 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_3
Type: 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_1
Type: 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_2
Type: 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_4
Type: 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_4
Type: 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