|
1 | 1 | # ownCloud Documentation UI |
2 | 2 |
|
3 | | -**IMPORTANT** |
4 | | - |
5 | | -Since April 2026, this repository requires [Commit Signing](https://docs.github.com/articles/about-gpg) and uses [Conventional Commits](https://www.conventionalcommits.org) for commits and the Pull Request title. |
6 | | - |
7 | | -[link-antora-default-ui]: https://gitlab.com/antora/antora-ui-default |
8 | | -[link-antora]: https://antora.org |
9 | | -[link-ui_bundle.zip]: https://minio.owncloud.com/documentation/ui-bundle.zip |
10 | | -[link-readme]: https://github.com/owncloud/docs |
11 | | -[link-git]: https://git-scm.com |
12 | | -[link-node]: https://nodejs.org |
13 | | -[link-gulp-cli]: http://gulpjs.com |
14 | | -[link-git-package]: https://git-scm.com/downloads |
15 | | -[link-nvm]: https://github.com/creationix/nvm |
16 | | -[link-nvm-installation-instructions]: https://github.com/creationix/nvm#installation |
17 | | -[link-preview]: https://github.com/owncloud/docs/blob/master/docs/build-the-docs.md#viewing-the-html-documentation |
18 | | - |
19 | | -The `docs-ui` repository is a custom version of the [Antora Default UI][link-antora-default-ui], for the [Antora][link-antora] version of the ownCloud documentation. |
20 | | - |
21 | | -**Table of Contents** |
22 | | - |
23 | | -* [Info](#info) |
24 | | -* [Contributing](#contributing) |
25 | | -* [Prerequisites](#prerequisites) |
26 | | - * [Git](#git) |
27 | | - * [Node](#node) |
28 | | - * [Install Dependencies](#install-dependencies) |
29 | | - * [Add Packages](#add-packages) |
30 | | -* [Prepared npm Commands](#prepared-npm-commands) |
31 | | -* [Preview](#preview) |
32 | | - * [Preview Changes Using the ownCloud Documentation](#preview-changes-using-the-owncloud-documentation) |
33 | | - * [Previewing Changes using a Demo Antora Build](#previewing-changes-using-a-demo-antora-build) |
34 | | - |
35 | | -## Info |
36 | | - |
37 | | -Note that in directory `preview-site-src`, the `404.html` file is on purpose but `index.html` file is for internal testing purposes only. The file is recreated in the `public/` directory on each `preview` build and served from there. There is no need to change or copy it. |
| 3 | +<!-- OSPO-managed README | Generated: 2026-04-16 | v2 --> |
38 | 4 |
|
39 | | -## Contributing |
40 | | - |
41 | | -If you want to make changes, create a "_feature_" branch off of master, make the required changes, and then create a Pull Request (PR) against the _master_ branch. |
42 | | -If the PR is accepted and merged, a new `ui-bundle.zip` package file will be created and published to `https://minio.owncloud.com/documentation/ui-bundle.zip` as part of the build pipeline. |
| 5 | +[](LICENSE) [](https://kiteworks.com/opensource) |
43 | 6 |
|
44 | | -## Prerequisites |
| 7 | +A custom Antora UI theme for the official ownCloud documentation. This repository is based on the [Antora Default UI](https://gitlab.com/antora/antora-ui-default) and provides the HTML templates, CSS styles, JavaScript behavior, and assets that define the look and feel of the published documentation at [doc.owncloud.com](https://doc.owncloud.com). |
45 | 8 |
|
46 | | -To preview the UI changes or to create a local version of a `ui-bundle.zip`, you need to install the following software on your computer. |
| 9 | +## Getting Started |
47 | 10 |
|
48 | | -- [git][link-git] (command: `git`) |
49 | | -- [Node][link-node] (command: `node`) |
50 | | -- [Gulp CLI][link-gulp-cli] (command: `gulp`) |
| 11 | +Install dependencies and preview the UI: |
51 | 12 |
|
52 | | -### git |
| 13 | +```bash |
| 14 | +npm install |
| 15 | +npm run preview |
| 16 | +``` |
53 | 17 |
|
54 | | -First, make sure you have git installed. |
| 18 | +To build the UI bundle for production: |
55 | 19 |
|
56 | | -```Shell |
57 | | -git --version |
| 20 | +```bash |
| 21 | +npm run bundle |
58 | 22 | ``` |
59 | 23 |
|
60 | | -If git is not installed, download and install the [git package][link-git-package] for your system. |
| 24 | +The generated `ui-bundle.zip` in `build/` is consumed by the Antora documentation build. |
61 | 25 |
|
62 | | -### Node |
| 26 | +## Documentation |
63 | 27 |
|
64 | | -Next, make sure that you have Node installed. |
| 28 | +- [Main Documentation Build](https://github.com/owncloud/docs) |
| 29 | +- [Antora UI Documentation](https://docs.antora.org/antora-ui-default/) |
65 | 30 |
|
66 | | -```Shell |
67 | | -node --version |
68 | | -``` |
| 31 | +## Part of ownCloud Documentation |
69 | 32 |
|
70 | | -If this command fails with an error, you don't have Node installed. |
71 | | -While you can install Node from the official packages, we strongly recommend that you use [NVM][link-nvm] (Node Version Manager) to install and manage Node. |
| 33 | +This repository provides the UI bundle consumed by the [ownCloud docs](https://github.com/owncloud/docs) Antora build. The output `ui-bundle.zip` is referenced in the docs site playbook. Published documentation is available at [doc.owncloud.com](https://doc.owncloud.com). |
72 | 34 |
|
73 | | -Follow the [NVM installation instructions][link-nvm-installation-instructions] to set up NVM on your machine. |
74 | | -Once you've installed NVM, open a new terminal and install Node using the following command: |
| 35 | +## Development Reference |
75 | 36 |
|
76 | | -```Shell |
77 | | -nvm ls-remote | grep "Latest LTS" |
| 37 | +Development workflow and build tooling for the UI bundle: |
78 | 38 |
|
79 | | - ... |
80 | | - v18.20.4 (Latest LTS: Hydrogen) |
81 | | - v20.18.1 (Latest LTS: Iron) |
82 | | - v22.22.0 (Latest LTS: Jod) |
83 | | - v24.14.0 (Latest LTS: Krypton) |
84 | | -``` |
| 39 | +### Prerequisites |
85 | 40 |
|
86 | | -Then install a suitable LTS version, preferrable > v20. You can install as many versions as you like or need, see example below. |
| 41 | +- [Git](https://git-scm.com/) |
| 42 | +- [Node.js](https://nodejs.org/) (v22 LTS recommended; use [NVM](https://github.com/creationix/nvm) to manage versions) |
| 43 | +- npm >= 11.11.0 |
87 | 44 |
|
88 | | -```Shell |
89 | | -nvm install 22.22.0 |
90 | | -``` |
| 45 | +### Available npm Commands |
91 | 46 |
|
92 | | -List the installed versions |
| 47 | +| Command | Description | |
| 48 | +|---|---| |
| 49 | +| `npm run lint` | Lint the UI bundle definition | |
| 50 | +| `npm run bundle` | Generate a `ui-bundle.zip` for local use | |
| 51 | +| `npm run preview` | Preview the bundle using a demo Antora build at `http://localhost:5252` | |
93 | 52 |
|
94 | | -```Shell |
95 | | -nvm ls |
96 | | --> v22.22.0 |
97 | | -default -> 22.22.0 (-> v22.22.0) |
| 53 | +### Preview with ownCloud Documentation |
98 | 54 |
|
99 | | -... |
100 | | -``` |
| 55 | +To preview UI changes using the actual ownCloud documentation instead of demo content: |
101 | 56 |
|
102 | | -**Info:** The backend to push to the web also uses node v22, see the `.drone.star` file. It is recommended to stay with the same release if possible. |
| 57 | +1. Build a local `ui-bundle.zip` with `npm run bundle` |
| 58 | +2. Switch to the target documentation repository |
| 59 | +3. Run `npm run antora-dev-bundle` in the docs repo |
103 | 60 |
|
104 | | -Switch to a specific installed version of Node at any time, use the following command: |
| 61 | +See the [Generating the Documentation](https://github.com/owncloud/docs#generating-the-documentation) guide for details. |
105 | 62 |
|
106 | | -```Shell |
107 | | -nvm use 22.22.0 |
108 | | -``` |
| 63 | +### Contributing Workflow |
109 | 64 |
|
110 | | -**Important:** If you have additional concurrent terminals open, you must close these terminals first and reopen them to use the new setup. |
| 65 | +Create a feature branch off `master`, make changes, and submit a PR. When merged, the CI pipeline automatically builds and publishes a new `ui-bundle.zip` to `https://minio.owncloud.com/documentation/ui-bundle.zip`. |
111 | 66 |
|
112 | | -To make a particular Node version default in new terminals, type: |
| 67 | +## Community & Support |
113 | 68 |
|
114 | | -```Shell |
115 | | -nvm alias default 22.22.0 |
116 | | -``` |
| 69 | +**[Star](https://github.com/owncloud/docs-ui)** this repo and **Watch** for release notifications! |
117 | 70 |
|
118 | | -Now that you have Node installed, you can proceed with installing the Gulp CLI and npm. |
| 71 | +- [ownCloud Website](https://owncloud.com) |
| 72 | +- [Community Discussions](https://github.com/orgs/owncloud/discussions) |
| 73 | +- [Matrix Chat](https://app.element.io/#/room/#owncloud:matrix.org) |
| 74 | +- [Documentation](https://doc.owncloud.com) |
| 75 | +- [Enterprise Support](https://owncloud.com/contact-us/) |
| 76 | +- [OSPO Home](https://kiteworks.com/opensource) |
119 | 77 |
|
120 | | -### Update npm |
| 78 | +## Contributing |
121 | 79 |
|
122 | | -`npm` should be at minimum version 11.11.0\ |
123 | | -You can check this with `npm -v`. If an update is needed, simply run teh following command. Replace `latest` with a version if you want to lock it. |
| 80 | +We welcome contributions! Please read the [Contributing Guidelines](CONTRIBUTING.md) |
| 81 | +and our [Code of Conduct](CODE_OF_CONDUCT.md) before getting started. |
124 | 82 |
|
125 | | -```Shell |
126 | | -npm install -g npm@latest |
127 | | -``` |
| 83 | +### Workflow |
128 | 84 |
|
129 | | -### Install Dependencies |
| 85 | +- **Rebase Early, Rebase Often!** We use a rebase workflow. Always rebase on the target branch before submitting a PR. |
| 86 | +- **Dependabot**: Automated dependency updates are managed via Dependabot. Review and merge dependency PRs promptly. |
| 87 | +- **Signed Commits**: All commits **must** be PGP/GPG signed. See [GitHub's signing guide](https://docs.github.com/en/authentication/managing-commit-signature-verification). |
| 88 | +- **DCO Sign-off**: Every commit must carry a `Signed-off-by` line: |
| 89 | + ``` |
| 90 | + git commit -s -S -m "your commit message" |
| 91 | + ``` |
| 92 | +- **GitHub Actions Policy**: Workflows may only use actions that are (a) owned by `owncloud`, (b) created by GitHub (`actions/*`), or (c) verified in the GitHub Marketplace. |
130 | 93 |
|
131 | | -Finally, run the following command to install all dependencies: |
| 94 | +## Security |
132 | 95 |
|
133 | | -```Shell |
134 | | -npm install |
135 | | -``` |
| 96 | +**Do not open a public GitHub issue for security vulnerabilities.** |
136 | 97 |
|
137 | | -### Add Packages |
| 98 | +Report vulnerabilities at **<https://security.owncloud.com>** -- see [SECURITY.md](SECURITY.md). |
138 | 99 |
|
139 | | -If a new package needs to be added, type the following: |
| 100 | +Bug bounty: [YesWeHack ownCloud Program](https://yeswehack.com/programs/owncloud-bug-bounty-program) |
140 | 101 |
|
141 | | -```Shell |
142 | | -npm -i <package-name> |
143 | | -``` |
144 | | - |
145 | | -## Prepared npm Commands |
| 102 | +## License |
146 | 103 |
|
147 | | -To see all prepared npm commands, run the following command `npm run`. This will output all commands with their settings, though this makes readability not easy. See the [npm documentation](https://docs.npmjs.com/cli/v11/using-npm/scripts) for more information. |
| 104 | +This project is licensed under the [AGPL-3.0](LICENSE). |
148 | 105 |
|
149 | | -Here is the list of commands and when to use them: |
| 106 | +## About the ownCloud OSPO |
150 | 107 |
|
151 | | -* `npm run lint` |
152 | | -Lint the UI bundle definition |
153 | | -* `npm run bundle` |
154 | | -Generate a new `ui-bundle.zip` file for local use |
155 | | -* `npm run preview` |
156 | | -Preview the bundle using the gulp. This previews a demo Antora build. |
| 108 | +The [Kiteworks Open Source Program Office](https://kiteworks.com/opensource), operating under |
| 109 | +the [ownCloud](https://owncloud.com) brand, launched on May 5, 2026, to steward the open source |
| 110 | +ecosystem around ownCloud's products. The OSPO ensures transparent governance, license compliance, |
| 111 | +community health, and sustainable collaboration between the open source community and |
| 112 | +[Kiteworks](https://www.kiteworks.com), which acquired ownCloud in 2023. |
157 | 113 |
|
158 | | -## Preview |
| 114 | +- **OSPO Home**: <https://kiteworks.com/opensource> |
| 115 | +- **GitHub**: <https://github.com/owncloud> |
| 116 | +- **ownCloud**: <https://owncloud.com> |
159 | 117 |
|
160 | | -### Preview Changes Using the ownCloud Documentation |
| 118 | +For questions about the OSPO or licensing, contact ospo@kiteworks.com. |
161 | 119 |
|
162 | | -If you want to preview your changes to the UI using the ownCloud documentation instead of demo content then you need to build a local copy of `ui-bundle.zip` and use it when generating the ownCloud documentation in your local development machine. |
| 120 | +### License Migration to Apache 2.0 |
163 | 121 |
|
164 | | -* First create a local `ui-bundle.zip` with the command described above. |
165 | | -* Then change into the respective documentation repository and run `npm run antora-dev-bundle`. |
166 | | -See the [Generating the Documentation](https://github.com/owncloud/docs#generating-the-documentation) description for more details. |
| 122 | +The OSPO is driving a strategic relicensing of ownCloud repositories toward the |
| 123 | +[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), following |
| 124 | +the [Apache Software Foundation's third-party license policy](https://www.apache.org/legal/resolved.html). |
167 | 125 |
|
168 | | -### Previewing Changes using a Demo Antora Build |
| 126 | +Individual repositories will migrate as their audit is completed. The LICENSE file |
| 127 | +in each repo reflects its **current** license status (not the target). |
169 | 128 |
|
170 | | -The following example runs a demo Antora **build** (_not ownCloud_) for the documentation site which can be **accessed** on your local development machine at `http://localhost:5252`. |
| 129 | +**Current license: AGPL-3.0** (Category X per Apache policy -- cannot be included in Apache-2.0 works). |
171 | 130 |
|
172 | | -To view your changes as you are working on them, run the following command: |
| 131 | +Migration prerequisites for this repository: |
173 | 132 |
|
174 | | -```Shell |
175 | | -npm run preview |
176 | | -``` |
| 133 | +- **CLA/DCO coverage**: All past contributors must have signed agreements permitting relicensing |
| 134 | +- **Copyleft dependency audit**: All AGPL/GPL dependencies must be replaced or isolated |
| 135 | +- **KDE heritage review**: Any code with KDE-era copyrights requires legal analysis |
| 136 | +- **Complete relicensing**: AGPL-3.0 is a strong copyleft license; migration requires full relicensing of all files, not just a header change |
0 commit comments