Hello all,
Since its inception, we have been releasing 0.x releases for Cristal.
We are now aiming at making the project more stable and at making it benefit XWiki in a more visible way.
One step in this direction is to agree on a Cristal 1.0.0 version.
Questions
See below a list of questions I asked myself and my conclusions. Please let me know what you think and if additional questions are worth answering.
- Q: Do we want to be iso-functional on all backends before considering ourselves 1.0.0?
A: No, missing features for some backends is expected - Q: Do we want to introduce backward compatibility starting at 1.0.0?
A: Yes, but with the same cycle rules as XWiki (i.e., definition of unstable API). Preferably with tool support. - Q: Do we want to move Cristal to the
xwikiGitHub group?
A: Yes, see Move Cristal from Contrib to XWiki proper - Q: Is search an essential feature for 1.0.0?
A: No, many other features are missing (though I’m +1 to plan it ASAP) - Q: Is commenting an essential feature for 1.0.0?
A: No, same logic as search. - Q: Is it ok to show actions in the editor that are not serializable in the current syntax (e.g., multi-columns)?
A: Not by default. We could keep them hidden behind a configuration option (e.g.,demo: true) for demo purpose.
Actions
- Find a mechanism to document stable/unstable APIs and a way to break when they change (the best lead being https://www.npmjs.com/package/@microsoft/api-extractor )
- Fix the following issues that I consider important to give a good first impression of Cristal:
- Loading... - Blocknote is missing unsaved content detection
- Loading... - Links suggestion does not show entities context
- Loading... - Attachment suggestion does not show entities context
- Loading... - Blocknote does not support the absence of link suggest for the current backend
- Move Cristal to the
xwikigroup - Move Blocknote “headless” to its repository (and more globally find a way to split the code reused by XWiki and Cristal in a separate repository, plus find a way to make it nice to use in development mode, plus integrate it in the release process of xwiki/cristal - do we want to move to coordinated releases for everything)
- Work on Loading... - Allow demo features to be hidden to avoid confusion for users.
Commitments
With a 1.0.0, we consider that Cristal in its current state is good enough to be let in the hands of early adopters (i.e., those willing to try out new products that are still evolving rapidly).
WDYT?
Thanks