Сообщество Macster

В этом разделе читатели Macster могут выразить свои претензии редакции, оставить хвалебный отзыв или просто поделиться ускользнувшими от чуткого глаза редакции фактами.

03 ноября 2009   |   22:23:14

Советы / Things и Dropbox: простое решение сложной проблемы


Редакция Macster уже публиковала обзоры GTD-приложения Things и программы для синхронизации данных Dropbox. На этот раз речь пойдет о том, как использовать их вместе для более удобной работы на нескольких компьютерах.
 
Things — один из самых удобных и простых в использовании GTD-клиентов. Но если вы решите использовать эту программу на нескольких компьютерах, вы можете столкнуться с проблемой синхронизация данных между ними. Например, одну и ту же базу данных будет довольно сложно синхронизировать между домашним и рабочим ПК, поддерживающими разные платформы. Эта же проблема может возникнуть, если вы используете несколько компьютеров с различными версиями Mac OS X. Работа с Things в таком случае становится крайне неудобной, и теряется весь смысл планирования дел по методике GTD.


Полный текст статьи: http://www.macster.ru/howto/things-i-dropbox-prostoe-reshenie-slozhnoj-problemy
14 ноября 2009   |   17:36:40
К синхронизации стоит подходить с некоторой осторожностью. Всё работает идеально, когда программа, данные которой синхронизируются, запущена только на одном компьютере одновременно. Желательно проверить, что будет с данными на одном компьютере при запущенной программе, если данные изменять в то же время на другом.
 
В Things нет механизма блокировки файла и он не подразумевает, что данные могут быть изменены извне.
 
Тест - Things запущен на Mac1. Я эмулирую изменение данных на Mac2, изменяя название одной задачи в Database.xml. Выхожу из Things на Mac1 - xml файл при выходе записался и никаких изменений, сделанных на Mac2 нет.
 
Т.е. Things синхронизировать недопустимо, если программа может использоваться на двух компьютерах одновременно.
 
Serdyukov Oleg
http://theapplegeek.ru
16 ноября 2009   |   21:49:39
Предыдущий автор прав, однако, если пользоваться этим решением одному человеку (а не коллективу), то проблем скорее всего не возникнет.
18 ноября 2009   |   12:52:07
Тема человеческой синхронизация с iPhone не раскрыта. Not so
19 декабря 2009   |   23:58:17

Вылетает программа.

А кто, что скажет по поводу вылета программы "Things" если делать ссылки на папку. Причем вылетает на любой mac os (10.5, 10,6)! Версия программы "Things Версия 1.2.5 (1250)" Dropbox v0.7.79
20 декабря 2009   |   00:13:37
soulache
Предыдущий автор прав, однако, если пользоваться этим решением одному человеку (а не коллективу), то проблем скорее всего не возникнет.
Более правильный метод - запретить работать одновременно одной программе в двух местах.
Но это требует ухищрений - нужно написать wrapper, который будет выставлять lock-файл перед запуском программы, а если он уже нет, то выходить. В конце работы программы lock-файл удаляется. Таким образом содержимое будет целостным, даже если будет работать один человек в двух местах.
Представьте, как бывает досадно, когда вся твоя работа накрылась из-за "особенности" работы программы
20 декабря 2009   |   00:23:02
macik
А кто, что скажет по поводу вылета программы "Things" если делать ссылки на папку. Причем вылетает на любой mac os (10.5, 10,6)! Версия программы "Things Версия 1.2.5 (1250)" Dropbox v0.7.79
Напиши мне детальнее, как ты это делаешь по контактам в http://theapplegeek.ru/about и я взгляну.
 
Так я не вижу никакой
$ cd ~/Library/Application\ Support/Cultured\ Code
$ mv Things ~/Dropbox/Private/
$ ln -s ~/Dropbox/Private/Things .
$ ls -al
total 16
drwxr-xr-x    4 ctrld  staff   136 Dec 19 23:20 .
drwxr-xr-x+ 100 ctrld  staff  3400 Dec 15 20:57 ..
-rw-r--r--    1 ctrld  staff   378 Sep  2 16:40 Licenses.plist
lrwxr-xr-x    1 ctrld  staff    35 Dec 19 23:20 Things -> /Users/ctrld/Dropbox/Private/Things
 
Запускаю Things - всё в порядке.
Things 1266
Dropbox 0.7.79
но версии абсолютно ни при чём, так как это изменения на уровне файловой системы
 
Serdyukov Oleg
http://theapplegeek.ru/
20 декабря 2009   |   00:30:09
macik
А кто, что скажет по поводу вылета программы "Things" если делать ссылки на папку. Причем вылетает на любой mac os (10.5, 10,6)! Версия программы "Things Версия 1.2.5 (1250)" Dropbox v0.7.79
Я понял, ты делаешь не symlink в Terminal.app (ln -s ... ...), а "Make Alias" в Finder на папку Things. И вот тогда Things вываливается с ошибкой:
 
Exception Type:  EXC_BREAKPOINT (SIGTRAP)
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
 
Alias - это просто особый файл (_Things - это нормальный каталог, на который я сделал Alias):
$ ls -al
total 2040
drwxr-xr-x    5 ctrld  staff     170 Dec 19 23:25 .
drwxr-xr-x+ 100 ctrld  staff    3400 Dec 15 20:57 ..
-rw-r--r--    1 ctrld  staff     378 Sep  2 16:40 Licenses.plist
-rw-r--r--@   1 ctrld  staff  519192 Dec 19 23:25 Things
drwxr-xr-x    5 ctrld  staff     170 Dec 19 23:23 _Things
 
А Things хочет увидеть нормальный каталог. И вылетает.
 
Хотите ответов - пишите по адресам, указанным в http://theapplegeek.ru/about , в форум я зашёл случайно.
 
Serdyukov Oleg
http://theapplegeek.ru
20 декабря 2009   |   00:37:14
iCopycat
  Тема человеческой синхронизация с iPhone не раскрыта. Not so

Синхронизации с iPhone, кроме как через Bonjour, сейчас нет. Может будет в следующих версиях, сиё мне неизвестно :-)
Cultured Code проанонсировала версию 1.4 под iPhone:
http://culturedcode.com/forums/read.php?8,32392,32393,page=1
 
Можно искать на форуме Cultured Code их планы реализации синхронизации, но прыгнуть выше головы невозможно, особенно на не-jailbreak iPhone. На jailbreak можно было бы пытаться копировать Database.xml (если он именно в том же формате, но что-то я сомневаюсь).
 
Serdyukov Oleg
http://theapplegeek.ru
20 декабря 2009   |   01:59:13
ctrld
macik
А кто, что скажет по поводу вылета программы "Things" если делать ссылки на папку. Причем вылетает на любой mac os (10.5, 10,6)! Версия программы "Things Версия 1.2.5 (1250)" Dropbox v0.7.79
Напиши мне детальнее, как ты это делаешь по контактам в http://theapplegeek.ru/about и я взгляну.
 
Так я не вижу никакой
$ cd ~/Library/Application Support/Cultured Code
$ mv Things ~/Dropbox/Private/
$ ln -s ~/Dropbox/Private/Things .
$ ls -al
total 16
drwxr-xr-x    4 ctrld  staff   136 Dec 19 23:20 .
drwxr-xr-x+ 100 ctrld  staff  3400 Dec 15 20:57 ..
-rw-r--r--    1 ctrld  staff   378 Sep  2 16:40 Licenses.plist
lrwxr-xr-x    1 ctrld  staff    35 Dec 19 23:20 Things -> /Users/ctrld/Dropbox/Private/Things
 
Запускаю Things - всё в порядке.
Things 1266
Dropbox 0.7.79
но версии абсолютно ни при чём, так как это изменения на уровне файловой системы
 
Serdyukov Oleg
http://theapplegeek.ru/
Все сработало по вашей инструкции. А что делает команда ls -al?