Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC-9196: How-to Guides for Server Developers #2373

Merged
merged 11 commits into from Jan 25, 2022

Conversation

simon-dew
Copy link
Collaborator

@simon-dew simon-dew commented Jan 19, 2022

The following documentation is ready for final review before merging into release/7.0:

Please note that reorganizing the nav to move and rename the current Learn and Manage sections will be handled by DOC-9201 and DOC-9202.

Docs issue: DOC-9196
Dashboard: Dev Reorganization Stage 1

simon-dew and others added 10 commits January 19, 2022 22:48
* Rewrite Choose Your Next Steps to distinguish Developer Guides and Developer Information

* Add Developer Guides overview

* Update Nav
…chbase#2249)

* Add select howto

* Add query how-to landing page

* Add mock SDK examples

* Dhinu's feedback

* Add thmbnails for tools links

* Add developer guides overview

* Canonical order of SDKs

* Update SDK examples with includes

* Move SELECT intro examples to separate files

* Move LIMIT examples to separate files

* Move ORDER BY examples to separate files

* Add local how-to guide examples

* Include external example files

* Use new Python and Node.js "Hello World" examples

* Update FROM clause example

* Update nav for stage 1

* Fix missing attribute in WINDOW Clause

* Update GROUP BY reference to share examples

* Update UNNEST reference to share examples

* Update NEST reference to share examples

* Rewrite explanation of lookup join and index join

* Add join and nest diagrams

* Update JOIN reference to share examples

* Add query how-tos

* Add partials

* Update nav with how-tos

* Add how-to examples

* Add one-line explanation for code samples

* Omit legacy join syntax and legacy nest syntax

* Move Aggregate Function examples to separate files

* Consistent ellipses in examples

* Add list of aggregate functions

* Indexes for nest and join

* Reduce Before you begin and Query tools sections

* Complete examples, add tags and callouts

* Rephrase "recursive" joins

* Minor nav fix

* Move ANSI NEST examples to reference

* Rework lookup join examples as inner and left join

* Minor fixes for examples

* Oops
* Separate out MERGE, DELETE, (some) INSERT, UPDATE, and UPSERT examples

* Formatting and markup updates

* Add data warning partial

* Update examples

* Sort out some of the problems with Collection Ops

* Add DELETE guide, INSERT guide, and UPDATE guide

* Update Nav
…ase#2331)

* Move ADVISOR examples to functions

* Update ADVISOR examples with ellipses

* Separate out ADVISE examples

* Add Index Advisor guide

* DOC-9240: Restore query result tree

* DOC-9240: Add patch release markup for 7.0-7.0.1

* DOC-9018: Move Charts section under Query Results and rewrite for Couchbase Server 7.0.2

* DOC-9018: replace screenshots

* Minor updates
* DOC-9216: Import Data guide

Import guide covering:

 - 4 most common formats: CSV, TSV, JSON, JSONL
 - cbimport
 - importing using 4 popular SDKs (Java, .NET, Node.js, Python)

Out of scope:
 - manual import using the admin panel
 - Kafka streaming import

We introduce `cbimport` as this covers most of the important topics of import within a single CLI command.

The SDK import is split into:

 - parsing CSV/TSV
 - parsing JSON/JSONL
 - connecting to the couchbase server
 - final preprocessing and import

Where possible, we feature Streaming approach (which will tie in with upcoming Kafka streaming import work).  In particular:

 - Java gives examples in traditional blocking API and Reactive API.
 - .NET and Node.js are both "async first" SDKs so only async approach demonstrated
 - Python examples are traditional blocking, and we also call out the `multi` batch mode import. 
NB: this does mean that the asyncio `acouchbase` API isn't documented for import, this will be covered during future Kafka guide.
…se#2353)

* Update transactions settings layout in N1QL Support for Couchbase Transactions

* Add single transaction example

* Add multi-statement transaction example and update results

* Add screenshots for transactions how-to guide

* Add transactions how-to guide

* Update transaction information docs to use how-to guide examples
…hbase#2307)

* Separate CREATE INDEX example files

* Separate index with META() example files

* Separate index partitioning example files

* Fix example formatting and line wrapping

* Separate alter index example files

* Rearrange CREATE INDEX examples

* Separate out BUILD INDEX examples

* Update examples with context

* Separate out DROP INDEX examples

* Tidy up ALTER INDEX

* Tidy up DROP INDEX examples

* Add Creating Indexes

* Separate out USE INDEX examples

* Add Index Placement

* Add Deferring Indexes

* Add Selecting Indexes

* Add Dropping Indexes

* Update Nav

* Fix examples and formatting

* Remove Adaptive Indexes

* Minor updates

* Add new SDK examples for building indexes

* Add new SDK examples for creating indexes

* Add new SDK examples for dropping indexes

* Add links to using indexes with SDKs

* Fixing errors

* Add indexes overview page

* Expand SDK instructions

* Extend pagination across page width

* Pagination fix

* Markup errors

* Use SDK index example files and remove local index example files

* Driveby include fix for aggregate functions

* Fix broken link in Selecting Indexes

* Fix broken Python example links

* Move explanation of primary index name out of the procedure

* SDKs do not support indexes on named collections

* Tidy procedures for dropping named and unnamed primary indexes

* Add SDK examples to create named primary indexes

* Add SDK examples for composite indexes
* DOC-9209: transaction fixes

* DOC-9216: Minor wording changes for consistency

* Reorganize Queries how-to

* Reorganize Indexes how-to

* Reorganize Data Manipulation how-to

* Drive-by fix on Index Placement

* Update nav and overview pages

* DOC-9412: Update nav and overview page
@simon-dew simon-dew marked this pull request as ready for review January 20, 2022 00:25
@simon-dew simon-dew requested a review from a team January 20, 2022 00:25
@maria-robobug
Copy link
Contributor

Just a couple of questions but looks good on my end from the quick glance I had 👍 .

@simon-dew
Copy link
Collaborator Author

simon-dew commented Jan 20, 2022

I found the split of Data Manipulation and Queries a bit confusing in the left-hand nav, shouldn't the Data Manipulation sections all fall under Queries?

Good point. I flattened the nav structure to make the how-to guides easier to find — I didn't want to have too many levels of categories and sub-categories.

  • Rename Queries → Selection Queries
  • Rename Data Manipulation → Data Manipulation Queries

Should the KV Operations page under Developer Information still be there? Seems like we can remove this page now: https://simon-dew.github.io/docs-site/DOC-9196/server/7.0/sdk/development-intro.html

Yes, that's on my list, probably as part of DOC-9202. Added comment

@RayOffiah
Copy link
Collaborator

https://simon-dew.github.io/docs-site/DOC-9196/server/7.0/guides/reading-data.html

I'm not sure where you'd fit it in, so this is just a suggestion, but I wonder if it needs mentioning somewhere that you read until you've created an index.

Then again, since you're using the travel sample then it doesn't matter because you already have an index.

@osfameron
Copy link
Collaborator

I'm a bit confused by the "Deep Traversal for Nested Documents" section.

The first part on NEST looks like it should really be covered in the previous "Querying Across Relationships
" section: I guess the best path through is subjective - but note that the "Chaining Joins" section starts "To chain joins, nests, and unnests" where nests haven't been defined.

In fact I'm not sure that the section covers traversal as such? (the stem travers isn't used outside the title.)

@RayOffiah
Copy link
Collaborator

This is great. There's masses of stuff I don't know and this is a really good starting point.

The Data Manipulation section: I was thinking that Importing Data should go in here, maybe at the bottom, and transactions could go in there too. And I was thinking of Handling Data for the name.

@osfameron
Copy link
Collaborator

(musing for future: the design of /guides/intro.html could be made more card-like?
Something along lines of https://developer.couchbase.com/tutorials perhaps?)

@RayOffiah
Copy link
Collaborator

(musing for future: the design of /guides/intro.html could be made more card-like? Something along lines of https://developer.couchbase.com/tutorials perhaps?)

I like the card idea, but probably on a shorter page.

@osfameron
Copy link
Collaborator

I like the card idea, but probably on a shorter page.

Hah yes, I think the cards would look better on our nice short guides page than they do on the longer DA one... :trollface:

@simon-dew
Copy link
Collaborator Author

I'm a bit confused by the "Deep Traversal for Nested Documents" section.

The first part on NEST looks like it should really be covered in the previous "Querying Across Relationships " section: I guess the best path through is subjective - but note that the "Chaining Joins" section starts "To chain joins, nests, and unnests" where nests haven't been defined.

  • Renamed to "Nesting and Unnesting Documents".

Joins, nests, and unnests are similar concepts, and they can all be chained together — it's hard to describe one without at least referring to the others. I introduced joins first as they are more likely to be familiar to SQL users, of course.

@simon-dew
Copy link
Collaborator Author

I'm not sure where you'd fit it in, so this is just a suggestion, but I wonder if it needs mentioning somewhere that you read until you've created an index.

Then again, since you're using the travel sample then it doesn't matter because you already have an index.

  • Added note to Selection Query reinforcing the message that indexes are essential

@simon-dew simon-dew merged commit 8fdbff6 into couchbase:release/7.0 Jan 25, 2022
@simon-dew simon-dew deleted the DOC-9196 branch January 25, 2022 21:24
simon-dew added a commit that referenced this pull request Feb 7, 2022
* DOC-8454 add sizing information to server docs (#2323)

* Update AWS Marketplace Deployment instructions (#2335)

* list tweak (#2336)

* missing [] (#2337)

* DOC-9455 CE to EE Upgrade Path needs to be clarified (#2311)

* MB-50105 - Add documentation for Disk Encryption to AWS Best Practices (#2333)
  MB-50104 - Add documentation for Secret Manager Secret Access and Rotation to AWS Best Practices

* DOC-9120: improve description of event rebalancing (#2214)

* correct typo "THe" -> "The" (#2342)

* MB-48904 Version 7.0 - Need to remove cbdocloader code snippet #2299

* Fixed spelling mistake. (#2340)

* Fixing Couchbase tickets drop 3 (#2319)

* DOC-9515 "Couchbase Client Deployment Strategies" link goes to the generic SDK intro. (#2349)

* DOC-9540: Clarify formulations for setup (#2352)

* DOC-9491: Added ports 11280 and 9123. Moved 9124. (#2328)

* DOC-9521 Inconsistency between Table 1 and Table 2 sections (#2351)

* Fixed issues reported by Sreekanth (#2362)

* DOC-9471: Removed duplicate nav entry (#2313)

* DOC-9286: Fixed typo (#2241)

* DOC-9550: Corrected pathname (#2366)

* [DOC-9566] External users should use TLS when communicating with cluster (#2364)

* DOC-9585: Rename fts-creating-index.adoc to fts-creating-indexes.adoc (#2377)

* Update cluster-manager.adoc (#2359)

* Doc 9499 document how to use an external prometheus to consume couchbase stats (#2360)

* DOC-9481: Typo in the documentation header (#2376)

* tutorial fix for new couchbase download page (#2389)

* DOC-9196: How-to Guides for Server Developers (#2373)

* DOC-9204: Developer Guides Overview (#2224)

* DOC-9206: How-to Guides for Server Developers: Query — Read Data (#2249)

* DOC-9207: Query — Manipulate Data (#2277)

* DOC-9205 - KV Operations dev-reorg (#2275)

* DOC-9217: How-to Guides for Server Developers › Index Advisor (#2331)

  - DOC-9240: Restore query result tree
  - DOC-9240: Add patch release markup for 7.0-7.0.1
  - DOC-9018: Move Charts section under Query Results and rewrite for Couchbase Server 7.0.2

* DOC-9216: Import Data guide (#2317)

* DOC-9210:  How-to Guides for Server Developers › Transactions (#2353)

* DOC-9209: How-to Guides for Server Developers › Query › Indexes (#2307)

* DOC-9412 - Connect to server (#2339)

* DOC-9204: Developer Guides Overview (#2371)

  - DOC-9209: transaction fixes
  - DOC-9216: Minor wording changes for consistency
  - DOC-9412: Update nav and overview page

* DOC-8818: node-to-node encryption and eventing storage (#2385)

* DOC-9294 improve terminology avoid function/handler confusion (#2390)

* DOC-9190 Scopes & Collections name length incorrect #2370

* [ray offiah] fixing the prometheus installation instructions (#2393)

* DOC-9588: Information on group correspondences for LDAP (#2392)

* [DOC-9611] Wrong output for OBJECT_INNER_VALUES (#2399)

* test_kroki_on_production (#2423)

* DOC-9198: Gradual Learning Progression (#2424)

  - DOC-9201: Move Learn and Manage after Develop
  - DOC-9202: Combine Tutorial and Guides into Develop

* Remove subqueries from description of JOIN how-to guide (#2428)

* Revert launch dialog image for 7.1

* DOC-9240 Remove query workbench tree results for 7.1

Co-authored-by: Ray <77050471+RayOffiah@users.noreply.github.com>
Co-authored-by: Richard Smedley <rgsmedley@gmail.com>
Co-authored-by: RekhaDS <rexshyam@gmail.com>
Co-authored-by: Justin Ashworth <justin.ashworth@couchbase.com>
Co-authored-by: Ed.E <edxtdev@gmail.com>
Co-authored-by: quickdraft <80592148+quickdraft@users.noreply.github.com>
Co-authored-by: Maria Shodunke <maria-robobug@users.noreply.github.com>
Co-authored-by: Tony Hillman <tonyjhillman@gmail.com>
Co-authored-by: Tony Hillman <tonyhillman@Tonys-MacBook-Pro-2.local>
Co-authored-by: Abhinav Dangeti <abhinav@couchbase.com>
Co-authored-by: Ray Offiah <ray.offiah@couchbase.com>
Co-authored-by: Nawazish Mohammad Khan <md.nawazish.khan@gmail.com>
Co-authored-by: Hakim <hakim.cassimally@couchbase.com>
Co-authored-by: Jon Strabala <54073900+jon-strabala@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants