nextcloud / nextcloud/integration_discourse

Streamlining UX

Open
#13 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
18
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Hi. We're already running Nextcloud in our organization and are currently exploring different platforms for our volunteers to communicate with each other – including Discourse. If we go for it, we'd obviously like to use the Discourse integration. Unfortunately, the whole process seems a bit complicated.

First and foremost: Users should not have to enter the Discourse instance URL on their own. Instead it should be set system-wide by the admin. The added benefit would be that you could completely skip the redirect to the settings page. Instead, users just click the "Connect with Discourse" button on the Dashboard, accept the protocol authorization if necessary and get redirected to the Discourse server. I know, in some use cases, being able to change the Discourse instance URL on a per-user basis might be useful, but I definitely feel like this should be a setting and not the default.

Once the user accepts the Discourse API access, they should be redirected back to the Dashboard and not to the settings page. Search settings might also be managed globally, but for us they aren't relevant anyways.

Additionally, it might be a good idea to allow other ways of supplying the Discourse integration with a valid API key, but this might not be easily doable, so I'm just mentioning it aspirationally. This is our situation: All of our users log into our Nextcloud via OIDC (using this plugin), and we could include whatever data we like in the OAuth2 claim. So it would be super cool if we could pre-generate API keys for the users and then supply them to your plugin without them having to do anything. This is probably hard to achieve, especially because it would be implementation dependent and there's a few other OIDC/SAML apps out there.

Let me know what you think. If this sounds like a good idea to you, I could try and find some volunteers to help with implementation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin at the Dashboard’s “Connect with Discourse” flow and the settings page, then trace the Discourse API authorization return. Separate the requested system-wide instance URL and post-authorization redirect from the aspirational OIDC/OAuth2 API-key delivery idea. Done requires an agreed, testable scope for these behaviors.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, authentication, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.