Parts of the whole
Be aware. As we are in the pre-release phase not everything works exactly as discribed here.
During my first year maintaining the cal extension I figured out that, as much value lays in it, it was totally cluttered with a lot of stuff. And due to the nature of changing requirements, a lot of stuff lays around dorment without any maintainance. To be honest, it was very sad to see so many nice feature rotting around. But I wasn't able to pick up all the pieces, because some of the features rely on long outdated extension. Does some of you out there remember the wec_ extensions? I am talking that kind of outdated :-)
So in a weak moment I decided to rewrite the whole bunch. And I took the aproach to split a the features into different extension. You might say that this is a rather academic aproach, that might result in a lot of differnt extensions that be even more cluttering. And I am with you on this one. But in the end I guess it is more easy to create a couple of different extensions that connect well to each other. This way I can contain each madness in its own bubble. And if I decide to abandon one part of the whole (maybe because I'm under the impression, that this feature is no longer needed or used), it is much more easier for any of you to pick up this particular piece.
Core extensions
Calendar Foundation
https://gitlab.com/janhelke/calendar_foundation
composer req janhelke/calendar-foundation
The very heard of the calendar_framework. Everything backend related about entering new entries, indexing them into real events (incl. exceptions and derivations) and group stuff together in calendars.
Calendar API
https://gitlab.com/janhelke/calendar_api
composer req janhelke/calendar-api
The first point to connect to the calendar_framework from the outside (as in "another server" or "another application").
Calendar API Client
https://gitlab.com/janhelke/calendar_api_client
composer req janhelke/calendar-api-client
This is the counterpart of the calendar_api extension. Every request from a client to the server of your calendar needs to be routed thru this extension. This will become even more important as I plan to implement encrypted communication between the server and the client.
Calendar Frontend
https://gitlab.com/janhelke/calendar_frontend
composer req janhelke/calendar-frontend
A very basic implementation of a frontend interface. Contains a rough list as well as an basic implementation of the JavaScript calendar framework FullCalendar. It should fullfill the need for a nice calendar interface in the frontend but it can't work miracles. But as this extension makes use heavily of the calendar_api_client extension, it is a perfect extension to start your own customized frontend.
Adjecent extensions
Calendar Migration
https://gitlab.com/janhelke/calendar_migration
composer req janhelke/calendar-migration
This extension is a courtesy to all of you out there using currently cal and want to migrate to a reliable new calendar. Is aims to migrate almost everything over from a of-the-rack cal installation (as long as the feature is implemented somewhere within the calendar_framework). But please keep in mind, that no extension will every be able to migrate everything of your own customized cal-extending extensions. But at least it is a good start and you are encouraged to build your own migration wizards. For the time being I will handle this extension like a core extension to make your transition from cal to the calendar_framework as smooth as possible.
Calendar Demonstration
https://gitlab.com/janhelke/calendar_demonstration
Just for the sake of completeness: This extensions sole purpose is to create all the events you can find on the demonstration page in a regular maner. So it takes care, that every time you open the demo page, you'll a couple of events even if no one created them by hand.