Picasa Unleashed или делаем мобильную базу данных.

Мне очень нравится Picasa от Google. Ею исключительно удобно пользоваться для организации и каталогизации отснятого фотоматериала. С последующим длительным хранением и исключительно быстрым поиском, при условии правильно подготовленного каталога.

Что ничуть не умаляет её возможности по беглой ретуши цветокоррекции и подготовке фотоснимков к печати.

picasa_3_backup_logo

От тотального её использования меня ограждала невозможность быстрого и полноценного переноса базы. То есть, мобильности. И чего только стоит база миниатюр, которая со временем непомерно разрастается. И это на системном диске!

А чтобы организовать фотоколлекцию в несклько десятков тысяч снимков, нужно затратить огромное количество времени и усилий.

То есть, я уперся в три страшных «А вдруг…»

а вдруг на системном диске закончится место?
а вдруг навернется Windows?
а вдруг мне понадобится работать со своей фотоколлекцией на другом компъютере?

Начал копать внутрь проблемы. Сидел в юзер-группах и форумах Picasa. Облазил на предмет мобильности всё и вся. И что я обнаружил?

А то, что Google давно уведомлен о ситуации. И, что все давно хотят такую фичу, но, видимо, он преследует какие-то свои интересы и привносить в программу элемент мобильности, не спешит.

Но все же кое-что мне удалось накопать. А что-то, я доделал сам.

Встроенный в Picasa метод бекапа, это далеко не мобильная база, я о нем знаю, так что просьба, пальцем в него не тыкать.

Итак, предлагаю на ваш суд, способ сделать базу данных Picasa мобильной или другими словами – переносимой.


Picasa хранит всё свое хозяйство в одной папке:

в WinXP — это будет %systemdrive%\Documents and Settings\%username%\Local Settings\Application Data\Google

в Vista/Windows 7 — это будет %systemdrive%\users\%username%\AppData\Local\Google

Заставить Picasa поместить свой хлам в другом месте, будь то флэшка или другой съемный носитель, возможности нет. Вообще-то есть, но это не даст нам мобильности. Поэтому, оставим Picasa в покое и займемся системой.

А именно, подменим базу данных Picasa и заставим её думать, что она и дальше общается со своим привычным хранилищем, данных.

Здесь нам сослужит службу достаточно редко используемая возможность файловой системы NTFS, создавать точки монтирования (Junction Points). Проще говоря, вместо родной конечной папки Google, мы подсунем ему папку Google на сменном носителе.

Для этого нам понадобится маленькая консольная программка linkd, взятая из
Windows Server 2003 Resource Kit Tools или отсюда, если линка еще жива.

Она то и будет создавать нужные нам точки монтирования.

Итак подготовительная работа:

1. Устанавливаем Picasa начисто.
2. Запускаем, для того, чтобы она посоздавала себе все нужные ей папки, и настройки и сразу же закрываем.
3. Готовим сменный носитель. Он должен быть отформатирован в NTFS. Я использую внешний жесткий диск, подключаемый по USB. Отвел его исключительно под фотоколлекцию в формате Picasa. Для себя, я создал следующую структуру файлов на диске:

Папка Link – в ней будет храниться скрипты, необходимые для монтирования накопителя.
Папка Photo – нужна для хранения, непосредственно, фотографий.
Папка PicasaDB – Её мы и будем монтировать. Здесь лежит святая святых Picasa, все настройки, теги, база тамбнейлов, данные об альбомах, и прочая служебная информация, ради которой все и затевалось.

4. Важно! На всех системах куда вы планируете монтировать съемный диск, он должен фигурировать под одной буквой, пускай это будет «P:». Для этого, каждый раз, при подключении к новой системе, мы эту букву будем задавать. Идем в Пуск -> Выполнить – набираем compmgmt.msc, жмем ОК. Переходим в Запоминающие устройства -> Управление дисками. Находим здесь наш съемный диск, и по правой кнопке выбираем пункт «Изменить букву диска или путь к диску». Меняем на нужную букву. У меня – это «P:». Всё, теперь на этой системе, данный диск при подключении каждый раз будет получать букву «P:». Скорее всего, вы будете подключать такой диск к 2-3 ПК, скажем, дома и на работе, ну, быть может, еще ноутбук. Так что, делается это очень конечное количество раз.
5. Копируем в папку PicasaDB на сменном носителе, содержимое папки Google с системного диска исходя из версии Windows.
в WinXP — это будет %systemdrive%\Documents and Settings\%username%\Local Settings\Application Data\Google
в Vista/Windows 7 — это будет %systemdrive%\users\%username%\AppData\Local\Google
То есть, в папке PicasaDB окажутся такие папки, как Picasa2, Picasa2Albums, GBScreensaver и Crashreports. Возможно в более новых версиях будет еще что-то. В любом случае, копируем всё.
6. Теперь самое интересное. Монтирование/Демонтирование. Для этих нужд я создал следующие скрипты, они лежат у меня на съемном диске в папке Link:

Mount_Vista_Win7.cmd

cd %systemdrive% //переходим на системный диск
cd Users\%username%\Local Settings\ //входим в папку содержащую подпапку Google
p:\Link\linkd google /D //на случай, если папка уже когда-то была смонтирована, демонтируем её (если нет – ничего страшного, скажет что нету такой и пойдет дальше)
ren google google_BK //переименовываем существующую исходную папку (может мы, все же на, чужом компе, мы же не хотим запороть кому-то базу)
p:\Link\linkd google p:\PicasaDB //монтируем папку PicasaDB со сьемного носителя вместо оригинальной.
pause //это по желанию, чтоб посмотреть лог исполнения скрипта.

Mount_WinXP.cmd

cd %systemdrive% //переходим на системный диск
cd Documents and Settings\%username%\Local Settings\Application Data\ //входим в папку содержащую подпапку Google
p:\Link\linkd google /D //на случай, если папка уже когда-то была смонтирована, демонтируем её (если нет – ничего страшного, скажет что нету такой и пойдет дальше)
ren google google_BK //переименовываем существующую исходную папку (может мы, все же на, чужом компе, мы же не хотим запороть кому-то базу)
p:\Link\linkd google p:\PicasaDB //монтируем папку PicasaDB со сьемного носителя вместо оригинальной.
pause //это по желанию, чтоб посмотреть лог исполнения скрипта.

Unmount_Vista_Win7.cmd

cd %systemdrive% //переходим на системный диск
cd Users\%username%\Local Settings\ //входим в папку содержащую подпапку Google
p:\Link\linkd google /D //демонтируем внешний диск
ren google_BK google //возвращаем оригинальную папку на место
pause //это по желанию, чтоб посмотреть лог исполнения скрипта.

Unmount_WinXP.cmd

cd %systemdrive% //переходим на системный диск
cd Documents and Settings\%username%\Local Settings\Application Data\ //входим в папку содержащую подпапку Google
p:\Link\linkd google /D //демонтируем внешний диск
ren google_BK google //возвращаем оригинальную папку на место
pause //это по желанию, чтоб посмотреть лог исполнения скрипта.

Там же лежит программка linkd.

Итак проверим все ли у нас готово:
1.    Установлена Picasa
2.    Съемный диск отформатирован в NTFS
3.    Создана соответствующая структура папок на нем. (если хотите поменять структуру, Вам придется править скрипты. Если вас устраивает моя – качаем отсюда).
4.    Диску присвоена нужная буква.

Теперь как этим пользоваться.
1.    Подключаем (физически) диск.
2.    Запускаем Mount-скрипт для соответствующей версии Windows из папки Links.
3.    Запускаем Picasa. Говорим ей, чтоб постоянно отслеживала папку P:\Photo. Теперь все фотки будем складировать именно там.
4.    Настраиваем под свои нужды и начинаем полноценно с ней работать. Сортировать фотки, редактировать, прописывать теги, постить на веб, в общем, все что вам от нее нужно.
5.    Когда работа закончена, можно отключать диск. Для этого, запускаем соответствующий скрипт демонтирования из папки Links.
6.    Диск можно отключать (физически).

При таком использовании у Вас будет две базы Picasa. Локальная, для каждого конкретного компа, с локальными же настроками. И съемная, вылизанная до блеска, Ваша любимая фотоколлекция.

Если вы забыли демонтировать диск – не беда. Просто у вас перестанет работать локальная база, до тех пор, пока не будет исполнен скрипт демтмонтажа. Если Вы осознаете этот факт, и локальная база вам не нужна, то можете даже не демонтировать внешний диск. В следующий раз когда Вы подключите съемный диск, Picasa увидит его и начнет использовать, без монтажа.

Если Picasa надумает обновиться, опять же, ничего страшного, она обновиться дважды: когда подключен съемный диск и без него, локально.

Очень Важно! А и это… чуть не забыл: Используя этот материал, вы осознаете, что что-то может пойти не так, правда?

P.S. На самом деле, все не так сложно, как может показаться. Но если кто-то считает, что можно сделать проще или лучше, буду рад исправлениям,  дополнениям и комментариям.

Posted Monday, August 10th, 2009 under Ворчу, Придумываю, Созидаю.

5 comments

  1. Статья интересная, но не осилил…

    Может та ну его ..? Не проще ли?: http://www.google.com.ua/search?hl=en&q=picasa+portable

  2. Paul Kyrejto says:

    Может оно и так, а обновлять то её как? Вы не в курсе?

  3. Вместо %systemdrive% и %user% используйте %userprofile% . Тогда будет единый скипт для XP и Висты

    Нужно отметить, что перед физическим отключением диска нужно обязательно делать “безопасное извлечение устройства”

  4. Paul Kyrejto says:

    И правда! Рад, что Вы нашли время прочесть. Благодарю, поправлю.

  5. Спасибо за статью, очень полезно.

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes