About the SDK Docs

    +
    Meta documentation — what you might need to know to get the best from these docs, from their intent to their Information Architecture.

    Welcome to the SDK 3.0 docs — this is an afterword to the documentation, rather than something most people will read as a foreword. Why so? On most occasions you will arrive at a page directly from a search engine, perhaps follow a link to another page or two, and then depart (with, we hope, your questions answererd). This page is to help with those occasions when you are unsure precisely what you want, but you are after understanding — so this page is a guide to the SDK docs, to help you to get the most from them.

    Assumptions & Presumptions

    Couchbase is a complex and powerful product, with many components. The SDKs interact with Couchbase Server and its various services; although some links are given to the pages for these services, gaining an understanding of them is not the principal aim of the SDK documentation, rather it is to gain an understanding of how to interact with them programmatically from the SDK, as many application programmers will have the task specced out for them.

    Some concepts, such as Role-Based Access Control, do need to be understood in greater depth — but this is documented in the appropriate place in the Server docs, and linked from the Getting Started Guide. Furthermore, things which are essential in production can be a barrier to getting up and running quickly in order to try something out — so the Full Admin RBAC role is used in the Hello World code example, contrary to best practice (but this is, of course, called out).

    Getting Started

    The Getting Started section contains tutorial pages — in intention, if not always in style — covering how to install and start using the SDK, as well as a longer Sample Application (which is not present for every SDK).

    How to Work With the SDK

    The next four sections are collections of practical, task-oriented pages, featuring snippets of code designed to help you with the individual pieces that will become your application.

    Working with Data

    This section deals with all of the main Couchbase Services: The Data Service (including Sub-Document Operations); the Query Service; the Analytics Service; Full-Text Search Service; and MapReduce Views.

    Some SDKs feature an additional fully-worked, complete code example. Others may be added at a later date.

    Advanced Data Operations

    In using the above services, there are several more advanced Couchbase and SDK features that may be advantageous or even critical to your app. Everything from Asynchronous APIs to Distributed Transactions.

    Managing Couchbase

    In this section are collected practical documents grouped around the Management APIs, and around other management tasks, particularly those needed in getting your application talking to the Couchbase Server (Managing Connections), and programmatically dealing with Cluster resources.

    Errors & Diagnostics

    Error handling is an essential part of developing any application — as is logging — but this section also includes some useful diagnostic tools, all too necessary in a distributed environment.

    Concept Docs

    The Learn section is a collection of concept docs offering expansive background and context to key areas of the SDKs. These understanding-oriented docs are aimed at broadening coverage beyond the goal-oriented howtos, to clarify and illuminate each subject. They are a work in progress — with more breadth and depth to be added over time.

    Reference Docs

    The key reference doc is the API guide, which should be an accurate and complete source of truth for programming with the SDK’s API. Any error here should be filed directly against the individual SDKs bug tracker (JIRA), although a ticket against the docs here will always be converted to the correct project.

    The first link in the navigation for the Reference Section is to the API Guide for the latest version of the SDK. Links to previous versions can be found with the Release Notes.

    Other reference material includes the Client Settings that can be adjusted, and a listing of all Error Codes.

    Project Docs

    All of the above (tutorials, howtos, concept docs, and reference docs) help you directly in using the software, but there remain several decisions around managing your use of the software that can be grouped into documentation about the software as a project. Things like License Information and Compatibility (with versions of Couchbase Server, with the language, or with the underlying platform). Here can also be found the Release Notes, and help in migrating from the previous major release.

    Another Route Through?

    Each page contains several links to related pages in the docs, as well as to relevant sections of the latest generated API docs. Links are made to cover as many common user journeys as we could think of. For cases where we didn’t anticipate your needs, every page in each SDK is linked from the left-hand navigation, and the paragraphs above detail the broad purpose of these groupings and some of their content.

    Several non-pages exist, in the sense that where a page found in one or more SDKs, such as the Travel Sample Application, is not available in one (or more) SDKs — as, for example, we have not made a libcouchbase Travel Sample Application — then a page will still exist, so that when navigating between SDKs through either the dropdown nav, or changing ghe name in the URL bar, you will not find yourself facing a 404 error, and will still have access to the left-hand nvigation for that SDK.

    Our internal Site Search is an excellent resource for finding information across Couchbase components and (supported) versions.