Details
-
Technical task
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
None
-
0
Description
STEP 1: START WORKING
Clone the repo.
Fork a branch for DOC-10387-managing-scopes-and-collections that is based on our release branch DOC-10385-Docs-for-Mobile-Scopes-and-Collections
Something like:
git clone git@github.com:couchbase/docs-couchbase-lite.git |
git checkout DOC-10385-Docs-for-Mobile-Scopes-and-Collections |
git checkout -b DOC-10387-managing-scopes-and-collections |
STEP 2: LEARN WHAT TO WRITE ABOUT
Have a look at prior art:
and look at the cases under CLI here (excluding the Stats ones) https://docs.couchbase.com/server/current/manage/manage-scopes-and-collections/manage-scopes-and-collections.html#manage-scopes-and-collections-with-the-cli
Or perhaps clearer: https://docs.couchbase.com/server/current/rest-api/scopes-and-collections-api.html
And in SDK world https://docs.couchbase.com/java-sdk/current/howtos/provisioning-cluster-resources.html#collection-management
So for context:
- The Server content was about how an admin can create and manage scopes and collections directly against the server
- The SDK content was about how client applications can be programmed to speak to the server to manage scopes and collections from within an application
- The Mobile content you’re creating will be about how mobile phones (and cruise ships and toasters) create scopes and collections locally! (Further down the line, the Sync Gateway will deal with synchronising these local collections with the ones on the Server)
Question: are there differences in how the Mobile apps create local collections than the examples I pointed you at?
This is where looking at the PRD and the API Spec documents (linked in Slack) may be useful.
Fine if for first draft we just assume that everything is similar, and then test it / get review from Engineering/PM.
For questions, shout at Hakim, Priya, or on #mobile-docs-related in first instance.
STEP 3: AUTHOR CONTENT for ONE platform (.NET)
Remember that Couchbase Lite is on lots of different mobile phones etc., so the content is repeated several times (with variations). To simplify it, we're going to pretend we're working on just ONE platform: C#.NET.
See e.g. https://docs.couchbase.com/couchbase-lite/current/csharp/database.html
We'd want a page under here (e.g. either as a sub-page, or as a sibling just after it).
Create new page under:
modules/csharp/pages
Called managing-scopes-and-collections.adoc (for example)
NOTICE the content of e.g. document.adoc (in the same directory) which is super abstract.
Close that document, back away slowly, and don’t worry about this for now.
e.g. just write Asciidoc, and we'll abstract it for all the other languages in a subsequent step.
Add your new page to Navigation!
nav-csharp.adoc I guess. Either as child of Databases page, or next sibling.
Add placeholders for code, in csharp.
Literally just: what is this example (“Create a scope called travel-agent-01" or whatever)
Put that note in the block directly (as a comment, prefixed with "//" if you want)
don’t worry about includes and all that nonsense.
STEP 4: BUILD (and ITERATE)
In your docs-site, copy your lightweight-playbook.yml file to lightweight-playbook-mobile.yml for example.
Make sure the sources contain
sources:
|
- url: .
|
branches: HEAD
|
start_path: home
|
- url: ../docs-server/
|
branches: [HEAD]
|
- url: ../docs-couchbase-lite
|
branches:
|
- HEAD
|
Then you should be able to build with antora lightweight-playbook-mobile.yml
Step 5. HANDOVER
Just for context, next step will be for Hakim (see next subtask) to
- review
- draft examples in C#
- create a ticket to request devs to provide those for other languages
- abstract this so it works for all languages