<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0">

    <channel>

        <title>Блоги</title>
        <link>http://www.ploner.ru/blogs</link>
        <description>Блоги участников портала</description>

        <generator>basesyndication</generator>
        <!-- TODO
        <lastBuildDate>Mon, 30 Sep 2002 11:00:00 GMT</lastBuildDate>
        <copyright>Copyright 1997-2002 Dave Winer</copyright>
        <docs>http://backend.userland.com/rss</docs>
        <category domain="Syndic8">1765</category>
        <managingEditor>dave@userland.com</managingEditor>
        <webMaster>dave@userland.com</webMaster>
        -->

        <!-- TODO: Should there be an individual image associatable with each
        Weblog object?  I think so... -->
        <image>
            <title>Блоги</title>
            <url>http://www.ploner.ru/logo.png</url>
            <link>http://www.ploner.ru/blogs</link>
        </image>

        
            <item>
                <title>Мой первый опыт установки Plone на Kubuntu 10.04</title>
                <guid>http://www.ploner.ru/blogs/2012/04/10/moi-pervyi-opyt-ustanovki-plone-na-kubuntu-10.04</guid>
                <link>http://www.ploner.ru/blogs/2012/04/10/moi-pervyi-opyt-ustanovki-plone-na-kubuntu-10.04</link>
                <description>
&lt;p&gt;При наличии необходимых пакетов в вашей системе, установка Python/Zope/Plone не вызывает определенных сложностей. Все ставится буквально в несколько команд.&lt;/p&gt;
&lt;p&gt;Для начала, необходимо проверить наличие установленных в вашей системе пакетов:&lt;/p&gt;
&lt;p&gt;gcc&lt;/p&gt;
&lt;p&gt;g++&lt;/p&gt;
&lt;p&gt;GNU make&lt;/p&gt;
&lt;p&gt;GNU tar&lt;/p&gt;
&lt;p&gt;bzip2&lt;/p&gt;
&lt;p&gt;gzip&lt;/p&gt;
&lt;p&gt;Также, желательны, но не обязательны:&lt;/p&gt;
&lt;p&gt;libssl&lt;/p&gt;
&lt;p&gt;readline&lt;/p&gt;
&lt;p&gt;Я все же, установил все без исключения пакеты, включая не обязательные, что и вам рекомендую.&lt;/p&gt;
&lt;p&gt;Далее, я приступил собственно к установке и получил ошибку, которые выводятся в отдельном файле - install.log:&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;Detailed installation log&lt;br /&gt; &amp;nbsp; &amp;nbsp;Starting at Птн Апр &amp;nbsp;6 22:25:05 NOVT 2012&lt;br /&gt; &amp;nbsp; &amp;nbsp;helper_scripts/build_python.sh: 25: patch: not found&lt;/p&gt;
&lt;p&gt;Эта ошибка сигнализировала об отсутствии установленного в моей системе пакета - &lt;span id="whlm"&gt;build-essential. &lt;/span&gt;&lt;span id="whlm"&gt; Это метапакет который включает все необходимое для компиляции.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Также, на сайте plone.org рекомендуют установить и другие пакеты: libssl-dev, libxm12-dev, libbz2-dev, libjpeg62-dev, libreadline5-dev.&lt;/p&gt;
&lt;p&gt;Для поддержки PDF, можно установить еще и wv и poppler-utils.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;После того, как все необходимые пакеты установлены, можно приступить к непосредственной установке дистрибутива Plone. Скачать дистрибутив актуальной версии можно на официальном сайте или же здесь, на главной странице.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Как правило, скачивание осуществляется на дистрибутивах Ubuntu/Kubuntu в директорию /home/%username%/Загрузки. Следовательно, необходимо перейти в эту директорию выполнив команду:&lt;/p&gt;
&lt;pre&gt;cd /home/%username%/Загрузки/&lt;/pre&gt;
&lt;p&gt;Далее, следует распаковать архив с дистрибутивом Plone 4.1.3:&lt;/p&gt;
&lt;pre&gt;tar xzf Plone-4.1.3-UnifiedInstaller.tgz&lt;/pre&gt;
&lt;p&gt;Переходим в директорию с распакованным дистрибутивом:&lt;/p&gt;
&lt;pre&gt;cd ./Plone-4.1.3-UnifiedInstaller/&lt;/pre&gt;
&lt;div&gt;
&lt;div style="text-align: left;"&gt;
Перед установкой необходимо определиться с выбором режима развертывания CMS Plone. Как мне удалось выяснить (причем, после написания этой статьи, у Ирины Бессарабовой), дела обстоят приблизительно так:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: left;"&gt;*При режиме ZEO мы получаем несколько zope 
процессов, имеющих доступ к одной базе.&lt;br /&gt;*При режиме STANDALONE такой процесс один. 
&lt;br /&gt;Функционал cms при выборе любого из существующих режимом не меняется. Следует сказать, что, режим ZEO обычно используют 
для высоконагруженных систем. Для разработки же, наиболее оптимален режим STANDALONE.
&lt;div style="text-align: left;"&gt;
Мне наиболее подходит режим ZEO, так как мне необходимо создать крупный научный (открытая база данных таксонов биологической номенклатуры) портал, с большим количеством информации, впоследствии, возможно и не один.&lt;/div&gt;
&lt;br /&gt;В связи с этим, я запустил инсталлятор с параметром "ZEO":&lt;br /&gt;
&lt;pre&gt;sudo ./install.sh zeo&lt;/pre&gt;
Если, все пакеты уже установлены и нет каких-либо несоответствий, консоль выдает следующее:&lt;br /&gt;
&lt;pre&gt;ZEO Cluster Install selected

Detailed installation log being written to /home/%username%/Загрузки/Plone-4.1.3-UnifiedInstaller/install.log

Root install method chosen. Will install for use by system user plone

Installing Plone 4.1.3 at /usr/local/Plone

User 'plone' already exists. No need to create it.
Skipping libjpeg build
Skipping zlib build
Skipping readline build
Installing Python 2.6.7. This takes a while...
Patching for thread size
Installing distribute...
Python build looks OK.
Unpacking buildout cache to /usr/local/Plone/buildout-cache
Compiling .py files in egg cache
Copying Plone-docs
Generating random password ...
Your platform's xml2/xslt are missing or out-of-date. We'll need to build them.
Copying buildout skeleton
Fixing up bin/buildout
Building lxml with static libxml2/libxslt; this takes a while...
Building Zope/Plone; this takes a while...
Setting instance ownership to plone
Setting buildout cache ownership to plone
 
#####################################################################
######################  Installation Complete  ######################
 
Plone successfully installed at /usr/local/Plone
See /usr/local/Plone/zeocluster/README.html
for startup instructions
                                                                                         
Use the account information below to log into the Zope Management Interface
The account has full 'Manager' privileges.
 
  Username: admin
  Password: ********

This account is created when the object database is initialized. If you change
the password later (which you should!), you'll need to use the new password. 
 
- If you need help, ask the mailing lists or #plone on irc.freenode.net.
- The live support channel also exists at http://plone.org/chat
- You can read/post to the lists via http://plone.org/forums
 
- Submit feedback and report errors at http://dev.plone.org/plone
(For install problems, specify component "Installer (Unified)")&lt;/pre&gt;
На вывод этого сообщения требуется некоторое время, сообщение появляется постепенно, по мере выполнения действий инсталлятором.&lt;br /&gt;На этом, работа инсталлятора, а значит и установка дистрибутива Plone 4.1.3 окончена.&lt;br /&gt;&lt;br /&gt;Далее, необходимо перейти в каталог установки Plone:&lt;br /&gt;
&lt;pre&gt;cd /usr/local/Plone/zeocluster/&lt;/pre&gt;
и выполнить следующее:&lt;br /&gt;
&lt;pre&gt;sudo ./bin/buildout&lt;/pre&gt;
Консоль выдаст вот это:&lt;br /&gt;
&lt;pre&gt;Updating zeoserver.
Updating client1.
Updating client2.
Updating zopepy.
Updating zopeskel.
Updating backup.
Updating chown-zeo.
chown-zeo: Running 
echo Dummy references to force this to execute after referenced parts
echo /usr/local/Plone/zeocluster/var/backups sudo -u plone
chmod 600 .installed.cfg
touch /usr/local/Plone/zeocluster/var/zeoserver/zeoserver.log
find /usr/local/Plone/zeocluster/var -type d -exec chmod 700 {} \;
chmod 744 /usr/local/Plone/zeocluster/bin/*
Dummy references to force this to execute after referenced parts
/usr/local/Plone/zeocluster/var/backups sudo -u plone
Updating repozo.
Updating unifiedinstaller.
*************** PICKED VERSIONS ****************
[versions]

*************** /PICKED VERSIONS ***************&lt;/pre&gt;
Выполняем запуск Plone:&lt;br /&gt;
&lt;pre&gt;sudo ./bin/plonectl start&lt;/pre&gt;
В консоле вы увидите это:&lt;br /&gt;
&lt;pre&gt;zeoserver: . 
daemon process started, pid=16672
client1: . . . 
daemon process started, pid=16677
client2: . . 
daemon process started, pid=16682&lt;/pre&gt;
После чего, можно приступить к созданию сайта на CMS Plone. Для этого, следует перейти на стартовую страницу, набрав в адресной строке браузера: http://localhost:8080 и нажать кнопку "Создать новый Plone сайт", после чего, заполнив соответствующие поля вы попадете на главную страницу своего новоиспеченного сайта.&lt;br /&gt;&lt;br /&gt;Для того, чтобы остановить работу Plone, необходимо выполнить команду:sudo ./bin/plonectl stop
&lt;pre&gt;sudo ./bin/plonectl stop&lt;/pre&gt;
В консоле появится сообщение:&lt;br /&gt;
&lt;pre&gt;client1: .
daemon process stopped
client2: .
daemon process stopped
zeoserver: .
daemon process stopped&lt;/pre&gt;
Вот и все на этом. Мы успешно установили эту замечательную CMS Plone, на наш компьютер и даже создали пусть не доработанный, но сайт! А потом, напильником его, напильником!&lt;br /&gt;&lt;br /&gt;В следующий раз постараюсь исчерпывающе изложить каким образом можно привинтить свой Plone сайт на свой домашний хостинг. Если, конечно сам разберусь. До встречи милостивые государи!&lt;/div&gt;
&lt;/div&gt;
</description>
                <author>puyamolina</author>


                <pubDate>Tue, 10 Apr 2012 22:40:00 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Презентация Giving light to dark corners of z3c.form Рока Гарбаса на Plone конференции  </title>
                <guid>http://www.ploner.ru/blogs/2010/10/28/prezentaciya-giving-light-to-dark-corners-of-z3c.form-roka-garbasa-na-plone-konferencii</guid>
                <link>http://www.ploner.ru/blogs/2010/10/28/prezentaciya-giving-light-to-dark-corners-of-z3c.form-roka-garbasa-na-plone-konferencii</link>
                <description>
&lt;p&gt;Рок Гарбас выступил на ежегодной конференции &lt;a class="external-link" href="http://ploneconf2010.org"&gt;Plone разработчиков в Бристоле (27-29 октября) &lt;/a&gt;с докладом, посвященным набирающему популярность фреймворку для создания форм z3.form. В итоге получился краткий справочник.&amp;nbsp; Слайды презентации &lt;a class="external-link" href="http://garbas.github.com/plone-z3c.form-tutorial/"&gt;здесь&lt;/a&gt;. &amp;nbsp;&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>


                <pubDate>Thu, 28 Oct 2010 18:14:07 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Маскировка под другого пользователя в Zope 3 представлении браузера</title>
                <guid>http://www.ploner.ru/blogs/2010/08/22/zamaskerovatsya-pod-drugogo-polzovatelya-v-zope-3-predstavlenii-brauzera</guid>
                <link>http://www.ploner.ru/blogs/2010/08/22/zamaskerovatsya-pod-drugogo-polzovatelya-v-zope-3-predstavlenii-brauzera</link>
                <description>
&lt;p&gt;Как и у Josh Johnson, &lt;a class="external-link" href="http://http://lionfacelemonface.wordpress.com/2010/06/17/securitymanager/"&gt;автора статьи&lt;/a&gt;, чей вольный перевод я привожу здесь, у меня тоже была необходимость выполнять кое-какие действия от пользователя с ролью Anonymous, так, чтобы при этом не возникала ошибка авторизации пользователя.&lt;/p&gt;
&lt;p&gt;Возьмем, например, задачу добавления анонимными пользователеми контента в папку. Они заполняют форму, которая проходит валидацию и создается новый объект. Звучит просто. Однако, на практике это не так :)&lt;/p&gt;
&lt;p&gt;В Zope 2 есть Proxy Roles для скриптов, однако&amp;nbsp; если ваша форма создана в zope3 стиле в виде представления браузера, для вас это не вариант.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;В решении этой задачи может помочь модуль AccessControl, который входит в состав Zope 3.&lt;/p&gt;
&lt;p&gt;Код может выглядеть как-то так:&lt;/p&gt;
&lt;pre&gt;from AccessControl.SecurityManagement import newSecurityManager, getSecurityManager, setSecurityManager
from Products.CMFCore.utils import getToolByName
...
class MyViewClass(SomeBaseViewClass):
    # without going into detail here, assume that __init__ is passed a context and request object
    # that are set as instance properties.

    def someProcessorMethod(self):
        # I've created a folder called "Special Folder" at the root of my Plone site. 

        portal = getToolByName(self.context, 'portal_url').getPortalObject() 

        owner = portal['special-folder'].getWrappedOwner()

        # stash the existing security manager so we can restore it
        old_security_manager = getSecurityManager()

        # create a new context, as the owner of the folder
        newSecurityManager(self.request, user)

        try:
            # make the content
            portal['special-folder'].invokeFactory('Document',
                                                   'anonymous-content-ftw',
                                                   title='Anonymous Content FTW!')
        except:
            # we want to ensure that setSecurityManager gets called
            # in reality you should do more here!
            pass

        # restore the original context
        setSecurityManager(old_security_manager)
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span id="result_box" class="long_text"&gt;Вот и все, что нужно сделать. Одно из преимуществ такого подхода это то, что владелец папки может измениться, а код все равно будет работать. &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id="result_box" class="long_text"&gt;При использовании этого кода нужно быть особенно осторожным с тем, где его позволено вызывать. Например, если представление может применяться везде (в атрибуте for в директиве регистрации представления стоит *), то можно представить какой беспорядок может натворить анонимный пользователь на вашем сайте. &lt;br /&gt;&lt;br /&gt;Кроме того, весь код, выполняющийся от имени владельца папки, необходимо заключить в блок try catch, для того, чтобы быть уверенным, что если даже в процессе его выполнения произойдет ошибка, менеджер безопасности восстановится в свое прежнее состояние. &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>


                <pubDate>Sun, 22 Aug 2010 19:15:00 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Plone 3 Products Development Cookbook</title>
                <guid>http://www.ploner.ru/blogs/2010/05/23/plone-3-products-development-cookbook</guid>
                <link>http://www.ploner.ru/blogs/2010/05/23/plone-3-products-development-cookbook</link>
                <description>
&lt;p&gt;Книга Juan Pablo Giménez и&amp;nbsp; Marcos F. Romero ориентирована на разработчиков, уже имеющих опыт работы с Plone, и является сборником практических советов, рассказывающих вам как сделать какую-либо конкретную вещь в Plone. Из книги можно узнать:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Как настроить новостной сайт и какие инструменты вам нужны перед созданием любого Plone сайта?&lt;/li&gt;&lt;li&gt;Как обнаруживать и отлаживать ошибки в коде с помощью специальных средств?&lt;/li&gt;&lt;li&gt;Как создавать новые контент-типы с помощью ArchGenXML?&lt;/li&gt;&lt;li&gt;Как автоматически создавать новые контент-типы с помощью paster?&lt;/li&gt;&lt;li&gt;Как создавать портлеты и управлять ими?&lt;/li&gt;&lt;li&gt;Как улучшить производительность сайта, используя фичи Plone?&lt;/li&gt;&lt;li&gt;Как управлять безопасностью, используя роли, группы, права и настройки конфигурации?&lt;/li&gt;&lt;li&gt;Как тестировать код разными способами? &lt;/li&gt;&lt;li&gt;Как использовать интернационализацию в Plone?&lt;/li&gt;&lt;li&gt;Как интегрировать свой продукт с внешними сервисами используя XML-RPC?&lt;/li&gt;&lt;li&gt;Как улучшить UI пользователя с помощью KSS? &lt;/li&gt;&lt;/ul&gt;
&lt;a class="external-link" href="https://www.packtpub.com/plone-3-3-products-development-cookbook/book"&gt;&lt;br /&gt;Страница книги на Packt&lt;/a&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>

                
                    <category>книги</category>
                

                <pubDate>Sun, 23 May 2010 12:15:00 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Professional Plone Development - Plone 4 edition</title>
                <guid>http://www.ploner.ru/blogs/2010/05/08/professional-plone-development-plone-4-edition</guid>
                <link>http://www.ploner.ru/blogs/2010/05/08/professional-plone-development-plone-4-edition</link>
                <description>
&lt;p&gt;Бесспорно, новое издание будет очень познавательной книгой, учитывая, что с момента последнего выпуска прошло 2,5 года, за которые появились новые технологии и инструменты для Plone разработчиков.&amp;nbsp; Пока что Мартин Аспели анонсировал только свое намерение выпустить новое издание, дата выпуска не известна, однако, возможно, что книга выйдет в свет уже в конце этого года.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ссылки:&lt;/p&gt;
&lt;p align="left"&gt;&lt;a class="external-link" href="https://www.packtpub.com/Professional-Plone-web-applications-CMS/book"&gt;Professional Plone Development&lt;/a&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;a class="external-link" href="http://www.martinaspeli.net/articles/professional-plone-development-plone-4-edition"&gt;Блог Мартина Аспели&lt;/a&gt;&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>

                
                    <category>книги</category>
                

                <pubDate>Sat, 08 May 2010 22:45:00 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Как позволить автору редактировать свой пост в Ploneboard</title>
                <guid>http://www.ploner.ru/blogs/2010/05/03/kak-pozvolit-avtoru-redaktirovat-svoi-post-v-ploneboard</guid>
                <link>http://www.ploner.ru/blogs/2010/05/03/kak-pozvolit-avtoru-redaktirovat-svoi-post-v-ploneboard</link>
                <description>
&lt;p&gt;Чтобы исправить это недоразумение, идем в &lt;em&gt;portal_workflow&lt;/em&gt; в ZMI. Находим там во вкладе &lt;em&gt;Contents &lt;/em&gt;воркфлоу с именем&lt;em&gt; ploneboard_comment_workflow&lt;/em&gt;.&amp;nbsp; Заходим в него и идем на вкладку &lt;em&gt;States&lt;/em&gt;. Здесь нас интересует состояние &lt;em&gt;published&lt;/em&gt;. Щелкаем по нему и заходим на вкладку &lt;em&gt;Permissions&lt;/em&gt;, где перечислены все права, с которыми работает наше воркфлоу и роли, которые существует на сайте. За право редактирование отвечает &lt;em&gt;Modify portal content, &lt;/em&gt;на всякий случай снимаем галку с &lt;em&gt;Acquire permission settings (&lt;/em&gt;отменяем наследование прав с уровня выше&lt;em&gt;) &lt;/em&gt;и ставим галки для ролей &lt;em&gt;Owner&lt;/em&gt; и &lt;em&gt;Manager. &lt;/em&gt;Теперь что написано пером, то не вырубить топором - не про ваш форум :)&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>


                <pubDate>Mon, 03 May 2010 21:45:00 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Алло, мы ищем таланты!</title>
                <guid>http://www.ploner.ru/blogs/2010/05/03/allo-my-ischem-talanty</guid>
                <link>http://www.ploner.ru/blogs/2010/05/03/allo-my-ischem-talanty</link>
                <description>
&lt;p&gt;Уважаемое plone-сообщество!&lt;/p&gt;
&lt;p&gt;Сейчас мы в процессе разработки нового сайта, посвященного  plone, на
русском языке.  И нам нужна помощь, в первую очередь в наполнении
сайта: переводы документации с plone.org, авторские статьи/руководства/рецепты, обучающие ролики и т.д. для любых уровней пользователей
plone. Пожалуйста, если вы готовы участвовать в процессе,
регистрируйтесь на сайте и размещайте свои материалы либо пишите мне
(besja@yandex.ru). Прототип сайта доступен по адресу: http://62.152.35.6:15006/Plone.&lt;/p&gt;
&lt;p&gt;Кроме того,  мы хотим создать каталог компаний/фрилансеров
предоставляющих услуги в разработке, создании сайтов на plone,
хостинге и поддержке пользователей. Если вы делаете что-то из этого,
пришлите, пожалуйста, мне информацию о себе/о компании или оставьте коммент к этому посту.&lt;/p&gt;
&lt;p&gt;Если у вас есть время и возможность поучаствовать в работе сайта другим способом: исправить парочку багов (см. форум/баги), перевести &lt;a class="external-link" href="http://plone.org/products/quills/"&gt;Quills&lt;/a&gt;, придумать логотип, сверстать тему для сайта, или даже купить ящик пива его создателям, you are welcome :)&lt;/p&gt;
&lt;p&gt;Заранее спасибо.&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>

                
                    <category>plone.org.ru</category>
                

                <pubDate>Mon, 03 May 2010 21:30:00 +0400</pubDate>

                
            </item>
        
        
            <item>
                <title>Что может делать зарегистрированный пользователь на сайте</title>
                <guid>http://www.ploner.ru/blogs/2010/04/07/chto-mozhet-delat-zaregistrirovannyi-polzovatel-na-saite</guid>
                <link>http://www.ploner.ru/blogs/2010/04/07/chto-mozhet-delat-zaregistrirovannyi-polzovatel-na-saite</link>
                <description>
&lt;ul&gt;&lt;li&gt;Публиковать документы в разделе Документация&lt;/li&gt;&lt;li&gt;Вести свой блог&lt;/li&gt;&lt;li&gt;Участвовать в обсуждениях на форуме&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
                <author>Ирина Бессарабова</author>

                
                    <category>plone.org.ru</category>
                

                <pubDate>Wed, 07 Apr 2010 13:40:00 +0400</pubDate>

                
            </item>
        

    </channel>
</rss>



