[Windows Mobile Apps and Games] 920904:
A Android version is now available: http://xdaforums.com/showthread.php?t=905213

Windows Mobile app for importing iCalendar appointments/tasks (iCalParse)

Features:

Import appointments/tasks direct from iCal files (*.icl, *.ics). It is also possible to chose which appointments/tasks should be imported and which not.

Enables support for more features than the original Windows Mobile calendar has. eg. Recurrence Dates or Exclusion Dates.

Make a quick look at the appointments/tasks stored in the iCal files.

Replace all appointments/tasks on the device with appointments/tasks stored in an iCal file.

Filtering of Tasks/Appointments

Update old and add new appointments/tasks from an iCal file.

Delete all appointments/tasks stored on the device.

Export all appointments stored on the device to an iCalendar file.

Export all tasks stored on the device to an iCalendar file.

Encrypt private informations.

Timezone support.

Customize calendar informations

Define custom categories for the imported appointments/tasks.

Remove HTML/CSS tags from the description of the appointments.

Enhanced possibilities to replace strings which are added to the appointments/tasks automatically from the PIM Application with custom ones.

Load and Parse ICal files direct from the Internet (HTTP/HTTPS/WEBCAL/WEBCALS/CALDAV)

.icl and .ics files are associated to the program.

Auto syncing

Logging

Commandline Options

Fingerfriendly landscape/portrait mode aware GUI

CALDAV Support for two way synchronization

Two way synchronization

Usage statistics

Requirements:

Windows Mobile Pro 5 - 6.5

.Net 3.5

Why I wrote this program:

I’m using an alternative OS and I also often get different iCal Files with important appointments (from friends, university, work). So before I wrote the program I had to import the iCal files to different programs (e.g. Outlook, Evolution and so on) to get it synced. I also always had to import my personal calendar to Outlook or so because I use rainledar for my own appointments. Because I think that this is not the best way for handling this I wrote iCalParse. With this program I can simply import iCal files direct on my phone.

To import calendars available on the Internet

To import a calendar which is available over the Internet just download and install the new app version. Then start it go to the others tab (the OT button on the bottom) and then press the "config webIcals" button. Then press the "new Web Ical Source" button. Add the user name and password if there is any and then the url where to find the calendar. Then select the protocol. Use http if it available over http/https/webcal/webcals. The autosync period number is important for the autosync option. If the number is 0 the webical will never be synced with the autosync. If it is 1 it will be synced every autosync, if it is 2 every second sync, 3 every third and so on. Then click the save button. Now you have to tell the app that you want to download calendar informations over the intertnet. So you have to activate the "Load from the web" option at the Options tab (The Op button)

Afterwards you can parse/load and import the calendar like normal by just pressing the Parse button and then the import button at the Action tab. Or you can use the autosync feature.

To Use CALDAV for two way synchronization

Often web calendars support CALDAV. CALDAV is a open protocol to sync calendar information in both ways (server to phone and phone to server). To use CALDAV your CALENDAR must support it. Then start it go to the others tab (the OT button on the bottom) and then press the "config webIcals" button. Add the user name and password if there is any and then the url where to find the calendar. Then select the protocol. Use caldav if it available over CALDAV. Important is that there has to be a single slash (/) at the end of the url. Then click the save button. Now you have to tell the app that you want to download calendar informations over the intertnet. So you have to activate the "Load from the web" option at the Options tab (The Op button). And you have to tell the app that you want to sync from the phone to server not only from the server to the phone so that you have to active the "Use two way caldav sync" option.

Afterwards you can parse/load and import the calendar like normal by just pressing the Parse button and then the import button at the Action tab. Or you can use the autosync feature. During the parse operation (parse button) the changes on the device will be synced to the server if the "use two way caldav sync" option is enabled.

The CALDAV feature was confirmed to work with:

Google calendar

hint:

The url for your google calendar has the following format [ https://www.google.com/calendar/dav/ [ your Google Calendar ID ] /events/ ].

Your Google Calendar ID for your primary calendar is just your email address, but for all other calendars the Calendar ID will be in the form of [ long string of characters]@group.calendar.google.com. You can get the Calendar ID by clicking the down arrow next to your calendar at calendar.google.com and selecting 'Calendar Settings'.

Be sure to use https in your URL, as an http address will not work.

DAViCal

(http://www.davical.org/)

hint:

The url for your DAViCal calendar has the following format [ https://[yourDomain]/caldav.php/cal...sabredav/"]http://code.google.com/p/sabredav/)

hint:

The url for your sabredav calendar has the following format [ http://[yourDomain]/sabredav/calend.../web.utanet.at/bohmerau/winmopage/"]iCalParse[/U][/B]

History:

version 0.4.9

initial release

version 0.5.0

improved timezone support

version 0.5.1

improvements for MS outlook compatibility

version 0.5.2

improvements for MS outlook compatibility

version 0.5.3

improved timezone support, supports more ical features

version 0.5.4

improved timezone support

version 0.5.5

improved error handling

improved database

if a appointment is not checked in the overview tab it will not be added to the calendar or updated so you can select the appointments which should be imported

version 0.5.5

improved timezone support

version 0.6.1

Valarm will now be ignored

Improvements at the export function

if an error occurs during the parsing process detailed informations about the error will be displayed

version 0.6.2

improved ical parsing

version 0.6.3

improved ical parsing

version 0.6.4

performance improvements

line numbers shown are now more accurate (should be just one or two line difference)

its now possible to use the timezone of the device to calculate times (check the checkbox "Use device timezone" at the options tab, below the checkbox you will see the name of timezone the programm will use for calculation )

version 0.6.6

i changed a lot at the recurrence handling but there are some limitation by pocket outlook.

version 0.6.7

i made some changes at the time calculation based on the devices timezone because sometimes there has been an error where the calculated time had overwritten the old one and sometimes not (seems to be a problem in the .net framework).

changed rrule handling.

more detailed error messages will be displayed if an update/add of an appointment fails

version 0.6.8

fixed a problem with negative UTC offset

version 0.7.0

some more checks to calculate correct start/end times for an appointment, if a timezone is specified, under different circumstances.

version 0.7.1

New Option "Create Reminders" checkbox at the options tab. If this checkbox is checked the programm will create reminders if a reminder is specified in the ical file.

ersion 0.7.3

support of more than one timezone (if the timezones are specified in the ical file)

support for really long location strings

support for really long subjects strings

version 0.7.5

enhancements for the timezone handling

its now possible to define a category for an whole ical file (define the name of the category on the Other tab and check the Use custom category checkbox on the Options tab) Categories which are defined in the ical file will be ignored if you use this feature.

version 0.7.6

improvements to the category feature. the feature will now not override the old categories it will be added as a new category to the appointments

improvements at the rrule handling.

version 0.7.7

new option to remove html tags from the appointment description

version 0.8.0

it can import tasks (VTODO) now.

improvements

better feedback for the user

version 0.8.2

removes CSS from description (if remove html from description checkbox is checked)

new use substitute list option.

if the option is checked the program will use and parse the SubstituteList.txt stored in the program directory. The first line defined in the file will always be replaced by the second line. So if the content of the file is for example:

X-KDE-TEXTFORMAT=HTML

\,

,

X-KDE-TEXTFORMAT=HTML will be replaced by nothing and \, will be replaced by ,

version 0.8.3

fixes problems with the importing of tasks

version 0.8.5

the app can now load ical files from the internet and parse it. to use this feature check the load from the web Checkbox at the options tab. the program will parse WebICalsList.txt in the program folder. you can define an ical source per line and you must use this format:

username;password;URI for example: user;pass;http://www.test.at/testical.ical

new version 0.8.6

.icl and .ics files are now associated to the ICalParser

new version 0.8.9

the webIcalList.txt can now be encrypted so the user/password/uri are secured

its now possible to export tasks wich are stored on the device to an ical file

internal improvements

new version 0.9.1

internal improvements

better support for https connections

the gui is now more finger friendly

new version 0.9.2

enhanced rrule handling

new version 0.9.3

enhanced feedback for the user if the load ical from the web feature is used

fixes for the ical download if there are more than one ical resource in your webicallist

internal improvements

new version 0.9.4

added contact informations

new options for choosing if you want to import only tasks/appointments

its now possible to delete only tasks or only appointments

new version 0.9.5

implemented the exdate feature (handles exceptions for recurrences)

new version 0.9.8:

new Logging feature

enhanced rrule handling

supporting the ATTENDEE/recipient feature

support autosync

gui enhancements

new version 0.9.9:

enhanced rrule handling

enhanced exdate handling

new version 1.0.0:

Fixed a problem with the autosync feature

enhanced user feedback

new version 1.0.5:

enhanced user feedback

enhanced GUI

fixed a problem with the loading of a saved configuration during startup

new version 1.0.6:

enhanced exdate feature

internal improvements

new version 1.0.7:

added delayed autostart option: the app will wait 30 seconds before it trys to sync so that e.g. wlan can connect.

some autostart enhancements so that the device does not fall in sleep mode during parsing.

new version 1.0.8:

fixed a problem with the update of already existing appointments

new version 1.0.9:

supports now the rdate feature (only if the add appointments/asks and delete old ones option is used)

performance improvements if the update appointments/tasks option is used.

internal improvements

new version 1.1.0:

fixed update appointments problem

new version 1.1.2:

the app got a new database format. the app will update your database at the first import

it's now also possible to update rdates at appointments

fixed a problem with attendees which have an mail address but no name defined

internal improvements

new version 1.1.4:

added copy/Paste to the category textbox and paste to the password textbox at the others tab

some rrule enhancements which addresses wavedyellow errorreports

a fix for the export appointment problem

enhanced export appointments (supports the rdate feature now)

new version 1.1.6:

enhanced export features

enhanced rrule handling

supports reccurence Id

enhanced appointments updating

new version 1.1.8:

enhanced database

enhanced export features (it can export exdate now if the appoitment has not been altered after the import)

fixed the problem with the autosync which happens to often

new version 1.1.9:

fixed a problem that it was not possible to import tasks which have no due date defined

new Commandline Options to start a single autosync.

There are two command line options available:

AppRunAtTime

The App will use the autosync feature and start repeatedly.

AppRunAtTimeOnce

The App will use the autosync feature and start only once.

new version 1.3.0:

improved EXDATE parsing

dramatically improved timezone handling and time calculation (completely rewritten that code, it supports now the full ical 2.0 & 1.0 standard without any limitations, the code is now much more reliable)

Database improved

improved export feature

removed Use device timezone option it is not longer necessary

changed the whole way date values are handled by the app

new version 1.3.1:

fixed a problem with tasks which have no start date defined

new version 1.3.3:

handlint the status at tasks

improved rrule handling

improved logging

new version 1.3.5:

fixed a problem with time handling

fixed a problem with the gui

new version 1.3.6:

fixed a problem with .net which sometimes handled local time values as utc value and sometimes not.

new version 1.3.9:

new option: Delete only objects imported with iCalParse. if activated and used together with the add appointments/tasks and delete old ones option iCalParse will only delete appointment/tasks which where previous imported with iCalParse

improved attendee handling

improved date handling

fixed a problem that i was sometimes not possible so sync more than one websource at a single autosync

fixed a problem with updating objects

improved database

new version 1.4.2:

enhanced logging

enhanced gui (supports now landscape and portrait mode, more fingerfriendy, uses the your displayspace better)

enhanced tasks export

enhanced rrule parsing

new version 1.5.1:

fixed a possible problem with appointments which use reccurenceids

added a new filtering tab/option which filters the appointments/tasks before the import

enhanced gui

fixed an problem with the export of appointments

caldav import support

improved web downloading

enhanced ical parsing

fixed a problem with timezone parsing

enhanced timezone parsing (Support X-WR-Timezone)

enhanced database

changed user feedback if an exdate is not specified correctly

changed download state visualisation

changed webicalist ical source definition

new version 1.5.3:

enhanced gui

enhanced filtering

enhanced logging

fixed a problem with exporting (UID was always the same value)

new version 1.5.4:

enhanced rrule handling

new version 1.5.5:

enhanced rrule handling

new version 1.5.7:

improved database for caldav

enhanced database

enhanced hashcalculation

added a new option for setting every parsed appointment/task sensitivity as private during parsing

new version 1.6.0

database improvements

internal improvements for caldav support

export task improvements

export appointments improvements

huge hash calculation improvements (important for caldav and exporting)

fixed a problem with the parsing of all day events togehter with timezones

enhanced gui

enhanced logging

new version 1.6.2:

fixed a problem with importing of appointments with RECURRENCE-ID if the reccurence-id date is also an exdate value

fixed a problem with parsing exdates

enhanced exdate handling if the exdate is specified with an timezone

gui enhancements

statistics (starts, handled appointments, .....)

some style improvement at the manual on my page so it should be better to read

new version 1.6.3:

fixed a problem with language definitions at summary/location/description

fixed a problem that an error was reported befor the webIcaldownload starts

new version 1.6.6:

new gui interface for creating/editing/deleting webical sources

fixed a problem with icalendar files generated by outlook

new version 1.8.0:

enhanced logging

fixed problem receiving caldav appointments

fixed possible problem updating caldav appointments

fixed possible problem deleting caldav appointments

new appointments on the device will now only be synced to the first defined caldav source

fixed a possible ssl problem

enhanced export (appointments/tasks)

better webicalsource creation

improved caldav handling

fixed a parse/import problem with a windows mobile limitation with recurrences that should go on forever

fixed a possible problem the the database could get corrupted

enhanced exporting (UID creation)

enhanced caldav upload (informations stored in db correctly)

fixed a webcal/webcals download problem

changed http download error handling

fixed a problem exporting tasks/appointments (monthybynumber, yearbynumber reccurencetype)

new version 1.8.1:

fixed a exporting problem (; at the file end)

speed up exporting

better uid generation

new version 1.8.3:

performance improvements at caldav parsing

fixed some possible exporting problems

enhanced exporting

new version 1.8.5:

database performance improvements

improved RECURRENCE-ID handling

new version 1.8.6:

fixed rdate handling bugs and it is now supporting the full ical 2.0 standard

enhanced html quotes handling

fixed a possible reccurence id problem (caused by exporting errors of other pim applications)

new version 1.8.7:

added new option > caldav speedup

new version 1.8.8

changed uid generation

new version 1.8.9:

changed installtion so webicallist.txt and SubstituteList.txt wont be resetted at the installtion

new option "Don't parse attendees". Attendees will not be parsed/imported

new version 1.9.0:

fixed a importing/parsing problem

fixed a problem with miss formed valarmnew

new version 1.9.1:

fixed a caldav upload problem

new version 1.9.2:

internal enhancements to support caldav tasks/todos sync (not finished yet)

fixed a bug at the rrule handling

new version 1.9.4:

enhanced logging

got caldav sync with sabredav working

enhanced timezone handling if only on standard time is used

a standard timzone handling error fixed

fixed a possible caldav update/delete bug if more than a single caldav source has been used

new version 1.9.5:

fixed a typo

fiexed a problem with yearly reccurences