OpenHours in Tasks.csv

149 views
Skip to first unread message

AndroidOnlyGTD

unread,
Oct 11, 2019, 8:25:56 AM10/11/19
to MyLifeOrganized
Dear MLO support group,

I am using MLO-Android Pro since about two months and I am quite happy with it.
I am a bit stuck when it comes to setting up OpenHours for my contexts.

The most practical way for me to accomplish this seems to be via Tasks.csv,
as I do not own any Windows nor iOS devices.

Could someone please give me an example on how to format the OpenHours field in tasks.csv within the MLO-Android mlobak archive?

E.g. by
1) set up a context "datetest" with OpenHours"Mon-Fri 9am-5pm" in MLO-Windows
2) export the backup profile
3) open the backup Profile with winrar/winzig
4) open the included tasks.csv file with notepad
5) search for "datetest" line within tasks.csv and send it to me.

Many thanks in advance

AndroidOnlyGTD

unread,
Oct 12, 2019, 3:25:40 PM10/12/19
to MyLifeOrganized
####
##      A Geeks Guide to Context Hours in MLO-Android 3
#

1) Abstract
2) Format Description
3) Step by Step Instructions

####
##      1) Abstract
#          aka: Why I spent 8 hours reverse engineering a MLOBAK of wine-exported MLT template =)

My Life Organized is GTD style task management application for Windows, Android and iOS.
The Android version of MyLifeOrganized v 3.2.3 lacks any functionality for editing "Context Hours" directly.
This document describes a workaround for setting up "Context Hours" on standalone Android,
by manually calculating and injecting a hexadecimal string into a csv-based MLO-Android backup file.

####
##      2) Format Description
#          see also: MLT-ContextHours-ReverseEngineer.png

This section describes the opening hours of a fictional context @OfficeSpace,
which are Mondays to Fridays 08:15 - 12:15 and and 12:45 - 16:45.

MLO Android v3.2.3 provides a backup/restore functionality for exporting/importing a "*.mlobak" file.
This is a simple ZIP file, which contains two files: "tasks.csv" and "views.xml".
The "tasks.csv" file contains - amongst other things - context definitions within a "[Places]" section.


The "[Places]" format is defined as:
        UID,Caption,HideFromTodo,HideFromItemProps,OpenHours,Note,Latitude,Longitude,Radius,NotifyWhenArrive,NotifyWhenLeave
It looks like this:
        {AC6CC3D8-FB3D-4929-AB4B-80C9EDA62F13},@OfficeSpace,0,0,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800060001FFFFFFFFFFFFFFF800060001FFFFFFFFFFFFFFF800060001FFFFFFFFFFFFFFF800060001FFFFFFFFFFFFFFF800060001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,,,,,0,0

The "OpenHours" field has a fixed length of 168 hexadecimal characters, one for each hour of the week (7*24=168):
        FFFFFFFFFFFFFFFFFFFFFFFF
        FFFFFFFF800060001FFFFFFF
        FFFFFFFF800060001FFFFFFF
        FFFFFFFF800060001FFFFFFF
        FFFFFFFF800060001FFFFFFF
        FFFFFFFF800060001FFFFFFF
        FFFFFFFFFFFFFFFFFFFFFFFF
The week starts on sunday at 00:00, thus character 32 corresponds to monday 08:00-09:00.
Each hour is devided into 4 intervals of 15 minutes each: 00-15,15-30,30-45,45-60

There are 16 states per hour (4*4), wich are defined as (O=Open, c=closed):
HexChar  0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F
4x15min  OOOO OOOc OOcO OOcc OcOO OcOc OccO Occc cOOO cOOc cOcO cOcc ccOO ccOc cccO cccc
Thus a hexadecimal "6" would represent OccO, which would be the 30-minute lunchbreak in this @OfficeSpace example.

The following 7*24 grid is a human-readable representation of @OfficeSpaces OpenHours field.
        00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23   HOUR / DAY    OPENING HOURS TEXT
        F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F    Sunday
        F  F  F  F  F  F  F  F  8  0  0  0  6  0  0  0  1  F  F  F  F  F  F  F    Monday        08:15-12:15, 12:45-16:45
        F  F  F  F  F  F  F  F  8  0  0  0  6  0  0  0  1  F  F  F  F  F  F  F    Tuesday       08:15-12:15, 12:45-16:45
        F  F  F  F  F  F  F  F  8  0  0  0  6  0  0  0  1  F  F  F  F  F  F  F    Wednesday     08:15-12:15, 12:45-16:45
        F  F  F  F  F  F  F  F  8  0  0  0  6  0  0  0  1  F  F  F  F  F  F  F    Thursday      08:15-12:15, 12:45-16:45
        F  F  F  F  F  F  F  F  8  0  0  0  6  0  0  0  1  F  F  F  F  F  F  F    Friday        08:15-12:15, 12:45-16:45
        F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F    Saturday

####
##      3) Step by Step Instructions
#          see also: MLO3-ContextHours-Android.jpg

# 3.1) Required Apps:
- MLO-Android v3.x
- RAR       (or other ZIP archiver)
- TurboEdit (or other TXT editor)

# 3.2) Use above 24*7 grid from as template and remove headers/spaces/linebreaks to form your 168 character OpenHours string.

# 3.3) Export your profile via MLO-Android: Settings -> Backup

# 3.4) Extract tasks.csv und views.xml from the exported mlobak file, e.g. by using RAR "open as archive"

# 3.5) Open tasks.csv with TurboEdit and search for your context definition, e.g. @OfficeSpace.

# 3.6) Set OpenHours field according to 3.2) and save tasks.csv

# 3.7) Create a new profile.mlobak file in ZIP format, containing views.xml and the updated tasks.csv

# 3.8) Import the new profile.mlobak archive via MLO-Android: Settings -> Backup

# 3.9) Verify Context Hours are correct via MLO-Android: Contexts -> Details

MLO3-ContextHours-Android.jpg
MLT-ContextHours-ReverseEngineer.png

Jeff Smith

unread,
Oct 12, 2019, 3:32:48 PM10/12/19
to mylifeo...@googlegroups.com
Thanks we need more like that, and an easy way to find the one we need at the moment

Virus-free. www.avg.com

--
You received this message because you are subscribed to the Google Groups "MyLifeOrganized" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mylifeorganiz...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mylifeorganized/7fe19955-094f-4a65-92a9-b130fc9babc2%40googlegroups.com.


--
 "It is not what I believe that will make-or-break; It is what I'm doing about it." --Jefferson Smith

Virus-free. www.avg.com

Radek Pilich

unread,
Mar 20, 2022, 7:21:17 AM3/20/22
to MyLifeOrganized

Is this still valid for v4?

Radek Pilich

unread,
Nov 25, 2022, 5:24:20 PM11/25/22
to MyLifeOrganized
It is now possible to edit Open Hours on Android, yeeaaah! 
Reply all
Reply to author
Forward
0 new messages