Skip to content

Feature: Publish Collective as Static Website - #2769

Draft
code4candy wants to merge 26 commits into
mainfrom
feature/collectives-publish
Draft

code4candy wants to merge 26 commits into
mainfrom
feature/collectives-publish

Conversation

@code4candy

@code4candy code4candy commented Sep 10, 2026 •

Copy link
Copy Markdown

📝 Summary

This is the first step towards the publishing feature, that we implement as part of the funding program Prototype Fund (get more information here: https://github.com/nextcloud-publish). This is not going to be merged after a first review, but works as intermediate working tree for the feature.

Description

To initiate the publication of a website, each Collective should have a Publish button that opens a modal window where the publishing process can subsequently be configured.

The page selection and configuration process itself is out of scope for this issue.

Acceptance Criteria

  • A Publish button is available in the three-dot menu of a Collective, below the Share Link option.
  • Only the admin/owner of a Collective can use the Publish function.
  • The Publish function can be globally enabled or disabled via the Nextcloud Admin Settings.
  • If the function is disabled, the Publish button is not visible in the Collective menu.
  • The Publish function is disabled by default.
  • Clicking the Publish button opens a modal window that already displays the name of the Collective.

🖼️ Screenshots

Screenshot From 2026-09-01 16-04-21 Screenshot From 2026-09-01 16-05-02 Screenshot From 2026-09-01 16-05-17

🚧 TODO

  • ...

🏁 Checklist

  • Code is properly formatted (npm run lint / npm run stylelint / composer run cs:check)
  • Sign-off message is added to all commits
  • Tests (unit, integration and/or end-to-end) passing and the changes are covered with tests
  • Documentation (README or documentation) has been updated or is not required

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI tools
  • The AI-generated content was reviewed, comprehended and tested by a human

@mejo- mejo- left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks great 😊 I have some comments on the backend part, the frontend looks fine from reading the code.

Comment thread lib/AppInfo/Application.php Outdated
Comment thread lib/Service/PublishSettings.php Outdated
Comment thread playwright/e2e/collective-publish.spec.ts Outdated

test.describe('Collective publish', () => {
test('admin can open publish modal', async ({ collective, navigation, page }) => {
await runOcc(['config:app:set', 'collectives', 'publish_enabled', '--value', 'true'])

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it helps to move the runOcc command to beforeEach()? You seem to do it at the start of all tests anyway.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@kjoscha
kjoscha force-pushed the feature/collectives-publish branch 2 times, most recently from 7cebf56 to 63fc23e Compare September 22, 2026 08:55
@kjoscha

kjoscha commented Sep 22, 2026 •

Copy link
Copy Markdown
image

Since the settings area is not in the Collectives scope, we should prefix the header with collective or BETTER move both settings under a "Collectives" heading

@kjoscha
kjoscha force-pushed the feature/collectives-publish branch 2 times, most recently from 13eabe3 to 20f507c Compare September 22, 2026 12:40
@github-actions

Copy link
Copy Markdown
Contributor

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

@mejo- mejo- left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes in this PR look good now. Ideally you could merge the three commits into one and then it would be ready to be used as the base for future PRs to be merged into it from my side 😊

Melpo and others added 16 commits October 7, 2026 22:59
Signed-off-by: kayoshi <jo5cha@web.de>
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: kayoshi <jo5cha@web.de>
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: kayoshi <jo5cha@web.de>
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
…json

Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
…h restriction

Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
@code4candy
code4candy force-pushed the feature/collectives-publish branch from 9ca1098 to 37ee4ef Compare October 7, 2026 21:03
Melpo added 4 commits October 7, 2026 23:28
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Melpo and others added 6 commits October 7, 2026 23:28
Signed-off-by: Melpo <melpomene@posteo.net>
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Melpo <melpomene@posteo.net>
Assisted-by: ClaudeCode:claude-sonnet-5

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants