2017 © Pedro Peláez
 

silverstripe-module silverstripe-calendar

Highly flexible calendar system for SilverStripe

image

titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  • Wednesday, November 22, 2017
  • by titledk
  • Repository
  • 6 Watchers
  • 35 Stars
  • 769 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 21 Forks
  • 9 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

SilverStripe Calendar

by Title Web Solutions, (*1)

The calendar for SilverStripe 3.x is a solid base for all your calendaring needs, it's built to be flexible and configurable so that it fits to most scenarios - both for web sites with public events, and web apps with private events - or a combination hereof., (*2)

Read the blog post about this module on silverstripe.org, (*3)

Preview, (*4)

NOTE

This was meant to be a premium module, but as of November 2014 we decided to open source it., (*5)

If you like it, and need help setting it up, we can do that for you. You can contact us here.
Below you'll find a wish list of features/amendmends we'd like to implement. If you miss a feature and/or would like to sponsor development, we're happy to do so at a discounted rate - if so, please contact us., (*6)

Pull requests are very welcome! But please, get in touch with us if you're planning to develop a feature., (*7)

You can also join the conversation about this module on Gitter: ![Gitter](https://badges.gitter.im/Join Chat.svg), (*8)

Demo

There's a demo site available on http://calendar.demo.title.dk.
On the demo site you can read more about the features, with practical examples., (*9)

The code for the demo is available at https://github.com/titledk/silverstripe-calendar-demo.
If you plan to use the calendar, start out installing this!, (*10)

Compatibility

  • For SilverStripe 3.1.x: branch 1.0
  • For SilverStripe 3.2.x: master / branch 1.1

For tested versions check out the Calendar demo, (*11)

Live examples

The module is used on the following sites:, (*12)

Are you using this module on your site? Let us know!, (*13)

Features

  • Extensible. Customize it any way you want, while the basic concepts are taken care of.
  • Solid, opinionated models.
  • Event/Calendar/Category relations allowing complex filtering.
  • Public/Private events.
  • All features are configurable, so if you only need the basics, you can turn the rest off.
  • Comprehensive calendar/event administration.
  • JavaScript enhanced edit event form, usable both on frontend and backend, with date picker, time picker and dropdown, and duration dropdown, still allowing manual inputs
  • Listing of events on the frontend through the CalendarPage
  • Frontend calendar view, using the fullcalendar jQuery plugin
  • Event Registrations (this might be moved to an external module)
  • Calendar colors with configurable color options, and JS color palette field (works on both frontend and backend) - shading calendars allow for holiday calendars etc. to appear in the background
  • No default frontend styling.
  • Composer based workflow. You’ll be able to add and update the module using Composer.

Weak points at the moment

  • The event model and administration is solid, but is missing recurring events
    • See the bottom of this readme file for our "wishlist"
  • Frontend templates
    • The demo is overwriting much of the templates in the calendar
      • Includes should be more generic
    • preferably we should have a Bootstrap and a Foundation module for these
  • Frontend styling
    • Would be nice with some easy-to-include Sass mixins
  • Registrations See also this discussion on event registrations

Contributors

License

MIT, (*14)

Installation

Add at least the following to your project _config.php:, (*15)

CalendarConfig::init();

See CalendarConfig on how to configure the module., (*16)

Screenshots

CMS

Calendar Add event, (*17)

Frontend

Add event Fullcalendar List, (*18)

Illustrations

Illustrations for the calendar structure are done in Omnigraffle.
The Omnigraffle document is part of this repository, under docs/img/silverstripe-calendar.graffle., (*19)

Concepts

This illustration outlines the basic calendar concepts:, (*20)

Concepts, (*21)

Structure

Current and planned structure (some of this might be moved to external repositories):, (*22)

Concepts, (*23)

Plan: Private Calendars

NOTE: Parts of this is already developed, so please contact us if you're planning to work on this., (*24)

Concepts, (*25)

Plan: Shared Calendars

Concepts, (*26)

Roadmap/Ideas/Plans

Wish List

  • Recurring events
  • Unit tests
  • Make everything translatable

Possible Improvements

  • Structure
    • consider using ss 3.1 config system
    • consider implementing the EventInterface, allowing everything to act as an event
    • hiding page types that are not enabled via the settings
      • see here for a reference
    • remove SS3.0 compatibility to make support for SS3.1 easier (make sure to make a tag w. SS3.0 compatibility)
  • Backend
    • Implement event search in sidebar (see CMSMAin->SearchForm())
    • Dashboard panel to display individual calendars' coming events, and jump to creation form
    • Backend usability review (together with concept review)
  • Frontend
    • template structure
      • go through includes and layout templates and see how they fit as building blocks
    • Change EventPage to be a DataExtension, and call it EventsPage. (We might need an update script for this.)

Versioning

We're trying to stick to the Semantic Versioning paradigm. That is:, (*27)

Consider a version format of X.Y.Z (Major.Minor.Patch). Bug fixes not affecting the API increment the patch version, backwards compatible API additions/changes increment the minor version, and backwards incompatible API changes increment the major version., (*28)

So:, (*29)

  • Go for the Master branch, if you want to live on the edge
  • Go for the latest version branch (e.g. 1.0) if you want minor changes and patches (choose the one that fit's your SilverStripe version, see above)
  • Go for the tags (1.0.0 and following), if you only want the actual releases

NOTE: If you think I'm missing something here, please let me know, @anselmdk on twitter, or through this repo's chat on Gitter., (*30)

The Versions

22/11 2017

dev-master

9999999-dev https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

The Requires

 

by Colin Burns

calendar events silverstripe

22/11 2017

1.2

1.2.0.0 https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

The Requires

 

by Colin Burns

calendar events silverstripe

04/11 2015

1.1.x-dev

1.1.9999999.9999999-dev https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

by Colin Burns

calendar events silverstripe

02/11 2015

1.0.x-dev

1.0.9999999.9999999-dev https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

by Colin Burns

calendar events silverstripe

21/10 2015

1.1.0

1.1.0.0 https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

by Colin Burns

calendar events silverstripe

01/10 2015

1.0.1

1.0.1.0 https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

by Colin Burns

calendar events silverstripe

15/11 2014

1.0.0

1.0.0.0 https://github.com/titledk/silverstripe-calendar

Highly flexible calendar system for SilverStripe

  Sources   Download

MIT

by Colin Burns

calendar events silverstripe