debug option for mail renderer
[bdrem.git] / README.rst
index 66d0da289402002b90258606585cbb8d4c448ad3..e503d3b2aaed5c3482d7291b4eb132bd7e693705 100644 (file)
@@ -3,7 +3,8 @@ bdrem - Birthday reminder by mail
 *********************************
 Birthday reminder that sends out e-mails.
 
-It can also generate ASCII tables on your console/shell and normal HTML pages.
+It can also generate ASCII tables on your console, iCalendar files
+and normal HTML pages.
 
 .. contents::
 
@@ -17,13 +18,15 @@ Data sources
 
   - Multiple date fields per record supported.
 - An LDAP server
-- `Birthday reminder <http://cweiske.de/birthday3.htm>` files (``.bdf``)
+- `Birthday reminder <http://cweiske.de/birthday3.htm>`_ files (``.bdf``)
+- CSV files
 
 Output formats
 ==============
 - ASCII table
 - HTML
 - Email (text + HTML parts)
+- iCalendar
 
 
 =====
@@ -80,6 +83,24 @@ If you only want an email if there is a birthday, use ``--stoponempty``::
 Make sure your config file contains ``$mail_from`` and ``$mail_to`` settings.
 
 
+iCalendar
+=========
+Exporting birthday events into an ``.ics`` file is easy::
+
+   $ bdrem --renderer=ical > birthdays.ics
+
+It is possible to access the calendar via HTTP, too::
+
+    http://example.org/bdrem/?renderer=ical
+
+You can subscribe to it in your calendar or email application.
+Integration has been tested with Thunderbird's Lightning__ and Claws Mail's
+vCalendar__ plugin.
+
+__ https://addons.mozilla.org/en-US/thunderbird/addon/lightning/
+__ http://www.claws-mail.org/plugin.php?plugin=vcalendar
+
+
 HTML page
 =========
 Simply point your web browser to the ``.phar`` file, or ``index.php``.
@@ -113,6 +134,63 @@ __ http://cweiske.de/birthday.htm
 __ http://cweiske.de/birthday3.htm 
 
 
+CSV file
+========
+Comma separated value files can be used with bdrem.
+They should at least contain a column with the name, and one with the date.
+
+Simple configuration if you use the default settings::
+
+    $source = array(
+        'Csv',
+        '/path/to/file.csv'
+    );
+
+Complex configuration::
+
+    $source = array(
+        'Csv',
+        array(
+            'filename' => '/path/to/file.csv',
+            'columns' => array(
+                'name'  => 0,
+                'event' => 1,
+                'date'  => 2
+            ),
+            'firstLineIsHeader' => true,
+            'defaultEvent' => 'Birthday',
+            'separator' => ',',
+        )
+    );
+
+Configuration options
+---------------------
+``columns``
+  Determines the position of the name, event and date columns.
+  ``0`` is the first column.
+  You can use ``false`` to disable a column; helpful if there is no
+  ``event`` column.
+
+  Default:
+
+  ``array('name' => 0, 'event' => 1, 'date' => 2)``
+  
+``defaultEvent``
+  Text to use as event if there is no event column.
+
+  Defaults to ``Birthday``
+
+``firstLineIsHeader``
+  If the first line in the CSV is column header data
+
+  Defaults to ``true``
+
+``separator``
+  How columns are separated.
+
+  Defaults to ``,``
+
+
 LDAP server
 ===========
 *bdrem* can read birthdays and other events from persons in an LDAP server.
@@ -195,6 +273,10 @@ Dependencies
   - `Net_LDAP2 <https://pear.php.net/package/Net_LDAP2>`_
 
 
+Note that the ``.phar`` file already includes all dependencies;
+you do not need to install anything.
+
+
 =======
 License
 =======