Go to file
Jonas Heinrich df2d51b666 feat: Ability to invite circles
This commit adds support for adding circles as attendees to a calendar event.
The relationship between the imported group and members will be compliant with
the iCal specification.

A circle with the title "testcircle" will be added as an attendee with iCal
attributes "CUTYPE=GROUP` and uri "mailto:circle+CIRCLEID@CIRCLE_INSTANCE".

Members of the circle will be imported as standard attendees. Each member gets
assigned to the circle group entry by assigning them to the group uri using the
iCal member property: "MEMBER='mailto:circle+CIRCLEID@CIRCLE_INSTANCE'".

Searching for circles is only enabled if the circles app is activated.

Circles added to the list of attendees get imported only once and are not
synced yet. While adding a circle, a notice about this is shown to the user.
Only members of local circles which are local users get imported.

Rendering groups in the frontend is done in a separate PR
https://github.com/nextcloud/calendar/pull/5396

Signed-off-by: Jonas Heinrich <heinrich@synyx.de>
2023-12-04 18:33:36 +01:00
.github chore(deps): bump shivammathur/setup-php digest 2023-12-04 05:12:47 +00:00
.tx [tx-robot] Update transifex configuration 2022-10-01 02:21:05 +00:00
appinfo feat: Ability to invite circles 2023-12-04 18:33:36 +01:00
composer perf(autoloader): Use Composer's authoritative classmap 2023-01-20 12:07:06 +01:00
css Fix overlapping toggle also in Firefox 2023-09-25 10:58:38 +02:00
img Merge pull request #4511 from IlijazM/main 2022-10-28 12:20:50 +02:00
l10n Fix(l10n): Update translations from Transifex 2023-12-02 00:31:55 +00:00
lib feat: Ability to invite circles 2023-12-04 18:33:36 +01:00
screenshots Update info.xml screenshots 2023-04-06 22:57:23 +02:00
src feat: Ability to invite circles 2023-12-04 18:33:36 +01:00
templates Remove leftover icon stylesheet 2022-09-13 10:27:02 +02:00
tests feat: Ability to invite circles 2023-12-04 18:33:36 +01:00
vendor-bin chore(deps): bump nextcloud/coding-standard from 1.1.0 to ^1.1.1 2023-11-06 10:38:51 +01:00
.editorconfig chore: replace dependabot with renovate 2023-06-02 11:51:44 +02:00
.eslintrc.js use new nc packages for dev dependencies 2020-03-03 14:48:29 +01:00
.gitignore chore(deps): Move tools into a Composer bin 2023-02-28 11:03:51 +01:00
.nextcloudignore chore: Set up static analysis 2023-06-29 15:36:28 +02:00
.php-cs-fixer.dist.php chore: fix path for php-cs-fixer autoloader 2023-11-06 10:38:51 +01:00
.scrutinizer.yml Remove bower and replace every dependency with npm ones 2018-08-06 15:06:53 +02:00
.stylelintignore Fix lint 2021-06-25 14:38:26 +02:00
CHANGELOG.md fix: update changelog v4.5.3 2023-11-07 22:22:47 +01:00
COPYING Add a proper AGPLv3 license file 2016-09-17 15:17:37 +02:00
README.md adjust README build instructions #5478 2023-09-21 14:16:10 +00:00
babel.config.js Bump deps and use npm7 2021-06-25 14:38:07 +02:00
composer.json Add PHP8.3 support 2023-10-20 11:22:14 +02:00
composer.lock Add PHP8.3 support 2023-10-20 11:22:14 +02:00
krankerl.toml Generate optimized autoloaders in krankerl config 2022-06-10 22:10:26 +02:00
package-lock.json build: release v4.6.0-rc1 2023-11-27 20:15:38 +01:00
package.json build: release v4.6.0-rc1 2023-11-27 20:15:38 +01:00
phpunit.integration.xml chore: add integration tests to CI 2023-07-03 15:56:01 +02:00
phpunit.unit.xml Test against php8 2021-01-14 16:13:24 +01:00
psalm.xml feat: Ability to invite circles 2023-12-04 18:33:36 +01:00
renovate.json chore(renovate): add multimonth to fullcalendar family 2023-10-13 23:50:16 +02:00
stylelint.config.js Bump deps and use npm7 2021-06-25 14:38:07 +02:00
webpack.config.js Remove iconfont 2022-10-13 18:04:19 +02:00

README.md

Nextcloud Calendar

GitHub Workflow Status Codecov

A calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.

💙 🎉 Why is this so awesome?

  • 🚀 Integration with other Nextcloud apps! Like Contacts, Talk, Tasks, Deck and Circles
  • 🌐 WebCal Support! Want to see your favorite team's matchdays in your calendar? No problem!
  • 🙋 Attendees! Invite people to your events
  • Free/Busy! See when your attendees are available to meet
  • Reminders! Get alarms for events inside your browser and via email
  • 🔍 Search! Find your events at ease
  • ☑️ Tasks! See tasks or Deck cards with a due date directly in the calendar
  • 🔈 Talk rooms! Create an associated Talk room when booking a meeting with just one click
  • 📆 Appointment booking Send people a link so they can book an appointment with you using this app
  • 🙈 Were not reinventing the wheel! Based on the great c-dav library, ical.js and fullcalendar libraries.

🛠️ Installation

The app is distributed through the app store and you can install it right from your Nextcloud installation.

Release tarballs are hosted at https://github.com/nextcloud-releases/calendar/releases.

📡 Support

If you need assistance or want to ask a question about Calendar, you are welcome to ask for support in our Forums. If you have found a bug, feel free to open a new Issue on GitHub. Keep in mind, that this repository only manages the frontend. If you find bugs or have problems with the CalDAV-Backend, you should ask the team at Nextcloud server for help!

🌍 Supported Browsers

  • Chrome/Chromium 76+
  • Edge 40+
  • Firefox 60+
  • Internet Explorer 11
  • Safari 12.1+

Maintainers

Build the app

To build you will need to have Node.js and Composer installed.

  • Install PHP dependencies: composer install
  • Install JS dependencies: npm ci
  • Build JavaScript for the frontend
    • npm run dev development build
    • npm run watch watch for changes
    • npm run build production build

Read more about necessary prerequisites for manual installs.

Running tests

You can run the following back-end and front-end tests by using:

composer test
npm run test

✌️ Code of conduct

The Nextcloud community has core values that are shared between all members during conferences, hackweeks and on all interactions in online platforms including Github and Forums. If you contribute, participate or interact with this community, please respect our shared values. 😌

❤️ How to create a pull request

This guide will help you get started: