Open Source Event Calendar

Descrição

An event calendar with native iCal / ICS import and export

Features

All features are provided in their entirety. No features are locked behind any add-ons.

  • Full iCal / ICS import & export
    • Automatically import external calendars
    • Categorize and tag imported feeds
  • Recurring events, including complex recurrence rules (RFC 5545)
  • Filtering by category and tag
  • Calendar sharing with Google Calendar, Apple iCal, Outlook, and any other system that accepts iCalendar (.ics) feeds
  • Month, week, day, and agenda views
  • Upcoming Events Gutenberg block
  • Direct links to filtered calendar views
  • Color-coded events by category
  • Featured event images and category images
  • SEO-optimized event pages
  • Mobile-friendly and responsive layouts
  • Embedded OpenStreetMap
  • Theme options to customize your calendar appearence
  • Your calendar can be embedded into a WordPress page without needing to create template files or modify the theme.

Import events from other calendars and offer users the ability to subscribe to your calendar.

Importing and exporting iCalendar (.ics) feeds is one of the strongest features of the Event Calendar system. This allows you to manage your websites calendar by providing a public calendar from your Google, Apple or other calendar management software.

Blocks

You can embed the calendar by adding a OSEC Calendar Block to any page or post. Alternatively there is a shortcode available.

[!WARNING]
At this time, only one calendar per page or post is supported.

On the long run it’s planned to have a Rest API to allow the calendar being rendered with more modern frontend tools than the current, outdated, but nice old Bootstrap 3 stuff.

Shortcodes

Calendar Views

[osec]                       // Default view per settings
[osec view="monthly"]
[osec view="weekly"]
[osec view="agenda"]
[osec view="daily"]

Filtering

By category

[osec cat_name="Holidays"]
[osec cat_name="Lunar Cycles,zodia-date-ranges"]
[osec cat_id="1"]
[osec cat_id="1,2"]

By tag

[osec tag_name="tips-and-tricks"]
[osec tag_name="creative writing,performing arts"]
[osec tag_id="1"]
[osec tag_id="1,2"]

By post ID

[osec post_id="1"]
[osec post_id="1,2"]

Requirements

  • WordPress: 6.6 or newer
  • PHP:
    • PHP 8.2+ required for development
    • PHP 8.1 may work for production builds when installed with composer install --no-dev

Languages

OSEC supports multiple languages

This Is a Fork

OSEC is a fork of the GPL licensed plugin All-in-one-Event-Calendar by Timely. At it’s time a great plugin with a solid but unmaintainable codebase (not all required developer tools where opensourced).

If you love truly open source software and don’t mind to get your hands dirty you should join here. Free people need free software to manage and share events in a selfhosted manner.

External services

OSEC may connect to OpenStreetMap to render maps. If you using maps feature make sure you agree with Terms of Service

OSEC may connect to OpenStreetMap Nominatim geocoding API. Terms of Service.
You may need to switch the servive on a heavy traffic site as Nominatim allows an absolute maximum of 1 request per second.

By default leaflet and leaflet-control-geocoder are loaded from unpkg.com. Terms of Service.

You can change using hooks: osec_leaflet_library_alter, osec_leaflet_geocoder_library_alter.

Migration Notes

Database structure is not fully compatible with All-in-One Event Calendar v2.3.4

Migration may be possible with manual effort

A standardized upgrade path may be developed if there is demand and contributions

See this wiki for currently known information on migrating.

Development & Support

The principle behind this plugin is to be Open Source. Get in touch on GitHub to report issues, propose feature enhancements, and get general guidance for contributing.

Writing this fork was a huge effort.

Digitaldonkey believes everybody should be able to set up and manage public calendars.

If you are implementing this plugin for others you should support ongoing development with a donation or contribution.

Be a maker😀

Those wishing to contribute to the development of this project, please see the Development Guide for more information.

Capturas de tela

  • Month view
  • Week view
  • Agenda view
  • Calendar Block UI
  • Manage iCal Feeds
  • Recurring Events
  • Cache Settings
  • Mobile Agenda View
  • Schema.org/Event data validator

Blocos

Este plugin disponibiliza 1 bloco.

  • Osec Calendar Osec classic Bootstrap block.

Instalação

Install as any other plugin, or from GitHub.

Setup steps

  1. Open the plugin settings page and save once
  2. Configure:
    • Timezone
    • UI date formats
    • Week start day
  3. Review WordPress Settings General for output date formats.
  4. (Optional) Override constants file:
    Copy constants-local.php.example and save as constants-local.php

To remove all plugin data on uninstall, set: define('OSEC_UNINSTALL_PLUGIN_DATA', true);

Perguntas frequentes

“I really need feature XYZ”

Let’s draft it out on GitHub. You could donnate/pay me development time to get it contributed. Invoices possible. Or feel free to implement the requested feature yourself and create a Pull Request for it.
I may also provide paid support.

Avaliações

Não há avaliações para este plugin.

Colaboradores e desenvolvedores

“Open Source Event Calendar” é um programa de código aberto. As seguintes pessoas contribuíram para este plugin.

Colaboradores

Registro de alterações

1.1.0

  • OpenStreetMap support including Geocoding in Edit form.
  • Added full schema.org/Event support for single Event page using plana theme. Check search engine readability.
  • Reworked backend forms: Event edit, Themes, Theme options, Settings, Feeds.
  • Reworked PLANA theme fit better into current WP standard themes.
  • Removed outdated Google Maps support.
  • Reworked Readme.md to look better on github. Build tool to generate Readme.txt from Readme.md, CHANGELOG.md and constants.
  • Automated WordPress plugin directory deployment
  • Excerpt support: Enables to write Event summary and content separately.
  • Ability to enable/disable features: Location, Excerpt, Maps, Coast, Comments, Shortcodes.

1.0.11

  • Beautified Theme options admin page
  • Adjusted information text on settings page
  • Back button url is not stored in cookie die to missing div#id. Fixes #16
  • Fixing Can not selext Sunday in admin page settings fixes #14
  • Add legacy Uri support for Ical feeds. Maybe Fixes: #12
  • Cleanup Metaboxes, fix Metabox-Editing, remove unnecessary constants.

1.0.10

  • Beautified Admin Theme admin page
  • Twigify Admin Theme theme-row.
  • Add more plugin-check fixes, escape shortcodes,

1.0.7

  • Fix additional redirect happening due to trailing slash in Link
  • Fix custom font. Closes #8
    More WP plugin check work.
  • Renaming capabilities with prefix
  • Rename Taxonomies: events_categories, events_tags, events_feeds to osec_events_categories, osec_events_…
  • Fix some default value issues, timezone default
  • clean up translations, nonces, prefixes
  • migrate php templates to twig
  • Rework/fix: robots.txt generation, exact_date, get_exact_date, variable variants,
  • Updates: WP phpcs config, tools (npm) and composer updates

1.0.4

  • Fix: Move content display out of OSEC block
  • Fix: subscribe display settings inverted.
  • Disallow direct file access
  • Renaming capabilities consistently
  • composer upgrade

1.0.3

  • Allow all data attributes in Kses. Fixes persisten admin notices can not be dismissed.
  • fix overriding time/date-separators using i18n

1.0.2

  • Rework translation at German example (I love Loco Translate)
  • Fixed: Category image will now be used as default featured image in single event view.
  • Fixed: Function _load_textdomain_just_in_time was called incorrectly.
  • If toggle in Agenda view is disabled link to the single Event on title click.
  • Fixed: “Click on title toggles when toggler is disabled.”
  • Fixed: OSEC_PARSE_LESS_FILES_AT_EVERY_REQUEST does not work but lead to undefined variables.
  • Enabled disabling the Print icon in settings.
  • Improve (responsive) Linebreaks in date views with non-breaking spaces.
  • Simplified Plana theme to apply more WP global styles.
  • Update Twi-js tooling enables updating Twig-JS based templates for frontend-rendering
  • Simplify plana singe page template
  • Fix Category image upload UI and add option to use fallback image if no post featured image is set.

1.0.1

  • Add more integration tests

1.0.0

  • Rework query params, fixed date pagers
  • Reworked date display to be consistent for Single and multiday and Allday Events.
  • Add flexible width Gutenberg Calendar Block
  • Removed Widget and Agenda Widget.
  • Reworked date display to be consistent.

0.9.0

  • Added Sourcemaps for CSS (requires OSEC_DEBUG )
  • Documented hooks and actions (@see hooks-and-filters.md)
  • Added WP > 6 compatibility
  • Reworked plugin using PHP-Composer, Added PHP8 compatibility. Replaced Registry class loading with PHP use-statements
  • Removed tons of unused, service integration and legacy code.
  • Rewrote install/Uninstall/bootstrapping. You can purge all data on uninstallation by setting OSEC_UNINSTALL_PLUGIN_DATA to TRUE.
  • Cleand up unclear date formatter settings. Frontend Date formats are now defined/changed in WordPress settings-general page.
  • Removed legacy theme support, merged chains of purposeless inherited classes, renamed many things hopefully improving code clarity and maintainability.
  • Fixed Week-view date selection.
  • Fixed/rewrote caching system. Added APCU caching.
  • Added Test environment working well in ddev. Based on WP handbook standards plugin-unit-tests.
  • Upgrade strings to match current translation requirements.
  • Solving WordPress “Plugin Check” minimum requirements.