diff --git a/contribute/document-contribution.md b/contribute/document-contribution.md index f99d410b0f06..cbe5d84fe22f 100644 --- a/contribute/document-contribution.md +++ b/contribute/document-contribution.md @@ -77,21 +77,23 @@ Docs for external command-line tools or bare scripts are updated **manually**: | pulsar-daemon | [pulsar-daemon.md](https://github.com/apache/pulsar-site/blob/main/static/reference/next/pulsar-daemon/pulsar-daemon.md) | | bookkeeper | [bookkeeper.md](https://github.com/apache/pulsar-site/blob/main/static/reference/next/bookkeeper/bookkeeper.md) | -## Update client/function matrix +## Update feature matrix -[Pulsar Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) outlines every feature supported by the Pulsar client and function. +Pulsar feature matrix introduces the features supported by language-specific clients and functions. It includes: +* [Client Feature Matrix](pathname:///client-feature-matrix) +* [Function Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=328808194) -:::note +You need to update the feature matrix as soon as your related commits get merged. The workflow is illustrated as follows. -* It's public and everyone has access to edit it. You can reach out to `dev@pulsar.apache.org` if you have problems in editing. -* This matrix will be moved to the Pulsar website (instead of the spreadsheet) in the future. +![Client Feature Matrix Workflow](media/client-matrix-workflow.png) -::: +1. Submit your code and doc PRs. +2. Get your PRs reviewed and merged. +3. Update the feature matrix to flag your contribution. -If you want to update the Pulsar Feature Matrix, follow the steps below. +:::note -1. Submit your code and doc PRs. -2. Get your PR reviewed and merged. -3. In the [Pulsar Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914), check the box in the corresponding cell with the links of PRs and doc site. +* [Client Feature Matrix](pathname:///client-feature-matrix) is in the transition phase from the spreadsheet to the webpage. For how to update it, see [How to update data-driven pages](site-intro.md#how-to-update-data-driven-pages). +* If you have problems in editing the spreadsheet of [Function Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=328808194), you can reach out to `dev@pulsar.apache.org`. -![Client Feature Matrix Workflow](media/client-matrix-workflow.png) +::: \ No newline at end of file diff --git a/contribute/site-intro.md b/contribute/site-intro.md index 7c1a3db22703..3e5567626a74 100644 --- a/contribute/site-intro.md +++ b/contribute/site-intro.md @@ -1,6 +1,6 @@ # Introduction -The Pulsar site is built with [Docusaurus](http://docusaurus.io/) framework. You can find all technical details on [its docs](https://docusaurus.io/docs). +The Pulsar site is built with [Docusaurus](http://docusaurus.io/) framework. You can find all the technical details on [its docs](https://docusaurus.io/docs). Specifically, this chapter provides a [writing syntax](document-syntax.md) guide selecting knowledge for writing content of the site. @@ -14,14 +14,15 @@ Docusaurus provides three kinds of pages out-of-the-box: [docs](https://docusaur The Pulsar site pages are of: -| Page | Type | Source | -|--------------------------------------------|-----------|---------------------------------------------------------------------------------------------------| -| [User docs](pathname:///docs) | docs | | -| [Contribution guides](about.md) | docs | | -| [Release notes](pathname:///release-notes) | docs | | -| [Security](pathname:///security) | docs | | -| [Blogs](pathname:///blog) | blog | | -| Other pages | JSX pages | | +| Page | Type | Source | +|------------------------------------------------------------|-----------|---------------------------------------------------------------------------------------------------| +| [User docs](pathname:///docs) | docs | | +| [Contribution guides](about.md) | docs | | +| [Release notes](pathname:///release-notes) | docs | | +| [Security](pathname:///security) | docs | | +| [Blogs](pathname:///blog) | blog | | +| [Client feature matrix](pathname:///client-feature-matrix) | docs | | +| Other pages | JSX pages | | Besides, the site serves multiple static pages generated outside the framework, including API docs, reference docs, and swagger files. You can find them under the `static` folder. @@ -39,7 +40,7 @@ See the [previewing content](document-preview.md) guide for more details. ### docker-compose.yaml -The `preview.sh` script use the Docusaurus dev server for testing, which is different from the real Apache Web Server based env that serves the site online. +The `preview.sh` script uses the Docusaurus dev server for testing, which is different from the real Apache Web Server based env that serves the site online. To emulate the server-side logics, like `.htaccess` rewrite rules, you can run: @@ -74,7 +75,7 @@ If you're gonna to update the content, read the [update reference docs](document If you're gonna to debug the reference generation process, read the [reference-doc-generator](https://github.com/apache/pulsar-site/tree/main/tools/pytools#reference-doc-generator) usage section and its source code. -### How to update data driven pages? +### How to update data-driven pages? The following pages contain data-driven tables: @@ -106,5 +107,8 @@ The following pages contain data-driven tables: * [Team](pathname:///team) * data/team.js * src/pages/team.js +* [Client feature matrix](pathname:///client-feature-matrix) + * data/matrix.js + * client-feature-matrix/index.mdx Additionally, PMC members can generate the `team.js` file as @lhotari did in https://github.com/apache/pulsar-site/pull/387. diff --git a/docs/client-libraries-cpp.md b/docs/client-libraries-cpp.md index 7f583f235c4e..49a6d31fdd38 100644 --- a/docs/client-libraries-cpp.md +++ b/docs/client-libraries-cpp.md @@ -26,10 +26,10 @@ You can use a Pulsar C++ client to create Pulsar [producers](concepts-clients.md - [Producer configurations](@pulsar:apidoc:cpp@/classpulsar_1_1_producer_configuration.html) - [Consumer configurations](@pulsar:apidoc:cpp@/classpulsar_1_1_consumer_configuration.html) - [Reader configurations](@pulsar:apidoc:cpp@/classpulsar_1_1_reader_configuration.html) -- [Release notes](pathname:///release-notes/client-cpp) +- [Release notes](/release-notes/client-cpp) - [Code examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples) - [Supported schema types](https://github.com/apache/pulsar-client-cpp/blob/main/include/pulsar/Schema.h) -- [Client feature matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) +- [Client feature matrix](/client-feature-matrix/) ## Changes for 3.0.0 and later versions diff --git a/docs/client-libraries-dotnet.md b/docs/client-libraries-dotnet.md index f6e8bb367516..557920f7ad86 100644 --- a/docs/client-libraries-dotnet.md +++ b/docs/client-libraries-dotnet.md @@ -21,6 +21,6 @@ You can use the Pulsar C# client (DotPulsar) to create Pulsar [producers](concep ## Reference doc -- [Release notes](pathname:///release-notes/client-cs) +- [Release notes](/release-notes/client-cs) - [DotPulsar documentation](https://github.com/apache/pulsar-dotpulsar/wiki) -- [Client feature matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) \ No newline at end of file +- [Client feature matrix](/client-feature-matrix/) \ No newline at end of file diff --git a/docs/client-libraries-go.md b/docs/client-libraries-go.md index 802c88a2377e..3481affe55cd 100644 --- a/docs/client-libraries-go.md +++ b/docs/client-libraries-go.md @@ -26,5 +26,5 @@ You can use a Pulsar [Go client](https://github.com/apache/pulsar-client-go) to - [Producer configurations](https://pkg.go.dev/github.com/apache/pulsar-client-go/pulsar#ProducerOptions) - [Consumer configurations](https://pkg.go.dev/github.com/apache/pulsar-client-go/pulsar#ConsumerOptions) - [Reader configurations](https://pkg.go.dev/github.com/apache/pulsar-client-go/pulsar#ReaderOptions) -- [Release notes](pathname:///release-notes/client-go) -- [Client feature matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) \ No newline at end of file +- [Release notes](/release-notes/client-go) +- [Client feature matrix](/client-feature-matrix/) \ No newline at end of file diff --git a/docs/client-libraries-java.md b/docs/client-libraries-java.md index 549e018f1bd6..f536f5273b10 100644 --- a/docs/client-libraries-java.md +++ b/docs/client-libraries-java.md @@ -36,5 +36,5 @@ Package | Description | Maven Artifact #### More reference - [Java client configurations](pathname:///reference/#/@pulsar:version_reference@/client/) -- [Release notes](pathname:///release-notes/client-java) -- [Client feature matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) \ No newline at end of file +- [Release notes](/release-notes/client-java) +- [Client feature matrix](/client-feature-matrix/) \ No newline at end of file diff --git a/docs/client-libraries-node.md b/docs/client-libraries-node.md index 923ae85a639e..878dffae724d 100644 --- a/docs/client-libraries-node.md +++ b/docs/client-libraries-node.md @@ -22,6 +22,6 @@ You can use a Pulsar Node.js client to create Pulsar [producers](concepts-client ## Reference doc - [Node.js client configurations](client-libraries-node-configs.md) -- [Release notes](pathname://release-notes/client-node/) -- [Client feature matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) +- [Release notes](/release-notes/client-node) +- [Client feature matrix](/client-feature-matrix/) - [Type definitions](https://github.com/apache/pulsar-client-node/blob/master/index.d.ts) used in TypeScript (for 1.3.0 or later versions). \ No newline at end of file diff --git a/docs/client-libraries-python.md b/docs/client-libraries-python.md index 4fc639e48d1b..70114ab8fe32 100644 --- a/docs/client-libraries-python.md +++ b/docs/client-libraries-python.md @@ -26,5 +26,5 @@ You can use a Pulsar Python client to create Pulsar [producers](concepts-clients - [Producer configurations](@pulsar:apidoc:python@/pulsar.Client.html#create_producer) - [Consumer configurations](@pulsar:apidoc:python@/pulsar.Client.html#subscribe) - [Reader configurations](@pulsar:apidoc:python@/pulsar.Client.html#create_reader) -- [Release notes](pathname:///release-notes/client-python) -- [Client feature matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) \ No newline at end of file +- [Release notes](/release-notes/client-python) +- [Client feature matrix](/client-feature-matrix/) \ No newline at end of file diff --git a/docs/client-libraries-websocket.md b/docs/client-libraries-websocket.md index 937cdec920c7..f02da082099f 100644 --- a/docs/client-libraries-websocket.md +++ b/docs/client-libraries-websocket.md @@ -6,7 +6,7 @@ sidebar_label: "WebSocket" Pulsar [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) API provides a simple way to interact with Pulsar using languages that do not have an official [client library](client-libraries.md). You can use Pulsar WebSocket API with any WebSocket client library. See [Python and Node.js examples](#client-examples) for more details. -Through WebSocket, you can publish and consume messages and use features available on the [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) page. +Through WebSocket, you can publish and consume messages and use features available on the [Client Feature Matrix](/client-feature-matrix/) page. ## Run the WebSocket service diff --git a/docs/client-libraries.md b/docs/client-libraries.md index 13dcab809f0b..5e58164adabf 100644 --- a/docs/client-libraries.md +++ b/docs/client-libraries.md @@ -34,7 +34,7 @@ Pulsar supports the following language-agnostic client libraries: ## Feature matrix -Pulsar client feature matrix for different languages is listed on [Pulsar Feature Matrix (Client and Function)](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914) page. +The [Client Feature Matrix](/client-feature-matrix/) page provides an overview of the latest feature supportability on language-specific clients. ## Third-party clients diff --git a/sidebars.json b/sidebars.json index 4f539bdd3ae7..de1353c7a88d 100644 --- a/sidebars.json +++ b/sidebars.json @@ -219,7 +219,7 @@ }, "items": [ "deploy-aws", - "deploy-ibm", + "deploy-ibm", { "type": "category", "label": "Kubernetes", @@ -268,9 +268,9 @@ "type": "category", "label": "Observability", "items": [ - "administration-stats", - "reference-metrics", - "deploy-monitoring" + "administration-stats", + "reference-metrics", + "deploy-monitoring" ] }, { @@ -315,6 +315,11 @@ "label": "Client Libraries", "items": [ "client-libraries", + { + "type": "link", + "href": "/client-feature-matrix/", + "label": "Client Feature Matrix" + }, { "type": "category", "label": "Get started", @@ -382,7 +387,7 @@ "client-libraries-node-setup", "client-libraries-node-initialize", "client-libraries-node-use", - "client-libraries-node-configs" + "client-libraries-node-configs" ] }, {