Giter VIP home page Giter VIP logo

ical4j-template's Introduction

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:[email protected]")).required(URI.create("mailto:[email protected]"))
    .optional(URI.create("mailto:[email protected]"))
    .chair(URI.create("mailto:[email protected]")).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.

ical4j-template's People

Contributors

benfortuna avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

ical4j-template's Issues

DSL/Specification

Template for input to builders. Used to specify data inputs in most efficient way.

Eg:

  • Anniversary
  • Schedule

Text formatting

Provide text templates for description, location and other text properties

Templates

Predefined templates.

  • roster
  • Sports fixture
  • timetable
  • timesheet
  • meeting
  • meeting minutes
  • project task
  • project schedule

Readme

Whilst the icalendar specification may be used to describe just about any activity or event, typically there are some use-cases that are more widely used than others.

Such use-cases may include birthdays and other anniversary-style observances, scheduling activities such as timetables, and historical activities including recording of meeting minutes.

ical4j-templates offers an opinionated view of how such popular activities may be structured, providing a simpler and consistent approach to event management.

Template: digest

A curated list of references and discussion on a particular topic.

Delayed notification

Sometimes you may have a process (manual or automated) that takes some time to propogate. For example, new DNS records, LDAP/active directory changes, etc.

Rather than send a notification requesting to wait for X minutes before you try to use it, it is better to schedule a notification on a delay, which can be done with a calendar vtodo alarm. Create an alarm with trigger X minutes after completion.

Template: anniversary

Attributes:

  • Anniversary-style events
  • Regional (Location)
  • Transparent
  • Summary/Description

Template: fixture

Sporting clubs typically have a published season fixture of when/where/who they are competing against.

A fixture is a group of events that identify things like:

  • date/time/duration of match
  • location
  • opposition team/competitor
  • booking/reservations

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.