I noticed that developers struggle to understand the structure of the content introduced by various features in the model. Understanding it requires browsing multiple *editing.js files and putting all things together, which takes time and does not feel straightforward.
Maybe we should come up with some:
centralized comprehensive documentation of all features and their model structures (easy to find and read, but hard to maintain),
standard of documenting the model structure introduced by each *Editing class — ATM such classes offer just a vague outline of what they introduce or they don't provide anything at all. For instance:
/**
* Foo plugin introduces the following model structure:
*
* <foo qux="String" [baz="Number"]>
* <bar>
* </foo>
*
* @extends module:core/plugin~Plugin
*/
export default class FooEditing extends Plugin {
// ...
}
would do the trick. A Chrome developer tools extension for browsing the model would make things easier too but this is another story.
A follow–up of https://stackoverflow.com/q/54498805/1485219 (but also earlier questions on SO and Gitter).
I noticed that developers struggle to understand the structure of the content introduced by various features in the model. Understanding it requires browsing multiple
*editing.js
files and putting all things together, which takes time and does not feel straightforward.Maybe we should come up with some:
*Editing
class — ATM such classes offer just a vague outline of what they introduce or they don't provide anything at all. For instance:would do the trick. A Chrome developer tools extension for browsing the model would make things easier too but this is another story.
cc @Reinmar @AnnaTomanek @wwalc