PHP classes to read an OmniFocus backup and convert it to Todomove\Intercessor classes
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
Reader.php
composer.json
composer.lock
run.php

README.md

OmniFocus Backup Reader

This is a work in progress and will be improved as I improve Intercessor.

This class reads an OmniFocus backup file (from File->Export->File Format->Backup Document (Omnifocus)), and provides access to folders, projects, tasks, and contexts with TodoMove\Intercessor classes, which provides a nice fluent interface, and will allow the items to be transformed and exported to different services if needed.

All classes returned are from TodoMove\Intercessor

Installation

composer require todomove/omnifocus

Basic Class Usage

composer install

require __DIR__ . '/vendor/autoload.php';
use TodoMove\Service\Omnifocus\Reader;
 
$omnifocus = OmnifocusReader::loadBackup($pathToZipFile);

$tags = $reader->tags(); // Array of your Omnifocus contexts, converted to `TodoMove\Intercessor\Tag`
$folders = $reader->folders(); // Array of `TodoMove\Intercessor\ProjectFolder`
$projects = $reader->projects(); // Array of `TodoMove\Intercessor\Project`
$tasks = $reader->tasks(); // Array of `TodoMove\Intercessor\Task`

Example script usage

php run.php [path to backup.zip]

Notes

  • The OmniFocus backup process (File->Export->File Format->Backup Document(OmniFocus)) produces a .zip file with a contents.xml which lists all of your folders, projects, contexts and tasks.
  • Doesn't support specific week day repeats