A quick update on the status of the new serialization and deserialization
For a long time now, we've had two serialization formats. One intended for
external usage, and one intended for internal usage. The former one is the
format our web API uses. The later one is the format in which entities are
stored in the Wikibase Repo database, and is what ends up in the current
The code responsible for serialization and deserialization is for both
formats not reusable and has a high degree of associated technical debt. To
tackle both the reusability and design problems, we started work on two new
components. One for the external format and one for the internal one.
* External one: https://github.com/wmde/WikibaseDataModelSerialization
* Internal one: https://github.com/wmde/WikibaseInternalSerialization
They are now both essentially feature complete. The next step will be to
replace usage of our existing code with usage of these new components, so
the old code can be removed. Once this is done, the components will be 100%
feature complete and very well tested, at which point their 1.0 versions
will be released.
For a description of the responsibility of both components and an
explanation of how to use them, see their README files.
Jeroen De Dauw - http://www.bn2vs.com
Software craftsmanship advocate
Evil software architect at Wikimedia Germany