Full instructions/options
The instructions below look pretty long but the setup is really quite simple, it just looks long because I provide multiple implementation options for each main step to make this work for the most people. People may have different syncing solutions, ways they like to run their scripts, export format choices, etc and I wanted to make sure I addressed as much as I could, so donât be intimidated.
Part 1 The Script
Disclaimer: Always back up your data just in case.
Attached is the applescript. There are extensive directions and annotations in it to help with configuring it for your system, but the essential steps are
-
Change the two existing paths to match the directory with your outlines and the directory you want to export to (they can be the same). Depending on your sync solution you may need to export to a certain directory like your Dropbox folder (more on this later). Note: The script will search all subfolders for outlines.
-
Optional: You can change the export format by changing Both the extension of the output file as well as replacing the export type identifier after the âasâ command. (thoughts on file type selection later)
There are some additional features Iâve added to this script.
A) Instead of exporting every file every time this script actually checks and compares the modification dates of the OO3 and exported file to see if there have actually been any new changes to the file. This is to keep the footprint light as this script is meant to be run periodically around the clock to always keep your exports up to date.
B) This design is assuming that you will not be editing your exported files (ie using them read only). There are instructions to disable this if you plan on editing your exported files but I donât recommend this as it will be very hard to keep track. Best to jot down notes somewhere else and add them to the OO files when you are back at your computer.
C) Keeps any currently open outlines open after exporting so you are not interfered with. However, if there other documents being exported they may flash quickly when the script is run. I have not figured out how to open documents via applescript without them coming to the front intially.
D) You can add names of files you donât want exported
Part 2 Running the script periodically
There are several ways to run the script.
The free way is to just use iCal to schedule the script to run at a set interval. I believe you can also make the script into an app and add extra code to have it run periodically. Of course, you can also just run it manually every time you want to update all your exports.
The way I do it is I use a program from the Mac App Store called Scenario. This app lets you set a script to run whenever the computer is idle or screensaver comes on. This is great because the script/exporting will only happen when you are not working guaranteeing you wonât be interfered with (even though the script as written will rarely bother you). There are ways to accomplish this for free with just code so it depends if you want to do the extra effort or just buy the program.
Part 3 Sync/make the exported files available to your devices
The final step is to sync all your exports.
A quick note about export file format choice first: I recommend using only either HTML (Dynamic) or Microsoft Word (.docx). This is because these are the only two formats which export the entire outline contents no matter what. The others will not actually export any rows that are in a collapsed row, so unless you can remember to keep all your outlines fully expanded at all times I would stick withe HTML Dynamic or Word. HTML Dynamic is really the best of all because it both preserves indentation and you can actually collapse rows dynamically. The only downside is itâs a bit trickier to sync because I found they donât work as well with Dropbox and Google Drive for some reason.
The most obvious way is just to put the exported files in the folder of an automatic syncing solution like Dropbox or Google Drive and access them through their iPhone apps or publicly share the folder. You will want to use Word as your export format if you go this route, and this is perfectly fine for shorter outlines. If any of you can get HTML Dynamic working in these or other sync services let me know (this, and viewing other file types in general, would be a great feature for OmniPresence to implement, hint hint)
For the ultimate experience youâll want to export to HTML Dynamic and make them available to your other devices. What I do is put the files up on a directory on my web hosting. I set up an FTP watch folder with my FTP client that automatically syncs any new/changed files to my host (I use YummyFTP because itâs rock solid reliable but I think free clients like Cyberduck have this, too). I can password protect directories on my host so this works really well for me. The FTP watch folder is actually located in my Google Drive so I still do have offline access to the raw html in case I really need it but canât view it through my browser.
So that should give you everything you need to make all your omni notes/data available and up to date anywhere and on any platform.
I think in this day and age of fully synced Google Docs, Evernote, Office Online, etc, it is crucially important for a software/format like OmniOutliner at make its data portable, at least viewable/read only. Iâm hoping Omni can bake all this into their existing products so an external solution isnât even necessary, they really have most of the pieces in hand.
This is my first applescript so let me know if you see anything that can be done better. One thing I couldnât figure out is how to preserve the folder structure in the export folder to keep the same organization your outline were in.