Palm2CSV / Palm2iCal
10/12/2016: Added an option for specifying that iCal/ICS ";UNTIL=" dates should be the day *after* the last day of the event. (If set to "No", the date will be whatever the end date is currently specifed in the Palm file.) Not sure if this should be the case for all iCal/ICS files, so I made it an option. (Thanks to Gabi L for helping identify this!)
3/15/2016: When converting from Mac format, now making repeated all-day events repeat the proper number of days (they used to repeat one fewer day than they should). (Thanks to Jackie L for identifying this bug!)
3/15/2016: Added an option to include category in event description when converting to iCal/ICS format. This helps prevent losing the category names when importing into applications like iCalendar and Google Calendar which don't recognize the iCal/ICS "CATEGORIES:" field.
1/15/2016: Added option to fix PHP(?)'s erroneous conversion to/from Daylight Savings and Standard Time. Apparently PHP assumes DST begins on the 1st Sunday in April and ends on the last Sunday in October. In reality these dates only apply from 2007 onward. Prior to 2007 (i.e. 2006 and earlier), DST starts on the 2nd Sunday in March and ends on the 1st Sunday in November. (Thanks to Yee U for doing extensive research to helping identify and fix this!)
9/6/2015: Now properly splitting To Do files into multiples when they exceed either the file size or line limit thresholds specified by the user.
3/1/2015: Renamed "Translate Mixed Character Encoding" option to "Encode in UTF-8?" since that's what it does now. Apparently Outlook ignores high ASCII in iCal/ICS files unless they're encoded as UTF-8, so this option is useful for converting Palm files that contain accented characters that will be imported into Outlook. (Thanks to Hartmut G for helping identify this!)
2/27/2015: Renamed "Contains Accented Characters?" option to "Translate Mixed Character Encoding?" to make it more clear what this actually does.
2/1/2015: Option to start each output file with a UTF-8 BOM. (Previously this always happened automatically if you sepcified that your Palm file contains accented characters.)
1/25/2015: Option to specify output file extension (.csv, .tsv, .ical, .ics), with logic to make a suggestion to match output file extension to column separator.
12/5/2014: Option to omit ORGANIZER field when outputting to iCal/ICS format. (Thanks to Offer P for suggesting this!)
9/14/2014: Now recognizing Mac DBA files that are distinguishable as Mac files because they contain Mac tabs and newlines, but no Mac version tag. (Thanks to Tom L for helping resolve this!)
9/5/2014: On conversion settings form, no longer setting max_repeat_date default to 12/31 of current year when converting to Google Calendar, unless output format is already set to CSV.
9/5/2014: No longer mistakenly outputting multiple iCal/ICS records when encountering a repeating event that is past the desired date range to output. Thank to Sandra W for pointing this out!
7/10/2014: When outputting VALARMs, changed ACTION:AUDIO to ACTION:DISPLAY (and including a DESCRIPTION) since Google Calendar didn't recognize ACTION:AUDIO. Thank to Joe B for pointing this out!
5/22/2014: When converting for iCalendar, outputting iCal header METHOD:PUBLISH instead of METHOD:REQUEST. (Apparently this is required, at least under Mavericks.) Thank to Alistair C for pointing this out!
3/30/2014: Now showing actual GMT offsets for various time zone options.
8/18/2013: When outputting iCal/ICS format, end of each line now uses newline char(s) specified by user (e.g. \n, \r, etc.).
8/6/2013: Now adding METHOD:REQUEST to iCal/ICS output, so that Outlook 2003 doesn't think the file is corrupt. (Outlook 2007 worked fine without it.)
6/29/2013: iCal UIDs are now MD5 hashes of your Palm filename, concatenated with the index number of the event (e.g. UID:email@example.com). This means if you convert the same file multiple times, each event output will have the same UID every time, so if you import the resulting iCal file into, say, Google Calendar, they will hopefully recognize the same UIDs and replace your events with the new ones (rather than import a second copy of each event).
5/15/2013: Fixed MDBTools installation (and removed deprecated v5 and v6 versions). Thanks to Dinyar C for pointing this out!
1/6/2013: Fixed bug whereby Palm files containing apostrophes could not be downloaded after being converted due to apostrophes messing up URLs. Thanks to Polly H for pointing this out!
1/5/2013: Added option for Palm files containing foreign/accented chars: if set to "Yes", resulting output file(s) will start with UTF-8 BOM and all data will be output as UTF-8; in addition, these characters will be converted from single-byte to multi-byte UTF-8 equivalent.
12/4/2012: Default output format is now iCal/ICS (was CSV) since that's the preferred format in most cases.
11/23/2012: When converting to iCal/ICS format, now including a CLASS field whose value is either PUBLIC or PRIVATE. Thanks to Nancy A for pointing this out!
11/6/2012: Changed meta tag charset to UTF-8 so that I could use curly quotes on the testimonials page. This might (?) have the added benefit of preserving accented characters in non-US Palm Datebook files, but then it might not work at all so I'll have to cross my fingers and see what happens.
10/27/2012: Now stripping out high ASCII when producing output filename to prevent download URLs from being mangled.
10/6/2012: When exporting to iCal/ICS format, now adding X-MICROSOFT-CDO-ALLDAYEVENT:TRUE and X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE for untimed events; for untimed, one-day events, end date is now set to the next day so that the event is treated as untimed when importing into Outlook 2007. Thanks to Melinda Y for help with this!
9/28/2012: Fixed how repeat exceptions (EDATE) are formated when exporting to iCal/ICS format. Thanks to Jennifer M for help with this!
9/19/2012: Added ability to limit which Category to output events from (blank=all).
9/19/2012: When outputting iCal format, now including Palm "category" (in CATEGORIES field). Also, removed extra newline after END:VEVENT, which was nice for humans but which some iCal readers tended to choke on.
8/19/2012: When outputting iCal format, file extension is now ".ics", not ".ical". This allows Macs to recognize the file as a valid iCal/ICS file when importing into the iCalendar application.
6/12/2012: When outputting iCal repeating events, ignoring Palm end dates of 2031-12-31 (Dec 31, 2031) since that is most likely NOT the intended end date for that event. (These "sentinel" end dates are inserted by Palm Desktop.) Thanks to Bradford W for this tip!
1/26/2012: iCal files now support true repeating events! (Repeating events are encoded using REPEAT property, and EXRULE/EXDATE to designate repeat exceptions; see http://www.kanzaki.com/docs/ical/rrule.html)
10/15/2011: Added info about Yahoo Calendar's iCal (.ics) requirement.
9/20/2011: Now using the latest MDB Tools v0.7-rc1 to convert Palm Desktop 6 files from MS Access / Jet format
9/14/2011: Check out the Palm2CSV video tutorial [YouTube]
8/1/2011: Renamed "Repeat End Date" option to just "End Date". Added "Start Date" option. Cleaned up time zone and repeating event info on Help page.
7/22/2011: Added Max Output File Lines option to support Google Calendar's daily limit of 5000 records.
7/9/2011: Added support for Mac file format!
7/8/2011: Consolidated FAQ and Help pages into Help page.
7/8/2011: Now supporting To Do Archive (TDA) files created with Palm Desktop 6.x.
6/19/2011: Made Time Zone setting default to "autodetect" and added more detailed description for Time Zone and Adjust Times By settings.
6/9/2011: Now showing a warning on the download page when user-specified Time Zone setting setting appears to be incorrect.
6/8/2011: Now honoring Max Output File Size when outputting to iCal format.
6/1/2011: Now doing time zone calculations when dates are read from Palm file, rather than when dates are output to CSV. This should resolve most time zone issues. Also, made the following changes to iCal output format (thanks to Bill van M for these suggestions!):
5/27/2011: Fixed some date/time calculations when converting between time zones. Also fixed a bug with converting TDA files in which the Notes field was inadvertently omitted.
5/21/2011: When generating CSV file, no longer putting the placeholder word "Location" in the location field.
5/21/2011: Added an option to set default settings for importing into Google Calendar or Outlook.
5/18/2011: Fixed a bug whereby events containing double-quotes (") were not being properly escaped for importing into Google Calendar (although other apps like Excel had no problems reading them).
5/16/2011: FULL support for DBA and TDA files exported from Palm Desktop 6.x (Palm Desktop by ACCESS)! Also fixed a couple of minor bugs with repeating events.
5/6/2011: Limited support for DBA and TDA files exported from Palm Desktop 6.x (Palm Desktop by ACCESS). (Full support for these files is coming soon--thanks for your patience!)
4/23/2011: Option to download your converted files as a single Zip file; also fixed a bug where some files didn't honor the Max Output File Size option and others were blank (although no data was actually missing).
4/17/2011: Option to output multiple files, i.e. have Palm2CSV automatically split your CSV file into several files when converting.
4/9/2011: Option to output to iCal format (experimental!)
4/7/2011: Fixed TDA conversion, which must have been broken since 3/17 or so.
3/31/2011: Fixed date format options, which must have been broken since 3/17 or so.
3/17/2011: Option to output directly to browser, or to downloadable file.
2/27/2011: Added option to specify original time zone. This ensures untimed events are shown on the correct day.
2/20/2011: Added option to display time in 12 hr format with AM/PM, for better performance when importing into Google Calendar.
2/18/2011: Added option to display End Date normally, suppressed, or as Start Date, for better performance when importing into Google Calendar.
1/5/2011: You can now specify the date format (American, European or ISO) and separator (slash or dash).
12/11/2010: Fixed a bugs with repeating events which failed to skip dates that were supposed to be exceptions.
9/6/2010: Fixed a couple of bugs with repeating events which showed up on the wrong date or time.
6/22/2010: Added option to suppress display of End Date, to allow for easier (and correct) importing of repeating events into Google Calendar.
6/15/2010: Now exporting times in 24-hour format, without trailing AM/PM. This allows Google to recognize them when importing into Google Calendar.
6/14/2010: Now displaying Category column when dumping Datebook entries.
5/5/2010: Full support for repeating events!
4/28/2010: You can now adjust all dates forward or backward by 1-23 hours to account for different timezones.
Palm2CSV is Copyright © 2017 by Kim Moser e-mail
Palm2CSV is not affiliated with Palm, 3Com, or HP