Per-event custom logo for iMIP invitation emails
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
Is your feature request related to a problem?
When sending calendar invitations via iMIP, the Nextcloud logo is hardcoded in IMipService.php and embedded as a Base64 image in every invitation email. There is no way to customize this logo per event or per calendar, making it impossible to send branded invitations on behalf of organizations, clients, or different projects hosted on the same Nextcloud instance.
Describe the solution you'd like
Add a logo field to the calendar event editor (in nextcloud/calendar) that accepts an image upload (e.g. PNG, max. ~200 KB). This logo URL/data would be stored as a custom X-NC-LOGO property in the event's iCalendar data and picked up by IMipService.php when rendering the invitation email.
Fallback behavior: if no event-level logo is set, use the existing instance-wide Nextcloud logo (current behavior).
Describe alternatives you've considered
A calendar-level logo (instead of per-event) would already cover most use cases and might be simpler to implement, as calendars already have color/display-name metadata.
A theming/admin setting for a global custom logo exists, but does not allow per-event or per-calendar customization.
Manual patching of IMipService.php works but is not maintainable across updates.
Use case
Organizations running a shared Nextcloud instance for multiple brands, clients, or departments want invitation emails to reflect the correct branding — not the Nextcloud default logo.
Additional context
Frontend counterpart would be in nextcloud/calendar (event editor, new logo upload field)
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
Start by reading the hardcoded logo handling in IMipService.php and the event editor in nextcloud/calendar. Trace how event iCalendar data is stored and rendered into iMIP invitations. Done means a supported per-event or per-calendar logo is preserved as X-NC-LOGO, used in invitations, and falls back to the instance-wide logo when absent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100