<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>WackoWiki - YuriMakarov/Предложения</title>
<link>http://wackowiki.com/YuriMakarov/Предложения</link>
<description>History/revisions of WackoWiki/YuriMakarov/Предложения</description>
<language>en-us</language>
<copyright>noindex</copyright>
<item>
<title>2003-07-09 13:27:53</title>
<link>http://wackowiki.com/YuriMakarov/Predlozhenija/show?time=2003-07-09+13%3A27%3A53</link>
<description>&lt;div class="pageBefore">&lt;img src="http://wackowiki.com/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".yurimakarov.predlozhenija" href="http://wackowiki.com/YuriMakarov/Predlozhenija" class="">/Yuri&amp;nbsp;Makarov&amp;nbsp;/&amp;nbsp;Предложения&lt;/a> за &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-09+13%3A27%3A53">2003-07-09 13:27:53&lt;/a> и &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija">2003-07-09 14:03:29&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li>&lt;ul>&lt;li> &lt;a name=".wackoideas.shortkatyitulbar" href="http://wackowiki.com/WackoIdeas/ShortkatyITulbar" class="">/Wacko&amp;nbsp;Ideas&amp;nbsp;/&amp;nbsp;Шорткаты&amp;nbsp;И&amp;nbsp;Тулбар&lt;/a>&lt;/li>&lt;/ul>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2003-07-09 13:22:55</title>
<link>http://wackowiki.com/YuriMakarov/Predlozhenija/show?time=2003-07-09+13%3A22%3A55</link>
<description>&lt;div class="pageBefore">&lt;img src="http://wackowiki.com/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://wackowiki.com/YuriMakarov/Predlozhenija" class="">/Yuri&amp;nbsp;Makarov&amp;nbsp;/&amp;nbsp;Предложения&lt;/a> за &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-09+13%3A22%3A55">2003-07-09 13:22:55&lt;/a> и &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-09+13%3A27%3A53">2003-07-09 13:27:53&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;div class="indent">&lt;br />
&lt;/div>&lt;ul>&lt;li> &lt;a name=".yurimakarov" href="http://wackowiki.com/YuriMakarov" class="" title="Yuri&amp;nbsp;Makarov">YuriMakarov&lt;/a> /09.07.2003 13:27/ Наблюдение за&amp;nbsp;страницами&lt;br />
Создавая новую страницу обычно хочется за&amp;nbsp;ней понаблюдать некоторое время (если она&amp;nbsp;доступна для&amp;nbsp;редактирования другим). Может есть смысл сделать так&amp;nbsp;&amp;ndash; все&amp;nbsp;вновь созданные страницы автоматом включаются в&amp;nbsp;наблюдаемые автором, или&amp;nbsp;наследовать признак наблюдения в&amp;nbsp;кластере от&amp;nbsp;родительской страницы.&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2003-07-05 16:04:12</title>
<link>http://wackowiki.com/YuriMakarov/Predlozhenija/show?time=2003-07-05+16%3A04%3A12</link>
<description>&lt;div class="pageBefore">&lt;img src="http://wackowiki.com/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://wackowiki.com/YuriMakarov/Predlozhenija" class="">/Yuri&amp;nbsp;Makarov&amp;nbsp;/&amp;nbsp;Предложения&lt;/a> за &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-05+16%3A04%3A12">2003-07-05 16:04:12&lt;/a> и &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-09+13%3A22%3A55">2003-07-09 13:22:55&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h5121-1">&lt;/a>&lt;h2>Просто предложения&lt;/h2>
&lt;ul>&lt;li> &lt;a  href="http://wackowiki.com/YuriMakarov" class="" title="Yuri&amp;nbsp;Makarov">YuriMakarov&lt;/a> /09.07.2003 13:22/ Неплохо бы&amp;nbsp;в редакторе добавить несколько кнопочек (типа как&amp;nbsp;в&amp;nbsp;UBB) для&amp;nbsp;вставки макросов и&amp;nbsp;возможно символов форматирования текста. Понятно, что&amp;nbsp;все это&amp;nbsp;несложно и&amp;nbsp;руками набрать, но&amp;nbsp;не всегда эти&amp;nbsp;комбинации помниш (особенно если новичек) и&amp;nbsp;плюс приходится между регистрами переключаться. Наверное это&amp;nbsp;с&amp;nbsp;помощью JavaScript&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2003-07-05 15:17:00</title>
<link>http://wackowiki.com/YuriMakarov/Predlozhenija/show?time=2003-07-05+15%3A17%3A00</link>
<description>&lt;div class="pageBefore">&lt;img src="http://wackowiki.com/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://wackowiki.com/YuriMakarov/Predlozhenija" class="">/Yuri&amp;nbsp;Makarov&amp;nbsp;/&amp;nbsp;Предложения&lt;/a> за &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-05+15%3A17%3A00">2003-07-05 15:17:00&lt;/a> и &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-05+16%3A04%3A12">2003-07-05 16:04:12&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;ul>&lt;li> Чтение: @&lt;span class="missingpage">Project&amp;nbsp;1&amp;nbsp;/&amp;nbsp;Members&lt;/span>&lt;a href="http://wackowiki.com/Project1/Members/edit?add=1" title="Создать эту страницу">?&lt;/a> &amp;ndash; чтение только учасникам проекта &lt;span class="missingpage">Project&amp;nbsp;1&lt;/span>&lt;a href="http://wackowiki.com/Project1/edit?add=1" title="Создать эту страницу">?&lt;/a>.
&lt;/li>&lt;li> Чтение: !@&lt;span class="missingpage">Black&amp;nbsp;List&lt;/span>&lt;a href="http://wackowiki.com/BlackList/edit?add=1" title="Создать эту страницу">?&lt;/a> &amp;ndash; запрет на&amp;nbsp;чтение пользователям внесенным на&amp;nbsp;страницу &lt;span class="missingpage">Black&amp;nbsp;List&lt;/span>&lt;a href="http://wackowiki.com/BlackList/edit?add=1" title="Создать эту страницу">?&lt;/a>.&lt;/li>&lt;/ul>
&lt;strong>Реализация&lt;/strong>&lt;br />
Для&amp;nbsp;реализации этого метода нужно в&amp;nbsp;месте проверки прав доступа к&amp;nbsp;странице добавить предварительную обработку (рекурсивную) списка доступа. &lt;br />
Если список доступа содержит группы, типа @&lt;span class="missingpage">Project&amp;nbsp;1&amp;nbsp;/&amp;nbsp;Members&lt;/span>&lt;a href="http://wackowiki.com/Project1/Members/edit?add=1" title="Создать эту страницу">?&lt;/a>, то&amp;nbsp;вставить в&amp;nbsp;&lt;strong>это место&lt;/strong> список доступа к&amp;nbsp;&lt;span class="missingpage">Project&amp;nbsp;1&amp;nbsp;/&amp;nbsp;Members&lt;/span>&lt;a href="http://wackowiki.com/Project1/Members/edit?add=1" title="Создать эту страницу">?&lt;/a>. Т.е. это&amp;nbsp;выглядит как&amp;nbsp;рекурсивный вызов той&amp;nbsp;же&amp;nbsp;процедуры.&lt;br />
В&amp;nbsp;этом рекурсивном алгоритме &lt;strong>обязательно должен быть контроль зацикливания.&lt;/strong>&lt;br />
Т.е. если список доступа текущего обрабатываемого документа уже&amp;nbsp;встречался выше, то&amp;nbsp;его обработка не&amp;nbsp;делается (сделана выше).&lt;br />
Для&amp;nbsp;этого можно использовать контрольный список.&lt;br />
&lt;ul>&lt;li> Первоначально контрольный список пуст. 
&lt;/li>&lt;li> Перед обработкой прав доступа в&amp;nbsp;конец контрольного списка заносится имя&amp;nbsp;текущего документа.
&lt;/li>&lt;li> Если в&amp;nbsp;списке доступа есть группа отсутствующая в&amp;nbsp;контрольном списке, то&amp;nbsp;вставить список доступа для&amp;nbsp;соотв. документа.&lt;/li>&lt;/ul>
Использование такого алгоритма &lt;br />
&lt;ul>&lt;li> позволяет избежать бесконечных циклов по&amp;nbsp;правам (их легко сделать по&amp;nbsp;ошибке) и&amp;nbsp;&lt;/li>&lt;li> позволяет в&amp;nbsp;корневом документе кластера, в&amp;nbsp;правах доступа, указать ссылку на&amp;nbsp;самого себя. При&amp;nbsp;этом все&amp;nbsp;вновь создаваемые документы кластера будут автоматом наследовать права из&amp;nbsp;корня и&amp;nbsp;следовательно будут наследовать ссылку на&amp;nbsp;права к&amp;nbsp;кластеру.&lt;/li>&lt;/ul>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;ul>&lt;li> Чтение: !@&lt;span class="missingpage">Black&amp;nbsp;List&lt;/span>&lt;a href="http://wackowiki.com/BlackList/edit?add=1" title="Создать эту страницу">?&lt;/a> &amp;ndash; запрет на&amp;nbsp;чтение пользователям внесенным на&amp;nbsp;страницу &lt;span class="missingpage">Black&amp;nbsp;List&lt;/span>&lt;a href="http://wackowiki.com/BlackList/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/li>&lt;/ul>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2003-07-05 14:44:37</title>
<link>http://wackowiki.com/YuriMakarov/Predlozhenija/show?time=2003-07-05+14%3A44%3A37</link>
<description>&lt;div class="pageBefore">&lt;img src="http://wackowiki.com/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://wackowiki.com/YuriMakarov/Predlozhenija" class="">/Yuri&amp;nbsp;Makarov&amp;nbsp;/&amp;nbsp;Предложения&lt;/a> за &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-05+14%3A44%3A37">2003-07-05 14:44:37&lt;/a> и &lt;a href="http://wackowiki.com/YuriMakarov/Predlozhenija?time=2003-07-05+15%3A17%3A00">2003-07-05 15:17:00&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Достаточно в&amp;nbsp;начале Экшена проверить права доступа пользователя к&amp;nbsp;некоторой связанной и&amp;nbsp;экшеном страницей. С&amp;nbsp;какой страницей большого значения не&amp;nbsp;имеет, к&amp;nbsp;примеру можно завести кластер Actions и&amp;nbsp;в нем&amp;nbsp;страницы &lt;span class="missingpage">Actions&amp;nbsp;/&amp;nbsp;Resent&amp;nbsp;Changes&lt;/span>&lt;a href="http://wackowiki.com/Actions/ResentChanges/edit?add=1" title="Создать эту страницу">?&lt;/a> и&amp;nbsp;т.д. На&amp;nbsp;самой странице описание экшена, в&amp;nbsp;правах доступа &amp;ndash; права пользователей на&amp;nbsp;исполнение. &lt;br />
При&amp;nbsp;этом можно разграничить доступ к&amp;nbsp;результатам работы экшена в&amp;nbsp;зависимости от&amp;nbsp;прав читателя на&amp;nbsp;страницу (или ее&amp;nbsp;владение), поскольку мы&amp;nbsp;можем задать 3 списка доступа к&amp;nbsp;каждому экшену.&lt;br />
Это&amp;nbsp;позволяет скажем запретить всем (кроме определенной группы) видеть результат экшена в&amp;nbsp;комменте, или&amp;nbsp;еще какие варианты (пока не&amp;nbsp;обдумал).&lt;a name="h5121-1">&lt;/a>&lt;h2>Предложения по&amp;nbsp;Upload&lt;/h2>
Сейчас есть несколько экшенов для&amp;nbsp;загрузки файлов (картинок) на&amp;nbsp;сайт,&lt;br />
но&amp;nbsp;то, что&amp;nbsp;я&amp;nbsp;видел, меня не&amp;nbsp;устраивает. Недостатков несколько.&lt;br />
Как&amp;nbsp;минимум:&lt;br />
&lt;ul>&lt;li> Отсуствие разграничения полномочий &amp;ndash; кто&amp;nbsp;может загружать/скачивать файлы/картинки.
&lt;/li>&lt;li> Отсуствие прав доступа к&amp;nbsp;файлу &amp;ndash; чтение/перезапись/удаление.
&lt;/li>&lt;li> Проблема с&amp;nbsp;именами. Может быть много файлов с&amp;nbsp;одинаковым именем. Вводить коды для&amp;nbsp;имен &amp;ndash; плохо.&lt;/li>&lt;/ul>
Можно довольно просто решить эти&amp;nbsp;проблемы.&lt;br />
(to be&amp;nbsp;continued ..)&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Достаточно в&amp;nbsp;начале Экшена проверить права доступа пользователя к&amp;nbsp;некоторой связанной и&amp;nbsp;экшеном страницей. С&amp;nbsp;какой страницей большого значения не&amp;nbsp;имеет, к&amp;nbsp;примеру можно завести кластер Actions и&amp;nbsp;в нем&amp;nbsp;страницы &lt;span class="missingpage">Actions&amp;nbsp;/&amp;nbsp;Resent&amp;nbsp;Changes&lt;/span>&lt;a href="http://wackowiki.com/Actions/ResentChanges/edit?add=1" title="Создать эту страницу">?&lt;/a> и&amp;nbsp;т.д. На&amp;nbsp;самой странице описание экшена, в&amp;nbsp;правах доступа &amp;ndash; права пользователей на&amp;nbsp;исполнение (Read к&amp;nbsp;примеру).&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
