Skip to content

Commit

Permalink
Added strategy skeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
benfortuna committed Sep 2, 2024
1 parent 51fd081 commit 9f1e585
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 1 deletion.
11 changes: 10 additions & 1 deletion docs/extensions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,16 @@

[![javadoc](https://javadoc.io/badge2/org.mnode.ical4j/ical4j-extensions/javadoc.svg)](https://javadoc.io/doc/org.mnode.ical4j/ical4j-extensions)

iCal4j Extensions is a Java library that provides support for widely used non-standard iCalendar objects (i.e. properties and parameters). These model extensions are implemented via the [object registry]]([ModelExtensions|custom) support in iCal4j.
## Overview

iCal4j Extensions is a Java library that provides support for extension (and some non-standard) iCalendar properties
and components. This includes support for [CalDAV](caldav.md) properties, common Calendar User Agents (CUAs) such as
[Microsoft Outlook](outlook.md), and convenience implementations of components and properties not explicitly defined in the core
specifications.

This library also defines a collection of [strategies](strategy.md), which are opinionated approaches to constructing iCalendar
and vCard objects for common use-cases.


## Usage

Expand Down
47 changes: 47 additions & 0 deletions docs/extensions/strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,50 @@ properties specific to a certain use-case.
iCal4j Extensions includes strategies for popular scenarios, such as scheduling
meetings or appointments, as well as organizational management strategies for
teams and individuals.

## Strategy Features

The following tables outline the different features of various strategies, which may help when choosing
an appropriate strategy to use.

### VEvent Strategies

| Strategy | Participants | Transparency | Recurring | Precision | Classification |
|-------------|--------------|--------------|-----------|-----------|----------------|
| Meeting | 2+ | Opaque | Optional | Time | Private |
| Appointment | 1 | Opaque | Optional | Time | Confidential |
| Anniversary | 1 | Transparent | Annually | Date | Public |
| Observance | 1 | Transparent | Mandatory | Time | Public |

### VToDo Strategies

| Strategy | Participants | Transparency | Recurring | Precision | Classification |
|-----------|--------------|--------------|-----------|-----------|----------------|
| Task | 1+ | Opaque | Optional | Time | Private |
| Action | 1 | Transparent | Optional | Date | Private |
| Agenda | 1+ | Transparent | Optional | Time | Private |
| Issue | 1+ | Transparent | No | Date | Public |
| Milestone | 1+ | Transparent | Optional | Date | Public |
| Request | 1 | Transparent | No | Time | Public |
| Approval | 1 | Transparent | No | Time | Public |

### VJournal Strategies

| Strategy | Participants | Transparency | Recurring | Precision | Classification |
|------------|--------------|--------------|-----------|-----------|----------------|
| Note | 1+ | Transparent | No | Time | Private |
| Attendance | 1+ | Transparent | No | Time | Public |
| Decision | 1+ | Transparent | No | Date | Public |
| Risk | 1+ | Transparent | No | Time | Public |
| Objective | 1+ | Transparent | Optional | Time | Public |
| Timesheet | 1 | Transparent | Mandatory | Time | Public |

### vCard Strategies

| Strategy | Structured Name | Members | Geographic Position | Delivery Address | Language |
|--------------|-----------------|---------|---------------------|------------------|----------|
| Individual | Yes | No | No | Optional | Optional |
| Organization | No | No | Yes | Optional | No |
| Team | No | Yes | Optional | Optional | Optional |
| Location | No | No | Yes | No | No |

0 comments on commit 9f1e585

Please sign in to comment.