Skip to content

Applying the iCalendar and vCard models to common domains

License

Notifications You must be signed in to change notification settings

ical4j/ical4j-template

Repository files navigation

iCal4j Templates

iCalendar templates for common use-cases

Overview

iCal4j Templates is designed to make the iCalendar specifications more accessible by providing a discoverable API for common applications. For example, a simple meeting or task may not require the full functionality provided by iCalendar, but you still need to understand it in order to produce valid content.

This library aims to make it easier to construct valid iCalendar content without needing to read the specifications in full.

Templates includes in this library are used to create or modify iCalendar objects.

Domains

Template domains are simply a grouping of related templates that may be applied to a specific problem domain. Currently, the supported domains include:

  • Groupware - support for collaborative applications
  • Project - Project management
  • Agile - agile management processes
  • Workflow - Work management
  • Catalog - develop a service catalog
  • Wiki - knowledge management

Groupware

Support collaborative features such as calendar and task management, scheduling appointments and meetings, as well as journaling and note-taking.

Meeting

Meetings are scheduled with two or more participants, and may be created as follows:

VEvent meeting = new Meeting().start(ZonedDateTime.of(...))
    .required(URI.create("mailto:joe@example.com")).required(URI.create("mailto:sally@example.com"))
    .optional(URI.create("mailto:fred@example.com"))
    .chair(URI.create("mailto:vanessa@example.com")).apply();

Project

TBD.

Agile

TBD.

Workflow

Journal your workflows and deliverables as you work. Build a relational graph of people, teams, outputs and dependencies.

Catalog

Maintain a graph of customer and vendor relationships. Track offers and orders, and monitor customer satisfaction.

Wiki

TBD.