Re: [ploneru] Re: миграция ZODB->FSS

2 views
Skip to first unread message

Бессарабова Ирина

unread,
Oct 26, 2009, 7:46:42 AM10/26/09
to plon...@googlegroups.com
Хочется зафиксировать для истории свой опыт миграции на FSS, так как для меня он оказался нетривиальным.
Возможность миграции добавлена в версию 2.8. Причем в версии 2.8a1 в migration.py существует ошибка, очень похожая на опечатку (обращение к переменной obj, которая нигде собственно не инициализирована). Я поставила в итоге 2.8b1. Шаги по миграции следующие:
1) поставить iw.fss 2.8.0b1
2) если имеются кастомные типы, которые должны храниться в файловой системе, добавить в configure.zcml кастомного продукта следующий xml:
<configure
..
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:fss="http://namespaces.ingeniweb.com/filesystemstorage"
..>
..
<fss:typeWithFSS
zcml:condition="installed iw.fss"
class="Products.ATContentTypes.atct.ATFile" // имя класса
fields="file" /> // имя поля
..
</configure>

То есть мы сообщаем fss доп. информацию о классе объектов и имя поля
3) Для выполнения миграции необходимо, чтобы была задана стратегия хранения. Чтобы ее задать, нужно в buildout.cfg в секции fss прописать следующее

storages=global /
имя_папки /имя_инстанса стратегия (например, site1)

Пересобрать инстанс (./bin/buildout) и перезапустить его

4) После этого пойти в plone_control_panel и в FileSystem storage Preferences. Посмотреть, что в Patched types присутсвуют данные о кастомном типе. После чего пойти во вкладку Migration, обязательно прочитать все инструкции=) и выполнить миграцию.

Ну и конечно, все перечисленные действия нужно делать не на рабочем сайте и(или) делать бекап базы.
После того, как я это сделала у себя, обнаружила на плон.орг Plone2FSS продукт, который тоже, судя по описанию, позволяет мигрировать на FSS.

Надеюсь, кому-нибудь мой пост будет полезен =)

23.10.09, 17:29, "Бессарабова Ирина" :

> Сорри, ошибку исправила. Забыла добавить xmlns:zcml.
> 23.10.09, 16:27, "Бессарабова Ирина" :
> > Ну, да. Сейчас изучаю. Только не совсем в стандартных доках. Миграция появилась в версии 2.8a, поэтому она собственно и альфа.
> > Процесс такой, если я правильно поняла их "крученный" README:
> > 1) ставим iw.fss 2.8a
> > 2) говорим в configure.zcml своего продукта, какой класс будет поддерживать fss и имя поля:
> >
> > ...
> > // у меня image
> > ...
> >
> > 3) после рестарта идем в конфиглет FSS и говорим migrate
> > На втором шаге у меня ошибка, ругается на пространство имен.
> > ...
> > ZopeSAXParseException: File "/opt/plone-3.2.1/smolny/src/religion.religioncontent/religion/religioncontent/configure.zcml", line 23.4, unbound prefix
> > В чем может быть проблема?
> > И непонятно, зачем 2 портала? В смысле, что на продакшн сайте этого нельзя делать? Дык это понятно)
> > 23.10.09, 16:08, "Юрий Поляков" :
> > > Так в стандартных доках к fss описан процесс миграции.
> > > Насколько я помню:
> > > - нужно два портала
> > > - ...
> > > - ПРОФИТ!
> > > 2009/10/23 Бессарабова Ирина :
> > > > Здравствуйте,
> > > > Есть кастомный тип, с картинкой. Картинки раньше хранились в ZODB, теперь хочу использовать FSS. Поставила его, картинки, естественно, не показываются. Вопрос: как осуществить миграцию для поле ImageField c изменение storage на FSS без потери данных? Может кто сталкивался...
> > > > Ира
> > > >
> > > > >
> > > >
>

Юрий Поляков

unread,
Oct 29, 2009, 6:20:36 AM10/29/09
to plon...@googlegroups.com
Привет.

А для чего в данном случае пересобирать инсианс - чтобы конфиги fss
сгенерились?

После перезапуска и до выполнения миграции все картиночно-файловые
типы по идее должны перестать показывать свои картинки\файлы?

2009/10/26 Бессарабова Ирина <be...@yandex.ru>:

--
Юрий Поляков
+7 (916) 806-00-55
yuriy.p...@dija.ru

Бессарабова Ирина

unread,
Oct 29, 2009, 6:55:47 AM10/29/09
to plon...@googlegroups.com

29.10.09, 13:20, "Юрий Поляков" <tra...@gmail.com>:

> Привет.
> А для чего в данном случае пересобирать инсианс - чтобы конфиги fss
> сгенерились?

да.


> После перезапуска и до выполнения миграции все картиночно-файловые
> типы по идее должны перестать показывать свои картинки\файлы?

да(стандартные: image, file, event).
> 2009/10/26 Бессарабова Ирина :


> > Хочется зафиксировать для истории свой опыт миграции на FSS, так как для меня он оказался нетривиальным.
> > Возможность миграции добавлена в версию 2.8. Причем в версии 2.8a1 в migration.py существует ошибка, очень похожая на опечатку (обращение к переменной obj, которая нигде собственно не инициализирована). Я поставила в итоге 2.8b1. Шаги по миграции следующие:
> > 1) поставить iw.fss 2.8.0b1
> > 2) если имеются кастомные типы, которые должны храниться в файловой системе, добавить в configure.zcml кастомного продукта следующий xml:

> > zcml:condition="installed iw.fss"
> > class="Products.ATContentTypes.atct.ATFile" // имя класса
> > fields="file" /> // имя поля
> > ..
> >
> >

Юрий Поляков

unread,
Oct 29, 2009, 7:00:07 AM10/29/09
to plon...@googlegroups.com
т.е. мигратор достает данные из предыдущего хранилища, которое уже
нигде не описано т.к. zcml-патч на старте меняет storage на новый тип?

Интересно в какой момент старые данные дропаются, при паковке?

> да(стандартные: image, file, event).

--

Бессарабова Ирина

unread,
Oct 29, 2009, 8:50:25 AM10/29/09
to plon...@googlegroups.com
нет, данные не дропаются. просто их не видно. грубо говоря,плон обращается за данными не в то хранилище.

29.10.09, 14:00, "Юрий Поляков" <tra...@gmail.com>:

Юрий Поляков

unread,
Oct 29, 2009, 8:52:46 AM10/29/09
to plon...@googlegroups.com
Это я понял. Вопрос как раз в том, как их теперь правильно дропнуть?
export/import или простой паковки достаточно?

2009/10/29 Бессарабова Ирина <be...@yandex.ru>:

--

Бессарабова Ирина

unread,
Oct 29, 2009, 10:30:36 AM10/29/09
to plon...@googlegroups.com
a... я не подумала об этом. но думаю, что достаточно запаковать базу. по крайней мере ее размер становится заметно меньше после этого.

29.10.09, 15:52, "Юрий Поляков" <tra...@gmail.com>:

> Это я понял. Вопрос как раз в том, как их теперь правильно дропнуть?
> export/import или простой паковки достаточно?

> 2009/10/29 Бессарабова Ирина :


> > нет, данные не дропаются. просто их не видно.  грубо говоря,плон обращается за данными не в то хранилище.
> >

> > 29.10.09, 14:00, "Юрий Поляков" :

Reply all
Reply to author
Forward
0 new messages