File: docs/README.txt

Recommend this page to a friend!
  Classes of Kjell-Inge Gustafsson  >  PHP Mantis Export to iCal  >  docs/README.txt  >  Download  
File: docs/README.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: PHP Mantis Export to iCal
Export Mantis bug reports in iCal format
Author: By
Last change:
Date: 1 year ago
Size: 5,395 bytes
 

Contents

Class file image Download
IcalExport: Mantis iCal Export Plugin
=====================================

Copyright (C) 2013-2019 Kjell-Inge Gustafsson, kigkonsult, All rights reserved.
author     Kjell-Inge Gustafsson, kigkonsult
link       http://github.com/iCalcreator/IcalExport
license    GNU Lesser General Public License
IcalExport 2.0 - 2019-03-25


The IcalExport Plugin adds calendar export capabilities to MantisBT.


Export selected [MantisBT] issues
as iCal ([rfc2445]/[rfc5545]) calendar tasks (i.e. TODOs)
in a iCal media file (extension .ics)
for import into
- public calendars
- business/organization calendars
- private calendars in a PC, pad or smartphone
- etc

The IcalExport plugin adds buttons for calendar export in the 'View issues'
and 'view' (issue) pages.


You will find an iCal summary as http://en.wikipedia.org/wiki/ICalendar.
The iCal standards are rfc5545/rfc5546 (obsoletes rfc2445/rfc2446):
rfc5545
'Internet Calendaring and Scheduling Core Object Specification',
download from https://tools.ietf.org/html/rfc5545rfc5545,
rfc5546
'iCalendar Transport-Independent Interoperability Protocol (iTIP)
Scheduling Events, BusyTime, To-dos and Journal Entries',
download from https://tools.ietf.org/html/rfc5545rfc5546.


You can found the previous version (1.06) on github as tab, 1.06.


REQUIREMENTS:
-------------
Made for and tested with
- PHP >= 5.6
- MantisBT version 2.20.0
- iCalcreator (version >=2.27.16!), not included


INSTALLATION:
-------------

Unstall any previous version of IcalExport.

Download and extract the IcalExport plugin in the 'plugins' directory,
sub-directory 'IcalExport'.

Download iCalcreator from  https://github.com/iCalcreator/iCalcreator/ and
extract into the 'api' folder. Access to the 'api/iCalcreator/autoload.php'
is required.


In 'Manage' and 'Manage Plugins', you should find and install 'IcalExport'.

There is no configuration.


Calendars (and Vtodos) produced with previous version of IcalExport do not
correlate with Calendars (and Vtodos) produced with this version of IcalExport.


DESCRIPTION:
------------
The iCal media file with vcalendar and vtodo components are built as follows;

First, a <site/system unique id> is set, based on the MantisBT 'hostname' part
config from "config_get( 'nostname' )" and used in each TODO component, below.

METHOD
  value 'PUBLISH'
  The created iCal TODO calendar is simply a 'posting' one, NO 'request' TODO
  calendar (i.e. assuming that issues are already assigned).

Some iCal calendar properties are set, optional in rfc5545 but 'required' by
some calendar software:
X-WR-CALNAME
 value: user_name + ' issues'
X-WR-CALDESC
 value: user_name + ' issues at ' + <site/system unique id> + <date>
X-WR-TIMEZONE
 value: 'UTC'

For each bug report, an iCal VTODO component is created with the following
properties and base input values :

UID
  based on MantisBT bug report properties 'date_submitted' and 'id' and the
  <site/system unique id>
  ex. '20131026T183425Z-12345@kigkonsult.se'
DTSTAMP
  component timestamp (create) date, automatically created by iCalcreator.
  The date timezone is 'UTC'.
DTSTART
  from MantisBT bug report property 'date_submitted' (if assigned on
  registration) or the assign date
  The date timezone is 'UTC'.
SEQUENCE
  from the number of bug (history) updates
SUMMARY
 from MantisBT bug report property 'summary', if missing, empty.
PRIORITY
  from MantisBT bug report property 'priority', if missing, 'priority'-
  value 'unknown is set'.
  MantisBT bug report properties 'reproducibility' and 'severity' are
  set as (x-)parameters.
ORGANIZER
  from MantisBT bug report property 'handler_id'.
  Also set as ATTENDEE with role CHAIR.
  If no 'handler_id' is set, user is set.
URL
  a link back to the MantisBT bug report
CREATED
  from MantisBT bug report property 'date_submitted'.
  The date timezone is 'UTC'.
LAST-MODIFIED
  from MantisBT bug report property 'last_updated' (if not equal to
  'date_submitted').  The date timezone is 'UTC'.
DUE
  from MantisBT bug report property 'due_date', if set.
  If 'due_date' is missing and 'eta' is set, a DUE date property is created,
  based on 'date_submitted' properties.
  The date timezone is 'UTC'.
CATEGORIES
  from MantisBT bug report property 'category' and
  each MantisBT bug report 'tag' creates (additional) CATEGORIES
CLASS
  from MantisBT bug report property 'view_state'
STATUS
  from MantisBT bug report property 'status', 'resolution' is added as
  parameter.
DESCRIPTION
  a concatenation of 'all' non-empty MantisBT bug report properties
  into one iCal DESCRIPTION (rendered with iCal row breaks) in the
  following order:
  project, id, summary, reporter, handler, category, priority, severity,
  reproducibility, status, resolution, projection, eta, view_state, description,
  steps_to_reproduce, additional_information, duplicate_id, bug_text_id, os,
  os_build, platform, version, fixed_in_version, build, profile_id,
  sponsorship_total, sticky and target_version
COMMENT
   each MantisBT bug report (non-private) 'bugnote' (type=BUGNOTE) creates one
   iCal COMMENT
ATTACH
  each MantisBT bug report 'attachment' creates one iCal ATTACH (link)
ATTENDEE
  from MantisBT bug report
    reporter (role OPT-PARTICIPANT)
    assignee (role CHAIR)
    bugnote reporter (role OPT-PARTICIPANT)
    monitors (role OPT-PARTICIPANT)

SUPPORT:
--------
  http://github.com/iCalcreator/IcalExport/issues
For more information send a message to info at phpclasses dot org.