MyDigitalLife

Vacations

Introduction

The vacations application can be used to:

  • Prepare your vacation
    Collect information on the locations you want to visit.
    Make a day to day planning.
    Access documents from within the application
  • Make it easier to enjoy your vacation
    Export the locations to OsmAnd and/or your TomTom so you can easily navigate to the locations using your phone.
  • Archive your vacation
    Rearrange the information based on what you’ve really done in your vacation.
    Add photos to the vacation.

The application stores the information on all vacations in a single file. However this is only the meta data about each vacation. The application is written with the following structure in mind:

  • Documents related to a vacation
    Use a folder per vacation. Start the folder name with the date followed by the vacation title, e.g. ‘2021-09-23 Hiking in the alps’.
    Starting with the date in this way, means that sorting on the folder name automatically sorts the folder in chronological order.
    By default the application expects the vacation folders under ‘D:\database\vacations’.
  • Photos related to a vacation
    Store these under e.g. ‘D:\Photo’.
  • Videos related to a vacation
    Store these under e.g. ‘D:\Video’.

See also the page Disc structure for a proposed disc structure.

Getting started

The simplest way to start the Vacations application is via the Vacations shortcut. If you also want to use other applications of the MyWorld main application, you can use the MyWorld shortcut.
If you start the application for the first time, the vacations file doesn’t exist and you’ll be asked if the application shall create it for you.

Vacations data model

The vacations data model is shown in the following figure.

  • Vacations
    This is the top level element. It consists of:
    • home (Location)
      Your home location, which is shown on the map as a reference.
    • vacations (list of Vacation)
      The vacations.
  • Vacation
    Describes a vacation. It consists of:
    • date (FlexDate) (not shown in the diagram)
      The starting date of the vacation.
    • endDate (FlexDate)
      The end date of the vacation.
    • title (text)
      A descriptive title of the vacation, e.g. “Spring holiday in Italy”.
    • pictures (text)
      The folder with the pictures of this vacation.
    • documents (list of FileReference)
      Documents related to the vacation, like hotel reservations.
    • elements (list of VacationElement)
      A VacationElement is one of Text, Day, Picture, GPXTrack or MapImage. Each VacationElement has children, which are again of type VacationElement. So you can build a hierarchical description of the vacation.
    • id
      The vacation id consists of the date followed by a space character and followed by the title.
  • Text
    This element is used for a textual description, e.g. what you have done on a specific day. Besides the children it only has one attribute:
    • text (text)
  • Day
    This element is used to contain the information about one or more days. Besides the children it consists of:
    • days (a decimal number)
      The number of days to which this element applies.
    • title (text)
      A descriptive title of the day(s), e.g. “Driving around the island”.
  • Picture
    A reference to a picture. Besides the children it only has one attribute:
    • pictureReference (FileReference)
      A reference to the picture file.
  • GPXTrack
    A reference to a GPX track. Besides the children it only has one attribute:
    • trackReference (FileReference)
      A reference to the GPX file.
  • MapImage
    A reference to a map image. Besides the children it only has one attribute:
    • imageReference (FileReference)
      A reference to the map image file.
  • Location
    Describes a location It consists of:
    • locationType (POICategoryId)
      The kind of location, like e.g. a hotel, a beach, a park.
    • country (text)
      The country name for the location.
    • city (text)
      The city name.
    • street (text)
      The street name.
    • houseNumber (text)
      The housenumber.
    • latitude (a floating point number)
      The latitude of the location.
    • longitude (a floating point number)
      The longitude of the location.
    • name (text)
      The name of the location.
    • webSite (text)
      The URL of the website of the location.
    • description (text)
      A description of the location, or what you have done at this location.
    • label (ActivityLabel)
      ToDo
    • duration (a decimal number)
      ToDo
    • startDate (FlexDate)
      The first date at this location.
    • endDate (FlexDate)
      ToDo

Menu

File

File: Save vacations

Save the vacations information to the vacations file.

File: Print selected vacation

Print the currently selected vacation.
Note: This isn’t tested yet, as I have problems with my printer. (TODO)
Note: The best way to have a printed version of the vacation is to select all text in the ‘Document’ tab (by pressing Contol-A), copy it and paste it into a Word document.

File: Export selected vacation as PDF

Exports the currently selected vacation to a PDF file. The file is generated in the folder of the vacation and the filename is the vacation id with a ‘.pdf’ extension.
The settings of the Settings menu are taken into account during the generation of the document.

File: Export selected vacation as HTML

Export the currently selected vacation to an HTML file. The file is generated in the folder of the vacation and the filename is the vacation id with a ‘.html’ extension.
The settings of the Settings menu are taken into account during the generation of the document.

File: Print current map

Print the map which is currently shown in the ‘Map’ tab.
Note: This isn’t tested yet, as I have problems with my printer. (TODO)

File: Import photos

Import photos to the currently selected vacation.

The folders which are searched for photos are determined as follows.
First the main photos folder for the vacation is determined. If the ‘Pictures’ attribute is set for the vacation, then this is the main photos folder. Otherwise it is checked whether a folder with the name of the vacation ‘Id’ exists under the folder with all vacation photos. If so, this is the main photos folder for the vacation.
The folders which are searched for photos are all sub folders under this main folder.

A photo is only added if it doesn’t exist in the vacation yet (based on its filename).
This makes it possible to start with adding some photos manually and later perform an import.

The following order is used to find the item of the vacation where the photo is added:

  • A match on Location and Day
    If there is a Day for which the date matches with the time the photo is taken, and that Day has a child Location which matches with the coordinates of the photo, then the photo is added as last element of that Location.
  • A match on Location
    If there is a Location which matches with the coordinates of the photo, then the photo is added as last element of that Location.
  • A match on Day
    If there is a Day for which the date matches with the time the photo is taken, then the photo is added as last element of that Day.
  • No match on Day and/or Location
    If there is no match with a Day and/or a Location , then the photo is added as last element of the vacation.

After importing the photos, a window is shown which provides details about what is done with each photo.

File: Import vacations

This can be used if you already have information about vacations organized in folders.
Each folder in the vacations folder is checked for information.
The vacation start date and the title are derived from the directory name, which is supposed to have the following format: <flex date><space><vacation title>.
If a vacation with that start date and title exists, it is checked whether there is anything to be added.
If such a vacation doesn’t exist, it is first checked whether a vacation with the same start date exists. If so the user is asked whether the vacation has to be added, or that the existing vacation, or the vacation directory has to be renamed.
If there is no vacation with the same date, the user is just asked whether the vacation shall be added or not, or whether the importing has to be completely stopped.

File: Export vacations to KML file

TODO

File: Export selected vacation to KML file

This creates a kml file (for Google Earth) for the current vacation.

File: Import information from a KML/KMZ file

This is used to import Placemarks from a KML file into your vacations. This is mainly used for importing information from your Google Timeline.

Importing information from your Google Timeline

If you share your location with Google, Google creates your Timeline. You can view your timeline at https://timeline.google.com/ .
To view your timeline for a specific date, select that date in the top left menu. Then on the left you see an overview of the steps and the maps shows the locations and routes.
Click on the cockwheel near the bottom right and select ‘Export this day to KML’. This will create a file history-<date>.kml file in your Downloads folder.
Now use ‘File/Import information from a KML/KMZ file’ in the Vacations application.

File: Create OsmAnd import file

This is used to create an OsmAnd import file.

File: Create TomTom ov2 file

This creates a TomTom ov2 file, which you can upload to your TomTom.

File: Edit property descriptors

TODO

File: Edit properties

TODO

File: Map Snapshot popup

TODO

File: Use demo vacations file