Convert .pdf to .ics


rostoisc_mainThis tool converts NetLine/Crew CrewLink roster .pdf files into .ics calendar files.

CHECK ALL EVENTS FOR CORRECTNESS !!!

Please read these Instructions carefully prior using this tool !!!

 

 

Usage
=====
1a. Download your roster using your company's web interface (NetLine/Crew CrewLink).
1b. Download your roster using the CrewLink App.
2. Save the roster locally as .pdf file.
3. Go to Convert .pdf to .ics.
4. Press Browse... button and select the just downloaded .pdf file.
5. Press Upload roster (.pdf file). Roster is then processed by rostoics tool.
6. Press Download roster (.ics file) and save that file locally.
7. Import the .ics file into your calendar using your preferred gateway.


Select roster (.pdf file) to be uploaded:



(wait 5-10 seconds for roster processing to finish)



rsync backup from Ubuntu server to Synology NAS

This tutorial describes how to do scripted passwordless encrypted automatic rsync backups from an Ubuntu server to a Synology NAS. It is supposed to be a general guide, which can be used with other Linux variants as well. Only minor changes should be required.

I did this first of all in order to help other Synology NAS users perform efficient and secure backups to their NAS, but also to get get my scratch pad like personal installation notes in a more reasonable shape, so I can recall later on myself what I did, how, and why.


Synology NAS shell – Basics

synology_dsmThe following article describes some basics regarding first contact with Synology DSM shell.

I used DSM 6.1.3 out of the box, running in a Virtual machine (using Virtual Machine Manager) on DS1817+ hardware.


Null client Postfix setup


The following setup describes a postix setup to send e-mails using an existing SMTP server. It is not designed to receive e-mails. My provider is DreamHost, but setup should be very similar with other hosters. I used a VM with the Ubuntu Server 16.04.1 out of the box installtion (ubuntu-16.04.1-server-amd64). This VM has no real FQDN, hence an imaginary needs to be configured in order to make the SMPT server accept sent e-mails.


Instructions


Introduction
============
rostoics is a tool which converts NetLine/Crew CrewLink roster .pdf files into .ics calendar files. The .ics files are used to create calendar events on iPhone, iPad, Samsung, ... basically any device able to deal with .ics files. Google Calendar also supports .ics file import.

Who should use it ...
All those who make extensive use of online as well as local calendar entries, being it for private or professional purpose. Basically all those who have a highly charged daily schedule requiring organization to some extent. Online integration adds sharing features to friends an family members. Tedious and error prone manual event entries can be avoided.

Who should disregard it ...
When hardcopies of Crew roster, downloaded PDF documents or CrewLink App roster consultations are sufficient for planning purpose, calendar setup isn't really necessary.

Nomenclature
============
- event : Any calendar entry e.g. flight, ground duty, standby, free day, ...
- .pdf file : The format of the roster file downloaded from NetLine/Crew CrewLink.
- .ics file : Standardized calendar file format, generated by subject rostoics tool.

Restrictions
============
1. Only plain rosters are accepted. No notifications (schedule changes).
2. Only Luxair rosters are accepted for the time being.
3. Event spawning across more than one month is not allowed. - REMOVED (BETA)

I try to lift restrictions gradually.

Nota bene
=========
Be aware that apparently parsed events might be incorrect or incomplete. Always check every event after import !!!

Debug messages on Convert .pdf to .ics page (bottom) shows events not parsed properly. Manual modification is required. E.g. ...
debug : unparsed event!
        [20161129] Tue29 DH/LG 8361 /30 LUX 0540 0645 GVA [FT 00:00]

Please report (using Comment feature at the bottom of this page) any non parsed or badly parsed events.

Bug fixes could possibly introduce new bugs. Of course I try to avoid by all means, nevertheless there is a potential risk this might occur.

Any suggestions regarding formatting of event, additional information, this web interface, mistakes, ... just anything ... are welcomed!

Tested browsers
===============
Firefox 47.0.1 on Windows 7
Safari on iOS 10.1.1 (iPhone 6s)
Safari on iOS 9.3.5 (iPad [3rd generation])
Please report any browser related compatilities and incompatilities.


Export/Import of roster files


The biggest challenge is probably the roster file handling on different devices, id est downloading .pdf roster file from NetLine/Crew CrewLink, converting the .pdf file to an .ics file and importing this one into the personal calendar.

There are way too many possibilities and individual configurations, so that a general guideline is somewhat hard to give.

1. Download .pdf roster file from NetLine/Crew CrewLink
=======================================================

This is probably the most easiest step. Just visit the Airline's NetLine/Crew CrewLink page and download the desired roster, download and save the file to your favorite location - straight forward. This can be achieved either via PC/Mac or mobile (iPhone/Android). No big deal, but with iPhones, the .pdf file must be stored somewhere (iCloud Drive, Dropbox, Google Drive, ownCloud, ...). Other third-party Apps might work as well.

2. Convert the .pdf file to an .ics file
========================================

2.1 Website method
------------------
Visit the Convert the .pdf to .ics page and follow the post.

2.2 email method
----------------
Just send the .pdf file as email attachment to roster@geohei.lu. The body text of the email is ignored. You'll get the .ics file back to within less than a minute. Be aware that the returned email contains a summary of the parsed events, and that the .ics file can be found at the very bottom of the email.

None of both methods is better than the other. I's just what suits you best.

3. Import .ics roster file into the personal calendar
=====================================================

As calendar, you can use a local iPhone, Samsung, ... or the online version like Google Calendar or Yahoo Calendar. How to import .ics files into these calendars goes beyond the scope of this post, since it greatly varies depending on hardware, OS and Apps installed. Some "experimental" manipulations might be required.

Many devices try to be intelligent in terms of recognizing .ics files automatically and offering import. This works quite well, even if multiple calendars are used.

Below a guideline how to import the .ics file for Google Calendar using a browser:
1. Login your Google account
2. Select "Settings" from the "Settings" gear icon (top right corner)
3. Click on "Calendars" link from (top left corner)
4. Click on "Import calendar" link (bottom page)
5. Browse for your .ics roster file and select desired calendar (if more than one)
6. Press "Import"
Done!

 
 

Apple devices notes
===================

- Chrome browser seems to handle file action easier than Safari. You might give it a try.

- Since end of 2016, Apple removed the "Add All" feature in the email client. In Safari, it still works. This is kind of a step back in evolution since it requires the user to manually add every individual event. This is everything other than comfortable. Details can be found here: Importing .ics calendar events from emails

 
 

What I do ... I download my .pdf roster file from NetLine/Crew CrewLink using my Windows 7 PC, save it locally on my Desktop, convert it into .ics roster using website method, import it into Google Calendar and that's it. All this takes less than a minutes.

Basically ... everybody can do all this with any device and any software. There are many ways to do it ... it's just a matter to find YOUR best way. This might take some time to discover. Once done, it's a piece of cake.

I don't have all these different devices and therefore, I can hardly simulate the entire range of possible hardware/software combinations. Hence I rely on user's feedback. Just post below ...

Many thanks,


News

News
====
23.05.2018 : rostoics 1.0.21 released
             added event detail line as LOCATION tag for all event types
             added Emojis for all event types
             added event : PFC
18.05.2018 : rostoics 1.0.20-PL1 released
             minor bug w/ event type STBY logging fixed
18.05.2018 : rostoics 1.0.20 released
             added Emojis for event type STBY
             minor bugs fixed
28.04.2018 : rostoics 1.0.19-PL1 released
             MySQL/rostoics UTF-8 (special characters) problem fixed
18.04.2018 : Web hoster changed some global PHP configuration which created
             "Error 404" for some users. Error occurred or not according
             local device settings.
             PHP code modified to cope with new configuration!
17.04.2018 : rostoics 1.0.19 released
             Emojis introduced (experimental - F and flight events only)
             TLC database updated
             improved logging (content and presentation)
             minor bugs fixed
16.03.2018 : rostoics 1.0.18-PL2 released
             fixed (nasty) bugs w/:
             - complete failure to import any event
             - "Notes" of all events not shown
15.03.2018   rostoics 1.0.18-PL1 released
             minor bug fixed
             added event : SICK
             added "roster printed" info
06.03.2018   rostoics 1.0.18 released
             added events : RSEN, NC, RFC
             TLC database updated
             improved presentation of modified "unparsed event"
             improved logging (content and presentation)
             code optimization
             fixed bugs w/:
             - support for 2nd suffix line (added in 1.0.17)
               corrupted formatting of misc data in event w/ 2nd suffix line
             - event end date next day not correct (e.g. night duty)
               end date was not increased by 1 if event ending next day
             - wrong formatting of .sum file with event type FLIGHT
               event type FLIGHT w/ 3 chars (e.g. "CAR") misaligned .sum file
             - missing mcm in events type FREE and STANDBY
               mcm missing under certain circumstances
               mcm retained for next event under certain circumstamces
             - TLCs previous flight shown when no Crew on roster (e.g. "CAR")
               only for event type FLIGHT w/o aircraft 3 letter IATA aircraft code
             - incorrect parsing of hotel details if more than 1 hotel on roster
               event details for hotel were badly parsed
27.06.2017   rostoics 1.0.17 released
             added support for 2nd suffix line
             added support for cockpit/cabin crew change during same rotation
             added processed hotel counter
             minor bugs fixed
18.03.2017   rostoics 1.0.16-PL1 released
             minor bug fixed
15.03.2017   rostoics 1.0.16 released
             added events : FF, VSP
             reported bugs fixed
15.02.2017   roster@geohei.lu rostoics interface online
             Export/Import of roster files post rewritten
23.01.2017   rostoics 1.0.15 released
             added events : X, FP
             reported bugs fixed
12.01.2017   rostoics 1.0.14 released
             added MySQL database support for TLC (3-letter-code) name resolution
             reported bugs fixed
21.12.2016   rostoics 1.0.13 released
             "To c/m:" (message to crew member) support added
20.12.2016   rostoics 1.0.12 released
             added events : RC, IRC
19.12.2016   rostoics 1.0.11 released
             added event : REV
             .pdf file names including spaces and special characters are accepted now
             .pdf files other than NetLink/Crew CrewLink roster are rejected
18.12.2016   rostoics 1.0.10 released (first stable version)
             added events : H?, H1, ... (Hotels)
             reported bugs fixed
             code optimization

Screenshots iPhone


Below you see some screenshots how events are presented on iPhones (iOS 10.1.1) after .pdf conversion and .ics import (rostics 0.1.2).

rostoics_iphone_1

rostoics_iphone_2

rostoics_iphone_3

rostoics_iphone_4


Video tutorials

Below you see a QAD (quick and dirty) screenshot video tuorial which shows how to convert a roster using the www method. Screenshots taken on iPhone 6S (iOS 11.2.6). rostics 1.0.18-PL2 was used.


CrewLink App


Details about the CrewLink App (by Harold Dijkstra) can be found here: CrewLink App (App Store)

It is designed to be a standalone App to locally store the roster as .pdf file. Calendar integration, like rostoics does it, is not featured. In the context of rostoics, CrewLink can be used to download and e-mail the roster to a specific address. This might sometimes be faster than accessing the company's NetLIne/Crew Crewlink web interface for downloading the roster. Such an e-mailed roster .pdf file is identical to the one downloaded directly via web interface.

Below some screenshots. Use the "Email" button on the second screenshot to send the roster .pdf file.

rostoics_crewlinkapp_1

rostoics_crewlinkapp_2