github sproctor/php-calendar v3.0.0-alpha.1
PHP-Calendar 3.0.0-alpha.1

pre-release3 hours ago

The first preview of PHP-Calendar 3: a rewrite of the whole application on Symfony, with a modern
interface, 26 languages, and calendar feeds. It's an alpha for trying out and reporting
problems; 2.0.14 is more tested, but lacks a lot of the UI polish that has gone into this alpha.

If you're on the 2.0 branch, stick with 2.0 until there's a final 3.0 release. If you want to test out
the new features, do so on a different database or make sure to backup your database first.

Requirements

  • PHP 8.3 or later, with the intl and pdo_mysql extensions
  • MySQL or MariaDB
  • On Apache, mod_rewrite and .htaccess files enabled; on nginx, serve the public/ folder

No command line or Composer is needed: everything the calendar uses is in the download.

Installing

  1. Download php-calendar-3.0.0-alpha.1.zip below and unpack it.
  2. Upload the php-calendar-3.0.0-alpha.1 folder to your web host: point the web server at its
    public/ folder, or upload it into the folder your site serves (e.g. public_html/calendar/).
  3. Make sure the web server can write to the folder and to var/ inside it.
  4. Open it in your browser. The installer asks for the database and a table prefix (phpc3_ by
    default, so the calendar can share a database with other apps), then creates your first calendar
    and admin account, or imports a 2.0 calendar from the same database.

Finish the installer soon after uploading: until then, anyone who finds the site could complete it.

Coming from 2.0

The installer offers to import a 2.0 calendar in the same database, or run
bin/console app:import-2.0 against any database (--dry-run checks it first). The 2.0 tables
aren't changed.

  • Users keep their passwords; old MD5 passwords are upgraded when each person next logs in.
  • Calendars, permissions, categories, events and their dates come across. 2.0 groups become roles.
  • Date format, 24-hour time, first day of the week and themes aren't imported: 3.0 formats dates
    for each visitor's language and region.
  • Links to the old calendar (index.php?action=…) don't redirect to the new pages.

What's new

Looks and works on any screen

  • Bootstrap 5.3 interface with light, dark and automatic modes
  • Month view, with an agenda list on phones, and a day view listing each day's events
  • 26 themes (Bootstrap and Bootswatch) per calendar or site-wide, plus your own in themes/
  • No requests to third-party servers: no CDNs, no web fonts from Google

Languages and time zones

  • 26 languages: the 2.0 community translations, completed by machine translation where 3.0 has new
    wording (corrections welcome), including right-to-left Hebrew
  • Dates, times and the first day of the week follow each visitor's language and region
  • Times are shown in the calendar's time zone, with a one-click switch to the visitor's own
  • Each calendar can have a default language; visitors' language choice is remembered

Events

  • Repeating events (daily, weekly, monthly, yearly), all-day, multi-day and to-be-announced events
  • Locations, with links for online events; descriptions in Markdown
  • Custom fields per calendar, categories with colors, and categories limited to a role
  • Delayed publishing, read-only events, and removing several dates of an event at once
  • Search by text and date range

Sharing

  • Subscribe from Google Calendar, Apple Calendar, Outlook and others: a public iCalendar feed for
    public calendars, and personal feed links that include what only you can see
  • Embed a calendar in another website with one line of HTML
  • Public events are described for search engines (schema.org)

Accounts and administration

  • Roles in place of groups, with per-user and public permissions per calendar
  • Log in with a username or an email address; "Keep me logged in" for 30 days
  • Password reset by email, and email address confirmation (Admin → Email sets up sending)
  • Upgrades: upload the new version and an admin updates the database from the browser

Known issues

  • This is an alpha: expect rough edges, and report them on
    GitHub.
  • Most translations are machine-made where 2.0 had no wording; native speakers can correct them.

Full Changelog: v2.0.0...v3.0.0-alpha.1

Don't miss a new php-calendar release

NewReleases is sending notifications on new releases.