Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bc3ad17

Browse files
committed
docs: add Kanboard Portfolio plugin URL to orchestration documentation
Resolves the PORTFOLIO_PLUGIN_URL blocker from Task 62 (US-014). Plugin URL: https://github.com/geekmuse/kanboard-plugin-portfolio-management - README.md: add server-side visualization section with plugin link - docs/sdk-guide.md: add plugin note in orchestration overview and replace Phase 1 placeholder reference with real link - docs/design/cross-project-orchestration.md: replace /tmp/ spec reference and bare repo name with real linked URL in section 3.3 and component table
1 parent a1918ff commit bc3ad17

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ with KanboardClient(url=URL, token=TOKEN) as kb:
9595
critical = analyzer.get_critical_path(tasks)
9696
```
9797

98+
### Server-side visualization (optional)
99+
100+
For in-browser Kanboard UI features — including interactive dependency graphs, multi-project Gantt timelines, portfolio dashboards, and board-level blocking indicators — see the companion **[Kanboard Portfolio plugin](https://github.com/geekmuse/kanboard-plugin-portfolio-management)**.
101+
102+
The CLI's `portfolio` and `milestone` commands work independently of the plugin, but the plugin provides the visual layer within Kanboard's web interface.
103+
98104
See **[docs/sdk-guide.md#cross-project-orchestration](docs/sdk-guide.md#cross-project-orchestration)** and **[docs/cli-reference.md#portfolio](docs/cli-reference.md#portfolio)** for full reference documentation.
99105

100106
## Prerequisites

docs/design/cross-project-orchestration.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ The solution is split across two projects:
286286

287287
| Layer | Project | Language | Responsibility |
288288
|-------|---------|----------|----------------|
289-
| **Server-side plugin** | `kanboard-plugin-portfolio` (separate repo) | PHP | Database tables, JSON-RPC API endpoints, Kanboard UI views (dashboards, graphs, board indicators), event listeners, automatic actions |
289+
| **Server-side plugin** | [`kanboard-plugin-portfolio-management`](https://github.com/geekmuse/kanboard-plugin-portfolio-management) | PHP | Database tables, JSON-RPC API endpoints, Kanboard UI views (dashboards, graphs, board indicators), event listeners, automatic actions |
290290
| **CLI/SDK client** | `kanboard-cli` (this repo) | Python | CLI-side orchestration (Phase 0 — no plugin), typed SDK resource modules for the plugin API (Phase 1+), CLI commands for portfolio/milestone/dependency workflows |
291291

292292
**Key principle:** The CLI provides cross-project orchestration value **independently** of the plugin (Phase 0), and gains additional capabilities when the plugin is installed (Phase 1+). The plugin is an external dependency, not something built or maintained within this project.
@@ -348,9 +348,7 @@ A product company managing multiple software products and a marketing/site proje
348348

349349
The Kanboard Portfolio plugin is a **separate PHP project** maintained in its own repository. It is not built, tested, or shipped as part of `kanboard-cli`.
350350

351-
> **Plugin specification:** See `/tmp/kanboard-portfolio-plugin-spec.md` for the complete
352-
> implementation specification (2,400+ lines covering data model, all 28 API endpoints,
353-
> controllers, templates, events, security, and testing strategy).
351+
> **Plugin repository:** [https://github.com/geekmuse/kanboard-plugin-portfolio-management](https://github.com/geekmuse/kanboard-plugin-portfolio-management)
354352
355353
#### What the Plugin Provides
356354

@@ -368,8 +366,8 @@ The Kanboard Portfolio plugin is a **separate PHP project** maintained in its ow
368366

369367
| Concern | Who Owns It |
370368
|---------|------------|
371-
| Plugin PHP code, schema, templates, JS assets | `kanboard-plugin-portfolio` repo |
372-
| Plugin installation, packaging, Kanboard directory listing | `kanboard-plugin-portfolio` repo |
369+
| Plugin PHP code, schema, templates, JS assets | [`kanboard-plugin-portfolio-management`](https://github.com/geekmuse/kanboard-plugin-portfolio-management) |
370+
| Plugin installation, packaging, Kanboard directory listing | [`kanboard-plugin-portfolio-management`](https://github.com/geekmuse/kanboard-plugin-portfolio-management) |
373371
| Python SDK resource modules that call the plugin's API | **This project** (`kanboard-cli`) |
374372
| CLI commands that wrap the plugin's API | **This project** (`kanboard-cli`) |
375373
| CLI-only orchestration (Phase 0, no plugin) | **This project** (`kanboard-cli`) |

docs/sdk-guide.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,6 +904,8 @@ The `kanboard.orchestration` subpackage provides portfolio management, cross-pro
904904

905905
**The orchestration classes are opt-in and not wired into `KanboardClient`.** Callers instantiate them separately, passing a `KanboardClient` as a constructor argument.
906906

907+
> **Note:** The orchestration classes work with any standard Kanboard instance — no server-side plugin is required for core functionality. For additional server-side features (UI dashboards, interactive dependency graphs, Gantt timelines, and board-level blocking indicators), see the [Kanboard Portfolio plugin](https://github.com/geekmuse/kanboard-plugin-portfolio-management).
908+
907909
```python
908910
from kanboard import KanboardClient
909911
from kanboard.orchestration import (
@@ -993,7 +995,7 @@ store.remove_milestone("Platform Launch", "Beta Release")
993995

994996
### PortfolioManager
995997

996-
`PortfolioManager` aggregates task data across multiple projects and computes milestone progress. It makes N+1 API calls by design (one per project/task) — acceptable for Phase 0; a server-side plugin will solve this in Phase 1.
998+
`PortfolioManager` aggregates task data across multiple projects and computes milestone progress. It makes N+1 API calls by design (one per project/task) — acceptable for Phase 0; the [Kanboard Portfolio plugin](https://github.com/geekmuse/kanboard-plugin-portfolio-management) will solve this at scale in Phase 1.
997999

9981000
```python
9991001
from kanboard import KanboardClient

0 commit comments

Comments
 (0)