MITK has migrated from Bugzilla to Phabricator. Please head to our new bug tracking system.
Bug 16643 - Persistence framework for MITK
Persistence framework for MITK
Status: RESOLVED FIXED
Product: MITK
Classification: Unclassified
Component: Modules
2013-12
All All
: high feature request
: Unspecified
Assigned To: Michael Müller
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-12-10 13:06 CET by Alfred Franz
Modified: 2014-10-22 15:38 CEST (History)
2 users (show)

CAPA Problembeschreibung:
CAPA Bewertung:
CAPA Ursachenanalyse:
CAPA Lösungsansatz:
CAPA Ergebnis Problembehebung:
CAPA Prüfung:
Story:
Feature-/Umsetzungstickets:
Likelihood: ---
sascha.zelzer: Needs_Core_Modification+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alfred Franz 2013-12-10 13:06:53 CET
Implement persistence framework for MITK to save, e.g., plugin settings permanently.
Comment 1 Christoph Kolb 2013-12-10 13:17:51 CET
New remote branch pushed: bug-16643-PersistenceFramework
Comment 2 Alfred Franz 2013-12-12 16:55:46 CET
A concept documentation to this new framework is added to MITK within bug 16673.
Comment 3 Alfred Franz 2013-12-13 11:13:00 CET
New remote branch pushed: bug-16643-CleanUpPersistenceFramefork
Comment 4 Michael Müller 2014-01-31 10:12:53 CET
[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
Comment 5 Sascha Zelzer 2014-02-01 14:38:14 CET
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

2. 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.

3. Some std::string arguments in methods of IPersistenceService are probably missing a "const"
Comment 6 Michael Müller 2014-02-01 16:09:16 CET
New remote branch pushed: bug-16643-PersistenceFramework-comp
Comment 7 Michael Müller 2014-02-01 16:13:17 CET
New remote branch pushed: bug-16643-PersistenceFramework-comp2
Comment 8 Michael Müller 2014-02-01 16:33:20 CET
[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
Comment 9 Michael Müller 2014-02-02 10:19:38 CET
New remote branch pushed: bug-16643-PersistenceFramework-comp3
Comment 10 Michael Müller 2014-02-02 21:26:35 CET
[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
Comment 11 Michael Müller 2014-02-03 15:01:04 CET
New remote branch pushed: bug-16643-PersistenceFramework-comp4
Comment 12 Michael Müller 2014-02-03 15:01:26 CET
[5cc73e]: Merge branch 'bug-16643-PersistenceFramework-comp4'
Merged commits:
------------------------------------------------------------------
2014-02-03 15:01:01 Michael Mueller [09f9aa]
COMP: Reworked autoloading again
Comment 13 Michael Müller 2014-02-04 15:37:35 CET
New remote branch pushed: bug-16643-PersistenceFramework-comp5
Comment 14 Michael Müller 2014-02-04 15:38:10 CET
[e9a91e]: Merge branch 'bug-16643-PersistenceFramework-comp5'
Merged commits:
------------------------------------------------------------------
2014-02-04 15:37:31 Michael Mueller [976a42]
COMP: removed autoloading for better times
Comment 15 Git Admin 2014-02-19 14:40:45 CET
User franza has pushed new remote branch: 
---

    bug-16643-DocumentationForPersistenceFramework
Comment 16 Alfred Franz 2014-02-19 14:41:55 CET
[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.
Comment 17 Andreas Fetzer 2014-04-11 15:32:22 CEST
Current release is finished. Resetting target milestone
Comment 18 Alfred Franz 2014-10-22 15:38:10 CEST
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.