Page MenuHomePhabricator

Persistence framework for MITK
Closed, ResolvedPublic

Description

Implement persistence framework for MITK to save, e.g., plugin settings permanently.

Event Timeline

New remote branch pushed: bug-16643-PersistenceFramework

A concept documentation to this new framework is added to MITK within T16673.

New remote branch pushed: bug-16643-CleanUpPersistenceFramefork

[af8da5]: Merge branch 'bug-16643-PersistenceFramework'

Merged commits:

2014-01-31 10:11:52 Michael Mueller [663752]
added Persistence service AUTOLOAD with Mitk functionality


2014-01-30 15:53:47 Michael Mueller [be4121]
final changes for persistence,
removed SceneIO dependency


2014-01-29 17:18:27 Michael Mueller [f40034]
incorporated data storage file from us Module


2014-01-29 16:48:00 Michael Mueller [5ba95b]
Merge remote-tracking branch 'origin/bug-16689-us-persistent-data-path' into bug-16643-PersistenceFramework


2014-01-29 16:47:13 Michael Mueller [cd0b41]
fixed linux errors


2013-12-13 13:39:38 Michael Mueller [8509a0]
added pure xml writing/reading.
sceneio test not working


2013-12-13 11:18:25 Alfred Franz [8cb107]
Merge branch 'bug-16643-CleanUpPersistenceFramefork' into bug-16643-PersistenceFramework


2013-12-12 18:16:32 Michael Mueller [1d07a5]
removed static default persistence file


2013-12-12 17:37:43 Alfred Franz [9bfdc0]
clean up: removed todo file which is not part of the source code


2013-12-12 17:36:46 Alfred Franz [9951a5]
clean up: moved persistence interface to interface folder


2013-12-12 17:33:17 Michael Mueller [cff6f9]
added enforceReloadFlag


2013-12-12 15:56:41 Michael Mueller [02d90a]
final stage 1 changes to persistence:
SceneIO now uses it in any case


2013-12-11 16:12:31 Michael Mueller [4ec63a]
further work


2013-12-11 02:01:23 Michael Mueller [9271db]
nearly perfect


2013-12-10 22:37:16 Michael Mueller [bc467e]
finished first step of persistence


2013-12-10 21:50:43 Michael Mueller [9bceb5]
added persistence module


2013-12-10 15:06:09 Michael Mueller [42052d]
added persistence service


2013-12-10 13:28:31 Alfred Franz [bfa42c]
created module folder

The Persistence library now segfaults when being auto-loaded. Probably due to too many things going on in its ModuleActivator::Load() method. The type of code which can and should actually being executed during Load() is very restricted because it happens during static library initialization. As much code as possible should be executed in service objects "on demand".

Some other remarks:

  1. Please use the official MITK Doxygen style /** */ in IPersistenceService. See http://docs.mitk.org/nightly-qt4/DocumentationGuide.html
  1. Using a function-local static variable in the PERSISTENCE_GET_SERVICE_METHOD_MACRO macro defeats the whole purpose of a dynamic and flexible service architecture. Pointers to service objects should almost never be stored locally.
  1. Some std::string arguments in methods of IPersistenceService are probably missing a "const"

New remote branch pushed: bug-16643-PersistenceFramework-comp

New remote branch pushed: bug-16643-PersistenceFramework-comp2

[c64bdf]: Merge branch 'bug-16643-PersistenceFramework-comp2'

Merged commits:

2014-02-01 16:32:32 Michael Mueller [0da0af]
COMP: some changes to Persistence Test


2014-02-01 16:13:12 Michael Mueller [d8c2d2]
COMP: used correct MITK documentation style
made persistence module AUTOLOAD with SceneSerialization

New remote branch pushed: bug-16643-PersistenceFramework-comp3

[6e7773]: Merge branch 'bug-16643-PersistenceFramework-comp3'

Merged commits:

2014-02-02 21:25:34 Michael Mueller [f17ecb]
COMP: removed crashing call to Unregister


2014-02-02 21:07:08 Michael Mueller [b4db93]
COMP: Added initialize (Lazy Load) Method for persistence service


2014-02-02 10:19:30 Michael Mueller [7e18d7]
COMP: changes on Load mechanism

New remote branch pushed: bug-16643-PersistenceFramework-comp4

[5cc73e]: Merge branch 'bug-16643-PersistenceFramework-comp4'

Merged commits:

2014-02-03 15:01:01 Michael Mueller [09f9aa]
COMP: Reworked autoloading again

New remote branch pushed: bug-16643-PersistenceFramework-comp5

[e9a91e]: Merge branch 'bug-16643-PersistenceFramework-comp5'

Merged commits:

2014-02-04 15:37:31 Michael Mueller [976a42]
COMP: removed autoloading for better times

User franza has pushed new remote branch:

bug-16643-DocumentationForPersistenceFramework

[aa866f]: Merge branch 'bug-16643-DocumentationForPersistenceFramework'

Merged commits:

2014-02-19 14:40:16 Alfred Franz [125525]
Merge branch 'bug-16673-PersistanceConceptDocumentation' into bug-16643-DocumentationForPersistenceFramework


2014-02-19 14:34:11 Alfred Franz [2e81c8]
DOC: Finished documentation, fixed some typos.


2013-12-12 16:53:57 Alfred Franz [4881ca]
further documentation of persistence concept page


2013-12-12 15:53:52 Alfred Franz [7efc7d]
started writing the persistence page, not finished yet


2013-12-12 13:10:36 Alfred Franz [33cdcf]
Added new page for the persistence concept.


2013-12-12 13:06:40 Alfred Franz [52e3cf]
DOC: Added information to enable debug messages for single class files.

Current release is finished. Resetting target milestone

Initial implementation of the persistence framework was merged to the master. New issues with the implementation should be discussed in new bugs. So closing this bug.