nextcloud / nextcloud/integration_zammad
Open Zammad links in an iframe
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27
- Forks
- 4
- Avg merge
- 15d 21h
- Merged PRs (30d)
- 1
Description
How to use GitHub
- Please use the 👍 reaction to show that you are interested into the same feature.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Feature request
Which Nextcloud Version are you currently using: (see administration page)
Nextcloud Hub 9 (30.0.8)
Is your feature request related to a problem? Please describe.
The integration works well, but it still feels kinda detached as it opens Zammad Ticket links on a new tab/window. Loading it in an iframe inside Nextcloud would feel a lot more "native".
Describe the solution you'd like
Have a dedicated page and load it via an iframe (configurable via settings).
All the ticket links rendered should use the internal page url + zammad path for hash routing (see patch below).
Describe alternatives you've considered
I am currently using the External app and added a small patch for Zammad's hash routing (it is common in many SPAs).
The integration_zammad app doesn't use a universal url generator and I had trouble changing the ticket urls in all views (widget, search results, smart picker). This will take a bit of refactoring.
Perhaps the best solution would be to detect if the External app is enabled (since iframe based menus and hash routing are already there), and if it is add the Zammad connected server as an External site entry instead of the plain link to the menu.
Additional context
An iframe won't be loaded by default when Nextcloud and Zammad are hosted in different (sub)domains. I use nginx reverse proxy for Zammad with the following headers:
add_header X-Frame-Options "ALLOW-FROM my.nextcloud.domain";
add_header Content-Security-Policy "frame-ancestors my.nextcloud.domain";
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read lib/AppInfo/Application.php and inspect the widget, search-result, and smart-picker link generation mentioned in the issue; compare the External app’s iframe and hash-routing approach. Done means a dedicated configurable page loads Zammad in an iframe and all ticket links use its internal route, including the cross-domain framing requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, php
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100