docs: add ThingsBoard table-model integration page - #1199
Open
PDGGK wants to merge 2 commits into
Open
Conversation
Documents the iotdb-thingsboard-table module, which lets a stock ThingsBoard instance store telemetry and attributes in IoTDB 2.x table mode by putting a jar on its classpath and setting a few properties. The site already carries a ThingsBoard page under the tree model, but it describes a different deployment: an IoTDB-adapted ThingsBoard package writing to root.thingsboard. The new page opens by distinguishing the two and links across to it. The reciprocal back-link is offered in the PR as a follow-up rather than included here. Adds the page to both the latest-Table and Master/Table trees in English and Chinese, an "IoT Platform" / "物联网对接" sidebar group, and a row in the Ecosystem Overview index of each tree.
PDGGK
force-pushed
the
docs-thingsboard-table-model
branch
from
August 20, 2026 03:45
72d2929 to
df82def
Compare
…s selector Deploying the module by following the page did not work. Step 2 said to add the module jar to ThingsBoard's classpath; doing exactly that fails at first session creation with NoClassDefFoundError on ITableSessionPool, because the IoTDB client's runtime dependencies have to go alongside it. Shipping all of them fails differently: nine of the runtime artifacts shadow a newer copy ThingsBoard already bundles, and antlr4-runtime 4.9.3 displacing ThingsBoard 4.3.1.2's 4.13.0 stops Spring Data JPA from deserialising its own grammar at startup. A tenth, commons-logging, survives a dependency diff because ThingsBoard ships spring-jcl under a different name and asks for it to be removed. Eleven jars remain, which is the set a real deployment started with — so the page now says to prefer a deployment that boots over a dependency diff, since the diff answers whether ThingsBoard ships an artifact rather than whether it tolerates one. The page also now states the install ordering: enabling the selectors before ThingsBoard has installed makes its own installer fail on a missing TsDatabaseSchemaService bean, so ThingsBoard is installed first and the module attached afterwards. Section 3.1 gains a warning. ThingsBoard has no configuration switch of its own for attributes storage, so enabling the attributes selector on a stock instance fails startup on the module's conflict check. A fix has been written and verified against ThingsBoard 4.3.1.2, but it is not in a released build, so the warning stands until one contains it. Writing it this way keeps the page correct whatever order this and the module fix land in. All four copies updated, English and Chinese, latest-Table and Master/Table.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a user-guide page for the
iotdb-thingsboard-tablemodule inapache/iotdb-extras, which lets a stock ThingsBoard instance store telemetry and attributes in IoTDB 2.x table model by putting a jar on its classpath and setting a few properties.The page is modelled on the existing Spark-IoTDB page — overview first, then requirements and deployment — and adds Configuration and Known Limitations sections that this integration needs.
Why a second ThingsBoard page
The site already has a ThingsBoard page under the tree model, but it documents a different deployment — an IoTDB-adapted ThingsBoard package writing to
root.thingsboard. This one is stock ThingsBoard plus a jar, against table model.Rather than replace or merge them, the new page opens with a paragraph distinguishing the two and links across to the tree-model page, so a reader who has landed on the wrong one can get to the right one.
That link is currently one-directional — the tree-model page does not point back here. Making it symmetric is a follow-up I have deliberately left out of this PR; see the last note below.
Files (10)
Thingsboard.mdinlatest-TableandMaster/Table, EN + ZHen-Table.ts/zh-Table.tssidebars — new "IoT Platform" / "物联网对接" groupEcosystem-Overview_apache.mdindex row in all four treesNotes for reviewers
latest-Tablethe tree-model page is at../../latest/, fromMaster/Tableit is at../../Tree/. There is noMaster/latestand no top-levelTree, so exactly one of these resolves per copy.V1.3.x,dev-1.3,latest,Master/Tree) in both languages, so a blanket back-link is 8 files. I would suggest scoping it tolatestandMaster/Tree(4 files) rather than all eight:V1.3.xanddev-1.3document IoTDB versions that have no table model, so pointing them at a table-model integration would advertise something those versions cannot run. Happy to do that as a follow-up, or fold it in here if you would rather it land together.The module is the deliverable of GSoC 2026 project GSOC-304, mentored by @CritasWang, who asked for this page.