Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Documentation on how to manage Boost.Serialization schema evolution #48

Open
drbenmorgan opened this issue Aug 29, 2019 · 3 comments

Comments

@drbenmorgan
Copy link
Contributor

SuperNEMO are in the process of modernising the code Event Data Model, and this will require:

  1. Changes to data member types and layout in persistent classes
  2. Changes to inheritance tree of persistent classes
  3. Changes to namespaces under which persistent classes appear

We require documentation (at the level of "HOWTOs") on the steps needed for developers to:

  • Safely modify their persistent classes when adding/removing/changing order or type of, persistent data members.
    • This should include information on allowing backward compatibility, so old files can be read, and what to do if a break in compatibility is required.
  • As above, but for the case of changing the inheritance tree, i.e. both cases:
    • Adding public inheritance, e.g. class foo -> class foo : public bar
    • Removing public inheritance, e.g. class foo : public bar -> class foo
  • As above but for namespace changes, i.e. both:
    • namespace foo { class bar{}; } -> namespace foo { namespace baz {class foo{}; } }
    • namespace foo { namespace baz {class foo{}; } } -> namespace foo { class bar{}; }

As this affects ongoing work, this is needed by the end of September at the latest.

cc'ing @yramachers, @emchauve, @cherylepatrick

@drbenmorgan
Copy link
Contributor Author

Just to bump, @fmauger, could you let us know if this documentation will be available for the upcoming SuperNEMO Collaboration Meeting please? We are likely to need something so that the Analysis Board (@emchauve, @cherylepatrick, @yramachers) and developers can discuss and plan out the online/offline data models for use in the SuperNEMO framework.

@drbenmorgan
Copy link
Contributor Author

@fmauger, bumping this as it's needed for the data model work. It can be dealt with as someone else drafting the info, but we'll need your help and input here!

@drbenmorgan
Copy link
Contributor Author

@fmauger, bumping this as it's needed for the data model work. It can be dealt with as someone else drafting the info, but we'll need your help and input here. Along with #56, this is becoming a critical item for reco/analysis in SuperNEMO,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant