For the last few years I have used Owncloud, which is a full-featured hosting solutions for files, contact, calender, etc. It turned out I only use the calendar part of it, and found the complexity of that full suite a bit too much. Upgrading always gave me issues. I was planning to switch to Nextcloud, which is basically the same thing, but I decided against that. If I am switching anyway, I could just as well switch to something more to the point and with simplicity included.
First I played with a real calendering server, Radicale. I combined that with a web GUI in the form of AgenDAV. Both simple implementations and seemingly what I wanted. But I had some integration issues, not everything worked right, like moving items to a different day, or editing an existing item.
So I started looking for a WordPress solution. All I need in a calendar solution is:
- Simple interface per month with tiles for each day.
- Frontend editing.
- Only one user.
- Each item has just a day and title. A color per category would be a nice extra.
- Authentication with a user/password form.
What I do not need:
- Multiple users.
- Public or shared calendars.
- Vcards, caldav, ical integration.
- Shared files.
I found the Calendar Event Multi View plugin to best fit my needs. You can easily add a shortcode with a calendar to a page, in my case the frontpage of the site. It is also easy to enable frontend editing. It just works the way I was looking for.
The theme I made a child theme for was Twenty Sixteen. I called it Personal Calendar and it is available on GitLab. It has some custom CSS and adds a grey Calendar color scheme to Twenty Sixteen.
The page template has a login form for non-logged-in users, and after login shows the calender.
Everything else has been stripped from the templates and it is all simply aimed at being a good calender theme.
The result is just a one page design with a calendar on the frontend of that site. It lives on a personal subdomain.