ckeditor / ckeditor5-design

☠ Early discussions about CKEditor 5's architecture. Closed now. Go to https://github.com/ckeditor/ckeditor5 ☠
58 stars 12 forks source link

Documentation #150

Closed fredck closed 6 years ago

fredck commented 8 years ago

This is a summary of ideas and requirements for the CKEditor 5 documentation project.

Target

A single website containing the following main sections:

It may happen that different software solutions will be used to produce the different kinds of documentation predicted. The following are basic requirements:

Specific gulp tasks should be available to build the documentation site. Hopefully relative linking will be enforced so the documentation is navigable locally.

Varia

Reinmar commented 8 years ago

More varia stuff:

fredck commented 8 years ago

@Reinmar: Amended "Varia" with your suggestions.

Reinmar commented 8 years ago

We've been talking with @fredck about releasing CKEditor 5. The biggest cost of releasing CKE 4 is ensuring that there are no broken samples. There's a huge test suite for the code which helped us catching nearly all regressions, but we didn't have anything for samples.

CKEditor 5 samples will be used in at least 2 critical places: its website and in the documentation (which consists of samples and other code listings). Possibly, also in other places, like a sample shipped in some packages (if we'll keep those).

With time the number of samples may grow high above CKE 4's, because coding features for CKE 5 is much easier. We clearly need to automate the process of testing them.

Initially, we thought about a repository with CKE 5's samples, which we'd simply test using Bender. Each sample would have an HTML, JS and test files. Then, the documentation would use all those samples and also the website would include some samples directly from this repository.

I'm afraid though, that we oversimplified this. There are couple of things that we need to consider:

  1. Each sample may require a different build of CKEditor. Additionally, on production they may be loaded from a CDN, and of course they will be bundled. Hence, running tests on a dev version of CKEditor makes no sense. We'll need to figure out a way to run tests on a specific kind of packages. We'll also need to understand how many different builds we should produce to ensure good performance of our websites.
  2. CKEditor 5 packages will bring their own samples, so there will be no centralised repo with them. Ha! That's amazing for one, but means that each package should test its own samples first. But then how to test them with specific package types?

PS. As for shipping CKEditor bundles with at least one sample, that's tricky too... Specific project configurations (like – I want these Editor classes and couple of random features) means that there's nothing we can be sure. Definitely, the only type of packages which actually know how to create a sample are those which contain Editor classes, so that could be the starting point for us. But since you can have many of those in certain types of bundles, I'm really worried about running all that. I'd rather resign from having any samples in bundles. Let's have them in the documentation. Also, people were complaining that we're shipping bigger packages than needed, which makes some sense as well.

fredck commented 8 years ago

I'd rather resign from having any samples in bundles. Let's have them in the documentation.

+1

I think it is better to have a single place with all samples.

Reinmar commented 8 years ago

@postJScriptum sent me a link to http://redux.js.org/ which is built on https://www.gitbook.com/. We won't be able to use the engine, but I like the Redux docs very much so we can get some ideas from it.

Reinmar commented 8 years ago

When we've been talking with @wojtekidd about what CKEditor 5 is ("a framework with ready-to-use solutions build on top of it") we independently started thinking about the structure of documentation. The idea is to split documentation into two main use cases "framework" and "solutions". This can still be one page, but its structure could be defined by these two categories.

I think this is an interesting idea. Those two groups of developers have very different needs and following this convention we may be able to create two sites where none of them will be overloaded with partially useless stuff. Especially for the group looking for ready-to-use solution this will be a better experience, because the documentation will not be that overwhelming.

WDYT?

Reinmar commented 6 years ago

Cleaning up old discussions. See https://github.com/ckeditor/ckeditor5-design/issues/186.