Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felixjung/things-status-board
A Status Board panel displaying your Things.app tasks for Today.
https://github.com/felixjung/things-status-board
Last synced: 8 days ago
JSON representation
A Status Board panel displaying your Things.app tasks for Today.
- Host: GitHub
- URL: https://github.com/felixjung/things-status-board
- Owner: felixjung
- Created: 2013-04-17T09:18:34.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-07-28T20:12:45.000Z (over 9 years ago)
- Last Synced: 2023-06-05T09:20:16.817Z (over 1 year ago)
- Language: AppleScript
- Size: 138 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Notice
I'm no longer maintaining the Things status board as Panic is currently working on Status Board 2. If anyone would like to take over development, please let me know.# Things Status Board Panel
![Things SB Panel Screenshot](https://dl.dropboxusercontent.com/u/220991/things-status-board.png)
[Status Board](http://panic.com/statusboard/) is an iPad app by [Panic Inc.](http://panic.com/) that allows you do display (visualised) data from a plethora of sources on your iPad.
This DIY panel for Status Board displays tasks from the 'Today' list of [Things.app](http://culturedcode.com/things/) by [Cultured Code](http://culturedcode.com/), including the number of days until their due date (should they have one) and their corresponding area or project.
This work is a modification of Gunther Groenewege's [original implementation](http://blog.g-design.net/post/47693093316/integrating-things-with-panics-status-board) of a Things.app integration into Status Board. I have taken the liberty of adding automatic background updates and days until due date whilst removing any tasks not included in the 'Today' list -- I believe you should manage your GTD priorities in Things and use Status Board to focus on current tasks.
## How it works
This DIY panel is supposed to be used with [Dropbox](http://dropbox.com) but can easily be modified for use with a web server. A local component consisting of an AppleScript, a shell script, and a plist file that allows you to periodically call the shell script via launchd. The remote component resides in your public Dropbox folder and consists of a .csv file (created by the local component), a .css file, a javascript file, and an html file.The local AppleScript extracts the tasks from your 'Today' list and returns them as text in csv format. The shell script that calls the AppleScript writes the returned text into the csv file in your public folder on Dropbox. The csv file is read and processed into html by the javascript in your dropbox when Status Board loads the html file through its public url.
## Setup
1. Put the shell script and the AppleScript into your ~/Library/Sripts folder (I made a sub-folder for this).
2. Change the paths inside the shell script to match that of the AppleScript and the destination of your csv file (the latter should be somewhere in your public Dropbox folder; preferably in the same folder as the files in the next step).
3. Copy the css, js, and html files to your public Dropbox folder (again, I've created a sub-folder like above).
4. Modify the URL to the css file ('http://URL-TO-THE-CSS-FILE') inside the html file to match its public url given by Dropbox.```html
@import url("http://URL-TO-THE-CSS-FILE");
```
5. Modify the URL to the js file inside the html file to match its public url given by Dropbox.
```html
```
6. Modify the URL to the csv file inside the js file to match its public url given by Dropbox.
```javascript
function daemon() {
$.ajax({
type: "GET",
url: "http://URL-TO-THE-CSV-FILE",
dataType: "text",
success: function(data) {processData(data);},
complete: function(data) {
setTimeout(daemon, 300000);
}
});
}
```7. Put the plist file into ~/Library/LaunchAgents.
8. Modify the path to your script folder inside the plist file to match the folder where the shell script is stored.```xml
ProgramArguments/PATH/TO/SCRIPT/FOLDER/exportThingsTasksToCSV.sh
```
9. Modify the path to your csv file folder inside the plist file to match the folder inside your public Dropbox folder, where the csv file is stored.
```xml
StandardOutPath
/PATH/TO/DROPBOX/FOLDER/CONTAINING/CSV/FILE/tasks.csv
```10. Load the service into launchd as shown for example [here](http://nathangrigg.net/2012/07/schedule-jobs-using-launchd/).
### Optional
11. Change the time intervals inside the plist file and the js file; the start interval value and setTimeout value, respectively.## Future
* Redesign the panel.
* More features / more modular setup.
* ...