Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions contribute/document-contribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
:::
26 changes: 15 additions & 11 deletions contribute/site-intro.md
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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 | <ul><li>docs/</li><li>versioned_docs/</li><li>versioned_sidebars/</li><li>sidebars.json</li></ul> |
| [Contribution guides](about.md) | docs | <ul><li>contribute/</li><li>sidebarsDevelopment.js</li></ul> |
| [Release notes](pathname:///release-notes) | docs | <ul><li>release-notes/</li><li>sidebarsReleaseNotes.js</li></ul> |
| [Security](pathname:///security) | docs | <ul><li>security/</li></ul> |
| [Blogs](pathname:///blog) | blog | <ul><li>blog/</li></ul> |
| Other pages | JSX pages | <ul><li>src/pages/</li></ul> |
| Page | Type | Source |
|------------------------------------------------------------|-----------|---------------------------------------------------------------------------------------------------|
| [User docs](pathname:///docs) | docs | <ul><li>docs/</li><li>versioned_docs/</li><li>versioned_sidebars/</li><li>sidebars.json</li></ul> |
| [Contribution guides](about.md) | docs | <ul><li>contribute/</li><li>sidebarsDevelopment.js</li></ul> |
| [Release notes](pathname:///release-notes) | docs | <ul><li>release-notes/</li><li>sidebarsReleaseNotes.js</li></ul> |
| [Security](pathname:///security) | docs | <ul><li>security/</li></ul> |
| [Blogs](pathname:///blog) | blog | <ul><li>blog/</li></ul> |
| [Client feature matrix](pathname:///client-feature-matrix) | docs | <ul><li>client-feature-matrix/</li><li>data/matrix.js</li></ul> |
| Other pages | JSX pages | <ul><li>src/pages/</li></ul> |

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.

Expand All @@ -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:

Expand Down Expand Up @@ -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:

Expand Down Expand Up @@ -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.
4 changes: 2 additions & 2 deletions docs/client-libraries-cpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
4 changes: 2 additions & 2 deletions docs/client-libraries-dotnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [Client feature matrix](/client-feature-matrix/)
4 changes: 2 additions & 2 deletions docs/client-libraries-go.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [Release notes](/release-notes/client-go)
- [Client feature matrix](/client-feature-matrix/)
4 changes: 2 additions & 2 deletions docs/client-libraries-java.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [Release notes](/release-notes/client-java)
- [Client feature matrix](/client-feature-matrix/)
4 changes: 2 additions & 2 deletions docs/client-libraries-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
4 changes: 2 additions & 2 deletions docs/client-libraries-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [Release notes](/release-notes/client-python)
- [Client feature matrix](/client-feature-matrix/)
2 changes: 1 addition & 1 deletion docs/client-libraries-websocket.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/client-libraries.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 10 additions & 5 deletions sidebars.json
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@
},
"items": [
"deploy-aws",
"deploy-ibm",
"deploy-ibm",
{
"type": "category",
"label": "Kubernetes",
Expand Down Expand Up @@ -268,9 +268,9 @@
"type": "category",
"label": "Observability",
"items": [
"administration-stats",
"reference-metrics",
"deploy-monitoring"
"administration-stats",
"reference-metrics",
"deploy-monitoring"
]
},
{
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -382,7 +387,7 @@
"client-libraries-node-setup",
"client-libraries-node-initialize",
"client-libraries-node-use",
"client-libraries-node-configs"
"client-libraries-node-configs"
]
},
{
Expand Down