Модификация BernArticleFile

8 messages Options
Embed this post
Permalink
Андрей Ханыкин

Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink
Добрый день, всем!

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

Тип BernArticleFile
Продукт BernArticle 1.0.1
Плон 2.5.2

На файловой системе менять нельзя, т.к. есть еще пачка инстансов плона,
которых эти изменения не должны коснуться.

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

besja

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink

Можно, например, добавить новое поле DataTimeField в схему этого типа и переписать accessor так, чтобы он устанавливал нужную дату. Кажется, метод setCreationDate это как раз делает. Если не хочется кастомизировать сам продукт, можно создать новый тип на основе BernArticleFile.
01.12.08, 10:14, "awk" <[hidden email]>:

> Добрый день, всем!

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

Тип BernArticleFile
Продукт BernArticle 1.0.1
Плон 2.5.2

На файловой системе менять нельзя, т.к. есть еще пачка инстансов плона,
которых эти изменения не должны коснуться.



--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

besja

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink
Сорри, не accessor, а mutator менять надо)

01.12.08, 22:34, "Бессарабова Ирина" <[hidden email]>:

>
Можно, например, добавить новое поле DataTimeField в схему этого типа и переписать accessor так, чтобы он устанавливал нужную дату. Кажется, метод setCreationDate это как раз делает. Если не хочется кастомизировать сам продукт, можно создать новый тип на основе BernArticleFile.
01.12.08, 10:14, "awk" <[hidden email]>:

> Добрый день, всем!

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

Тип BernArticleFile
Продукт BernArticle 1.0.1
Плон 2.5.2

На файловой системе менять нельзя, т.к. есть еще пачка инстансов плона,
которых эти изменения не должны коснуться.





--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

CyberhounD

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink
In reply to this post by besja
Чтобы не вносить изменения в продукт и не писать на его основе новый
тип можно попробовать сделать monkeypatch, который бы ставился не при
перезапуске Zope, а при установке его через /
prefs_install_products_form. Но могут возникнуть проблемы, например с
LinguaPlone.

З.Ы. http://en.wikipedia.org/wiki/Monkey_patch
        примеры в гугле :)

On 1 дек, 22:34, Бессарабова Ирина <[hidden email]> wrote:
>Если не хочется кастомизировать сам продукт, можно создать новый тип на основе BernArticleFile.
> 01.12.08, 10:14, "awk" <[hidden email]>:
>
> > Добрый день, всем!
>
>> На файловой системе менять нельзя, т.к. есть еще пачка инстансов плона,
>> которых эти изменения не должны коснуться.
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Андрей Ханыкин

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink


CyberhounD пишет:
> Чтобы не вносить изменения в продукт и не писать на его основе новый
> тип можно попробовать сделать monkeypatch, который бы ставился не при
> перезапуске Zope, а при установке его через /
> prefs_install_products_form. Но могут возникнуть проблемы, например с
> LinguaPlone.
>
Блин. Что ж так сложно-то всё. :-(
А нельзя через ZMI в скинах поправить?
Где-то, когда-то я видел примеры, как можно сделать новый контент-тип на
базе существующего... Как-нить так нельзя?

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Mikhail Kashkin-2

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink
Мне вообще кажется, что CreationDate - это не то поле которое надо редактировать. Или у вас бизнес-логика нарушена или пытаетесь под свою задачу подтянуть неправильное решение. 

А по существу вопроса, патч будет на 3 строки + copy-paste. Для создания новых типов есть framework, называется Archetypes. Достаточно мощная библиотека которая на себя берет кучу работы. Создавать с ее помощью новые типы не так уж и сложно, по умственному напряжению не сложнее создания таблиц в реляционной базе данных. Только тут в не надо по разным местам ходить, чтобы заодно учесть как отображаться пользователю и редактору в интерфейсе будет, ну и права можно распределить. Индексы, поля, ограничения и проверки... короче очень похоже.

2008/12/2 awk <[hidden email]>
Блин. Что ж так сложно-то всё. :-(
А нельзя через ZMI в скинах поправить?
Где-то, когда-то я видел примеры, как можно сделать новый контент-тип на
базе существующего... Как-нить так нельзя?


--
Mikhail Kashkin

--~--~---------~--~----~------------~-------~--~----~
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "Russian Plone Group" на группах Google.
 Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
[hidden email]
 Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: [hidden email]
 Дополнительные варианты находятся на странице группы http://groups.google.com/group/plone-ru?hl=ru

-~----------~----~----~----~------~----~------~--~---

Андрей Ханыкин

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink


Mikhail Kashkin пишет:
> Мне вообще кажется, что CreationDate - это не то поле которое надо
> редактировать. Или у вас бизнес-логика нарушена или пытаетесь под свою
> задачу подтянуть неправильное решение.
Согласен. Тут лучше сделать именно дополнительное поле "Дата для
отображения". По умолчанию приравнять его к дате создания. И дать
возможность менять.
В шаблоне внести поправки для отображения дополнительного поля (это я
знаю, как сделать).

> Для создания
> новых типов есть framework, называется Archetypes. Достаточно мощная
> библиотека которая на себя берет кучу работы. Создавать с ее помощью
> новые типы не так уж и сложно, по умственному напряжению не сложнее
> создания таблиц в реляционной базе данных. Только тут в не надо по
> разным местам ходить, чтобы заодно учесть как отображаться пользователю
> и редактору в интерфейсе будет, ну и права можно распределить. Индексы,
> поля, ограничения и проверки... короче очень похоже.
Когда-то я пытался подружиться с Archetypes, но мы не смогли. :-(
Описание продукта мне понравилось, но уж не помню, по какой причине, но
не заработало у меня ничего....

Может еще раз попробовать...

Хотя, когда наступает время создания нового проекта - нужно все сделать
быстро и еще переделать по дороге несколько раз. Вот тут приходится
каждый раз выбирать проторенную дорогу и, в итоге, некогда изучать
другие пути.

Сейчас ищу специалиста, для удаленной работы над плон-сайтами.

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---

Michael Krishtopa-2

Re: Модификация BernArticleFile

Reply Threaded More More options
Print post
Permalink

> Когда-то я пытался подружиться с Archetypes, но мы не смогли. :-(
> Описание продукта мне понравилось, но уж не помню, по какой причине, но
> не заработало у меня ничего....
>  
Да ничего сложного. Нарисуй в том же Poseidone свой продукт на основе
образца какого-нибудь (маякни если надо), скомпилируй в продукт и
доработай руками при необходимости.

--
Regards, Michael Krishtopa [Theo]

--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group http://plone.org.ru/
Для отправки сообщений [hidden email]
Новые участники контролируются
Архив и настройки подписки http://groups.google.com/group/plone-ru
-~----------~----~----~----~------~----~------~--~---