Skip to content

Commit 1b3a34c

Browse files
committed
Polish READMEs and add news fragments
- Fix broken markdown link in the frontend README caused by a missing blank line after the badge HTML block - Complete the frontend installation instructions with the required `addons` registration - Add a Usage section describing the keyword control panel - Add a License section covering both packages - Split Requirements into backend and frontend - Add the Cookieplone attribution to the root credits - Add documentation news fragments for all three towncrier scopes Refs #3
1 parent bb4a20c commit 1b3a34c

6 files changed

Lines changed: 109 additions & 35 deletions

File tree

README.md

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,28 @@
1-
# Keyword Manager for Plone
1+
<div align="center">
2+
3+
<h1 align="center">Keyword Manager for Plone</h1>
4+
5+
</div>
6+
7+
<div align="center">
28

39
[![Built with Cookieplone](https://img.shields.io/badge/built%20with-Cookieplone-0083be.svg?logo=cookiecutter)](https://github.com/plone/cookieplone-templates/)
4-
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
10+
11+
[![PyPI](https://img.shields.io/pypi/v/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
12+
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
13+
[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
14+
15+
[![npm](https://img.shields.io/npm/v/@kitconcept/volto-keywordmanager)](https://www.npmjs.com/package/@kitconcept/volto-keywordmanager)
16+
[![](https://img.shields.io/badge/-Storybook-ff4785?logo=Storybook&logoColor=white&style=flat-square)](https://kitconcept.github.io/kitconcept-keywordmanager/)
17+
18+
19+
[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/kitconcept-keywordmanager)](https://github.com/kitconcept/kitconcept-keywordmanager)
20+
[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/kitconcept-keywordmanager?style=social)](https://github.com/kitconcept/kitconcept-keywordmanager)
21+
522
[![CI](https://github.com/kitconcept/kitconcept-keywordmanager/actions/workflows/main.yml/badge.svg)](https://github.com/kitconcept/kitconcept-keywordmanager/actions/workflows/main.yml)
623

24+
</div>
25+
726
The **Keyword Manager** is a Plone 6 add-on that lets content editors keep their site's keywords (also called subjects or tags) clean and consistent — without needing developer support. From a dedicated control panel, editors can rename, merge, and delete keywords, and every content item on the site is updated automatically.
827

928
> [!WARNING]
@@ -27,19 +46,42 @@ The **Keyword Manager** is a Plone 6 add-on that lets content editors keep their
2746

2847
## Requirements
2948

49+
### Backend
50+
3051
- Plone 6.1 or 6.2
3152
- Python 3.11, 3.12, or 3.13
32-
- Volto (Plone's React-based frontend)
53+
54+
### Frontend
55+
56+
- Volto 18 or later (Plone's React-based frontend)
57+
- Node.js 24
58+
- pnpm
3359
- [volto-light-theme](https://github.com/kitconcept/volto-light-theme) (recommended; see warning above)
3460

3561
## Installation 🔧
3662

3763
1. Frontend package:
3864

65+
Add the package to your Volto project.
66+
3967
```shell
4068
pnpm add @kitconcept/volto-keywordmanager
4169
```
4270

71+
Then register it as an add-on in your project's `package.json`.
72+
73+
```json
74+
"addons": [
75+
"@kitconcept/volto-keywordmanager"
76+
],
77+
"dependencies": {
78+
"@kitconcept/volto-keywordmanager": "*"
79+
}
80+
```
81+
82+
> [!IMPORTANT]
83+
> Installing the package without adding it to the `addons` array will not enable the control panel.
84+
4385
1. Backend package:
4486

4587
```shell
@@ -52,6 +94,14 @@ The **Keyword Manager** is a Plone 6 add-on that lets content editors keep their
5294
pip install kitconcept.keywordmanager
5395
```
5496

97+
Then install the add-on in your Plone site from the **Add-ons** control panel.
98+
99+
## Usage
100+
101+
Once installed, the Keyword Manager is available in the Plone site control panel.
102+
Start by selecting the keyword field you want to manage, then sort, filter, rename, merge, or delete individual keywords.
103+
Every content item using an affected keyword is updated automatically.
104+
55105
## Configuration
56106

57107
This package allows for some configuration.
@@ -140,6 +190,15 @@ km = getUtility(IKeywordManager)
140190

141191
Contributions are welcome! Please read [CONTRIBUTING.md](./CONTRIBUTING.md).
142192

193+
## License
194+
195+
This repository contains two packages, each under its own license.
196+
197+
| Package | Location | License |
198+
| ------- | -------- | ------- |
199+
| `kitconcept.keywordmanager` | [backend/](./backend/) | GPL-2.0-only |
200+
| `@kitconcept/volto-keywordmanager` | [frontend/](./frontend/) | MIT |
201+
143202
## Credits and acknowledgements 🙏
144203

145204
This add-on is based on code from Products.PloneKeywordManager, adapted and extended for Plone 6 & Volto.
@@ -159,3 +218,5 @@ Building on that foundation, this package was created by the kitconcept GmbH to
159218
There is an ongoing effort to bring keyword-management functionality into Plone core itself, tracked as [PLIP: Keyword Manager](https://github.com/plone/volto/issues/5300). This add-on is intended as a step toward that goal, a working, up-to-date implementation that can inform (and hopefully eventually be folded into) that core integration. Getting there will require several steps: stabilizing the add-on for Plone 6, gathering community feedback, aligning with the Volto/core UI patterns, and going through the PLIP review process. Contributions and feedback toward that end are welcome.
160219

161220
Thanks to Maik Jablonski and everyone who has contributed to Products.PloneKeywordManager over the years for the original work this builds on.
221+
222+
Generated using [Cookieplone (2.0.0a3)](https://github.com/plone/cookieplone) and [cookieplone-templates (cda10db)](https://github.com/plone/cookieplone-templates/commit/cda10db886223a9aa9be1b1368484296418bb880) on 2026-05-29 11:44:37.855709. A special thanks to all contributors and supporters!

backend/README.md

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,28 @@
1-
# Keyword Manager for Plone (Backend: kitconcept.keywordmanager)
1+
<div align="center">
2+
3+
<h1 align="center">Keyword Manager for Plone</h1>
4+
<h2 align="center">kitconcept.keywordmanager</h2>
5+
6+
</div>
7+
8+
<div align="center">
9+
10+
[![PyPI](https://img.shields.io/pypi/v/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
11+
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
12+
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
13+
[![PyPI - License](https://img.shields.io/pypi/l/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
14+
[![PyPI - Status](https://img.shields.io/pypi/status/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
15+
16+
[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/kitconcept.keywordmanager)](https://pypi.org/project/kitconcept.keywordmanager/)
17+
18+
[![CI](https://github.com/kitconcept/kitconcept-keywordmanager/actions/workflows/main.yml/badge.svg)](https://github.com/kitconcept/kitconcept-keywordmanager/actions/workflows/main.yml)
19+
20+
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
21+
22+
[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/kitconcept-keywordmanager)](https://github.com/kitconcept/kitconcept-keywordmanager)
23+
[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/kitconcept-keywordmanager?style=social)](https://github.com/kitconcept/kitconcept-keywordmanager)
24+
25+
</div>
226

327
The backend package for Keyword Manager for Plone — a Plone 6 add-on that lets content editors rename, merge, and delete keywords (subjects/tags) across a site, with all content updated automatically. See also the frontend package [@kitconcept/volto-keywordmanager](https://www.npmjs.com/package/@kitconcept/volto-keywordmanager).
428

@@ -144,36 +168,6 @@ km = getUtility(IKeywordManager)
144168
make install
145169
```
146170

147-
148-
### Add features using `plonecli` or `bobtemplates.plone`
149-
150-
This package provides markers as strings (`<!-- extra stuff goes here -->`) that are compatible with [`plonecli`](https://github.com/plone/plonecli) and [`bobtemplates.plone`](https://github.com/plone/bobtemplates.plone).
151-
These markers act as hooks to add all kinds of features through subtemplates, including behaviors, control panels, upgrade steps, or other subtemplates from `bobtemplates.plone`.
152-
`plonecli` is a command line client for `bobtemplates.plone`, adding autocompletion and other features.
153-
154-
To add a feature as a subtemplate to your package, use the following command pattern.
155-
156-
```shell
157-
make add <template_name>
158-
```
159-
160-
For example, you can add a content type to your package with the following command.
161-
162-
```shell
163-
make add content_type
164-
```
165-
166-
You can add a behavior with the following command.
167-
168-
```shell
169-
make add behavior
170-
```
171-
172-
```{seealso}
173-
You can check the list of available subtemplates in the [`bobtemplates.plone` `README.md` file](https://github.com/plone/bobtemplates.plone/?tab=readme-ov-file#provided-subtemplates).
174-
See also the documentation of [Mockup and Patternslib](https://6.docs.plone.org/classic-ui/mockup.html) for how to build the UI toolkit for Classic UI.
175-
```
176-
177171
## License
178172

179173
The project is licensed under GPLv2.

backend/news/3.documentation

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Updated the backend README and synced it with the top-level README. @tisto

frontend/README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,21 @@
1-
# Keyword Manager for Plone (Frontend: @kitconcept/volto-keywordmanager)
1+
<div align="center">
2+
3+
<h1 align="center">Keyword Manager for Plone</h1>
4+
<h2 align="center">@kitconcept/volto-keywordmanager</h2>
5+
6+
</div>
7+
8+
<div align="center">
29

310
[![npm](https://img.shields.io/npm/v/@kitconcept/volto-keywordmanager)](https://www.npmjs.com/package/@kitconcept/volto-keywordmanager)
411
[![](https://img.shields.io/badge/-Storybook-ff4785?logo=Storybook&logoColor=white&style=flat-square)](https://kitconcept.github.io/kitconcept-keywordmanager/)
512
[![CI](https://github.com/kitconcept/kitconcept-keywordmanager/actions/workflows/main.yml/badge.svg)](https://github.com/kitconcept/kitconcept-keywordmanager/actions/workflows/main.yml)
613

14+
[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/kitconcept-keywordmanager)](https://github.com/kitconcept/kitconcept-keywordmanager)
15+
[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/kitconcept-keywordmanager?style=social)](https://github.com/kitconcept/kitconcept-keywordmanager)
16+
17+
</div>
18+
719
The frontend package for Keyword Manager for Plone — a Plone 6 add-on that lets content editors rename, merge, and delete keywords (subjects/tags) across a site, with all content updated automatically. See also the backend package [kitconcept.keywordmanager](https://pypi.org/project/kitconcept.keywordmanager/).
820

921
## Features 🔥
@@ -162,3 +174,7 @@ Contributions are welcome! Please read [CONTRIBUTING.md](https://github.com/kitc
162174
## License
163175

164176
The project is licensed under the MIT license.
177+
178+
## Credits and acknowledgements 🙏
179+
180+
Generated using [Cookieplone (2.0.0a3)](https://github.com/plone/cookieplone) and [cookieplone-templates (cda10db)](https://github.com/plone/cookieplone-templates/commit/cda10db886223a9aa9be1b1368484296418bb880) on 2026-05-29 11:44:37.855709. A special thanks to all contributors and supporters!
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Updated the frontend README and synced it with the top-level README. @tisto

news/3.documentation

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Overhauled the README with a clearer product description, a "who is this for" section, a revised features list, requirements, and screenshots. @tisto

0 commit comments

Comments
 (0)