b1 њфЬД°њxЁ”lазвития вы можете узнать на нашем сайте.\n \n \n \n

\n \n \n
Форум
\n
  • Технический форум\n
  • Общество любителей животных\n
  • Салун\n
  • Все форумы на WTG\n
  • \n Если уaru_zebra/disclaimer Ґраб ю aru_zebra/dan $begbody $zebra_bp Ассоциативная сеть данных (далее АС) — технология хранения свойств объектов, связанных друг с другом согласно установленной модели данных. Теоретическая часть АС, реализованной в Zebra, разработана Юрием Макаровым. $zebra_bp АС осуществляет следующие принципы. $zebra_bp Каждый сложный объект делится на простые составляющие (свойства), распределяемые по категориям. Для каждой из этих категорий могут быть определены так называемые роли, выполняемые объектами, входящими в категорию, по отношению к объектам из других категорий. Например, объект категории Дата может выполнять по отношению к объекту категории Тема несколько ролей: ДатаСоздания, ДатаМодификации и так далее. $zebra_bp Основополагающим моментом в АС является то, что объект категории Тема будет автоматически выполнять к объекту категории Дата роли СозданнаяТема, ИзмененнаяТема и соответственно далее. На каждую роль, выполняемую объектом по отношению к какому-либо другому (или даже самому к себе), автоматически заводится обратная роль. Эта схема приводит к тому, что мы получаем возможность перейти не только к объекту, на который ссылается текущий, но и обратно. А поскольку объекты часто выполняют одновременно несколько ролей по отношению к различным объектам, то, следуя по установленным между ними связям, можно постепенно перебрать все свойства (т. е. объекты), хранящиеся в АС. АС в рабочем состоянии — это сетевая структура, которая для пользователя представляется в виде рекурсивного дерева неограниченной глубины. $zebra_bp Модель данных АС устанавливает категории свойств, которые хранятся независимо, их роли по отношению друг к другу, псевдонимы категорий и ролей (для внешнего отображения), а также специфические процедуры обработки свойств, выполняемые при их сохранении и чтении. С текущим прототипом модели АС4 можно ознакомиться по этому адресу. В Zebra обычно используется последний стабильный вариант (release), прототип же является развивающимся проектом. $zebra_bp Технология АС в применении к специфическим задачам дает чрезвычайно широкие возможности. Она ориентирована на упорядоченное представление знаний на произвольную тему.
    $zebra_bp Публикации
    1. Мухутдинова Т. З., Макаров Ю. Б., Мухутдинов Э. А. Технология ассоциативной сети данных в программном комплексе WTG Zebra в применении к поддержке открытого образования в Интернете. / Тр. Всероссийской научно-методической конференции «Структурно-функциональные и методические аспекты деятельности университетских комплексов», КГТУ, Казань, 2002. — С. 77.
    2. Mukhutdinova T.Z., Makarov Yu.B., Muhutdinov E.A. Program Package WTG Zebra for Supporting Internet-based Open Education. / Mat. of IEEE International Conference on Advanced Learning Technologies (ICALT). 9-12 September 2002, Kazan, Tatarstan, Russia. – P. 185-187.
    $endbody±aru_zebra/copyright $begbody $zebra_bp Все права на программный комплекс WTG Zebra принадлежат White Tiger Group, являющейся разработчиком, дистрибьютором и основным распространителем данного продукта. Модули, являющиеся разработкой White Tiger Group, также являются интеллектуальной собственностью WTG. Модули или другие программы, работающие совместно с Zebra, использующие ее ресурсы и оверлеи, разработанные сторонними физическими или юридическими лицами, являются интеллектуальной собственностью этих лиц. При этом вся ответственность за использование таких модулей ложится на плечи вышеупомянутых лиц. В том случае, если предполагается открытое распространение таковых модулей посредством любых способов передачи данных, будь то глобальная сеть (Internet, Fidonet и т.д.), различные носители информации (дискеты, CD-ROM, CD-RW и т.д.) или любые другие способы передачи данных, предполагающих дальнейшее публичное их использование, разработанный модуль в обязательном порядке подлежит тестированию у разработчиков Zebra и проверке соответствия идеологии, заложенной в ядро Zebra. Причем это предоставление должно быть осуществлено до публичного объявления выхода продукта и только после согласования деталей с авторами Zebra. Данное условие распространяется на все официальные версии заявленного продукта.
    $zebra_bp Распространение WTG Zebra осуществляется в различных вариантах дистрибуции. Стоимость комплекса начинается от нуля и исчезает в необозримых далях (при необходимости индивидуальной разработки нового модуля или привлечении разработчиков Zebra к непосредственной работе над проектом, требующим индивидуального же подхода). Подробную информацию по данному вопросу можно найти здесь. По иным возникающим вопросам либо с конкретными предложениями обращайтесь по адресу support@wtg.ru. $endbody aru_zebra/api15©aru_zebra/alfa $begbody $zebra_bp В настоящее время Zebra находится в стадии предварительной разработки. Потихоньку, в течение года, мы выбрались на этап бета-тестирования. Столь длительные сроки обусловлены многими причинами — дефицитом времени, сложностью работы, но в первую очередь — желанием создать высококачественный продукт, гибкий, быстрый и мощный, максимально удовлетворяющий потребностям самого разного пользователя (мы ориентируемся и на применение Zebra в качестве базового софта для крупных корпоративных сайтов, интернет-порталов), и в то же время не поражающий монстроидальностью компонентов. Все это является нашей главной целью. $zebra_bp В определенном смысле бета-версия уже работоспособна. Ее вполне реально сделать базовой программой для работы сайта. В дальнейшем и все остальные службы вашего ресурса можно будет перевести под компоненты Zebra. Тем более, что их будет много — в планах создание компонентов для поддержки чатов, многофорумных систем, организации магазина, листов рассылки и т. д. Уже имеющиеся в базовом составе Zebra компоненты будут наращивать функциональность (но не в ущерб, естественно, вышеперечисленным целям), для модуля поддержки форума планируется реализовать конвертор из некоторых популярных форумов (WTBoard, UltraBoard, WebBBS и т. д.) для максимально безболезненного перехода на новый софт, а в дальнейшем будет разработана и программа, позволяющая интегрировать конференцию, работающую на базе Zebra Forum, с какой-либо эхо-конференцией Fidonet и осуществлять двунаправленные потоки сообщений. Будет также подробная документация API. Это в будущем. $zebra_bp Бета-версия Zebra является версией для публичного тестирования и предполагает по возможности максимально широкое исследование возможностей с последующим описанием возникающих проблем пользователями для дальнейшего их воспроизведения и устранения разработчиками. Гарантируется определенная сохранность данных, заложенных в базы Zebra на стадии бета-тестирования, однако допускается появление мусора и прочих безобразий. Отдельные разделы в настоящее время могут оказаться недоработанными. $zebra_bp Текущая версия Zebra — $zebraversion. $endbodyaru_sample/index aru_newgroup12509/resou aru_zebra/r aru_zebra/h aru_zebra/feё aru_zebra/dan/f n  $begbody
    Содержание
  • 1. Рекомендуемые правила поведения
  • 2. Модераториал
  • 3. Некоторые технические моменты
  • 4. Авторские права
  • 1. Рекомендуемые правила поведения

    Форум создан для обсуждения самых разных вопросов, так или иначе затронутых на нем. Естественно, в разумных пределах. Бурное обсуждение частных дел, походов в лес по грибы, погоды, кино предлагается переносить на другие форумы или в личную переписку.

    Имеет смысл помнить, что принято и что не принято на форуме.

    • На форуме принято, что каждый желающий высказаться имеет для того все возможности. Никаких ограничений на участие в форуме не имеется.
    • На форуме не принято использовать предоставленную свободу слова для оскорбления собеседников, нарушения тематики.
    • На форуме принято выступать под собственными именем и фамилией, именем или постоянно закрепленным псевдонимом.
    • На форуме не принято использование одним лицом более чем одного имени или псевдонима. О смене псевдонима следует оповещать всех участников форума заранее.
    • На форуме принято откровенно высказывать свои мысли и чувства по любому вопросу, не выходящему за рамки тематики форума.
    • На форуме не принято использование нецензурных выражений в заголовках. Не принято также помещение сообщений, состоящих более чем на 20% из нецензурщины, а также использование соответствующих выражений для нанесения оскорблений другим участникам форума. Подобные сообщения будут удаляться. Лицам, которым трудно не использовать мат вовсе, придется применять соответствующую лексику ограниченно и осмысленно.
    • На форуме принято помещать любую информацию, которую хотят довести до сведения собеседников участники форума, если эта информация не выходит за пределы тематики форума. Объемы сообщений ограничены только техническими возможностями программного обеспечения.
    • На форуме не принято помещение коммерческой либо иной рекламы, не запрашиваемой участниками форума. Не рекомендуется многократное повторение объявлений, не вызвавших интереса у участников форума. Крайне дурным тоном считается сверхцитирование (оверкотинг) собеседника. Оригинальное сообщение должно занимать не менее 30% текста.
    • На форуме принято отвечать за свои слова и следить за точностью и корректностью своих высказываний и сообщаемой информации.
    • На форуме не принято прибегать к сознательному обману и оскорбительным высказываниям в адрес собеседника. Крайне дурным тоном считается передергивание высказываний собеседника, равно как и прочие нечестные приемы ведения полемики.
    • На форуме не принято терпеть присутствие лиц, регулярно путающих, что принято, а что не принято.

    Нарушение вышеуказанных правил влечет за собою последовательное применение следующих мер:

    • Предупреждение со стороны администраторов форума.
    • Модерирование сообщений.
    • Требование со стороны администрации воздержаться на определенный срок от отправления новых сообщений.
    • Прекращение доступа к форуму техническими средствами.

    Администрация форума просит всех участников высказываться обдуманно и по существу дела.

    2. Модераториал

    На форуме имеются Администратор и Модераторы, которые обладают правом объявить любую тему закрытой для обсуждения, а также выдворять особенно ярых нарушителей порядка. Их мнение не является непреложным законом, однако в споры следует вступать аргументированно, не злоупотребляя правами.

    Администратором форума является $adminname.

    Комодераторами форума являются:

    • ...
    • ...
    • ...

    3. Некоторые технические моменты

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

    При первом сообщении, пришедшем от вас, создается учетная запись, в которой записываются ваши данные. Таким образом, чтобы создать в следующий раз сообщение под тем же именем, вы должны ввести прежний пароль. Это представляется вполне логичным и оправданным, чтобы кто-то другой не имел возможности укрыться вашим именем. Обратите внимание, что здесь учитывается сходство символов, таким образом «3apница» (цифра «3», «ap» латиницей, «ница» кириллицей) будет идентично «Зарница» (полностью кириллицей).

    Если вы хотя бы один раз вписали адрес e-mail, вам нет нужды делать это в дальнейшем — он будет подставляться автоматически. Вам потребуется указать его вновь только в том случае, если вы хотите его изменить. Тогда далее будет использоваться новый адрес.

    Вы можете произвести некоторую настройку параметров форума лично для вас. Настройка параметров вызывается ссылкой в самом низу формы создания сообщений.

    Некоторые обсуждения имеют склонность перерастать в длительные дискуссии, что приводит к затруднению в считывании и порой отображении главной страницы. В этом случае вы можете послать ответ как новое сообщение, пометив галочку «Поместить в корень». На основной странице оно будет отмечено звездочкой (*) в начале строки. В сообщениях же предыдущих оно будет видно как обычно.

    Нет нужды как-либо отмечать сообщения, не содержащие текста, так как они выделяются автоматически цветом на основной странице.

    Если вы желаете исправить заголовок сообщения, отображаемый на главной странице (не будем загадывать, зачем это может понадобиться — случаи разные бывают), сообщите администратору конференции номер сообщения, строку имеющуюся и строку желаемую, имя и пароль. Есть вероятность, что администратор пойдет вам навстречу.

    Программное обеспечение форума распознает и автоматически конвертирует некоторые логически выделяемые фрагменты текста — ссылки на ресурсы в интернет, адреса электронной почты, открывающие и закрывающие кавычки. Кроме того, можно использовать примитивные выделения — окружение слова звездочками осуществляет его выделение, то есть: *word* конвертируется в word. Точно так же можно предписать выделение курсивом (_word_), подчеркиванием (__word__) и зачеркиванием (-word-). Если вы хотите, чтобы выделилось больше одного слова, включите фрагмент в фигурные скобки, то есть: *{text for select}* конвертируется в text for select.

    Конвертация кавычек (") по объективным причинам не всегда работает правильно. Если вы хотите гарантированно включить в текст открывающие и закрывающие кавычки — «, », то в соответствующих местах просто поставьте двойные знаки «больше» и «меньше». То есть: << для « и >> для ». Два идущих подряд дефиса заменяются на тире.

    Обо всех замеченных вами неполадках просьба сообщать администратору форума.

     $endbody_bp — dday_X, определено, если соответствующий день месяца существует; в X заносится число с учетом ведущего нуля;\n $zebra_bp — wday_X, содержит название дня недели;\n $zebra_bp — month_X, номер месяца, соответствующий числу;\n $zebra_bp — wmonth_X, название месяца, соответствующего числу;\n $zebra_bp — fullyear_X, полный номер года, соответствующего числу;\n $zebra_bp — year_X, номер года, соответствующего числу;\n $zebra_bp — passed_X, определено, если число активно или уже прошло.\n \n \n \n \n \n
    $zebra_bp (2G6HJ1J) Дополнительные индивидуальные свойства постеров в Zebra Forum\n \n
    $zebra_bp\n \n \n \n \n \n $endbody nt}fid=$fid">«$forum» $previewcreatedate был опубликован постер.
    4. Авторские права

    Все авторские права на высказывания, мысли и идеи, размещенные на форуме, принадлежат авторам этих высказываний. Цитирование не является основанием для объявления авторства. Авторские права на редизайн форума принадлежат администрации форума.

    Авторские права на программное обеспечение форума принадлежат White Tiger Group (Copyright © XXI, WTG). По вопросам использования обращайтесь к разработчику.

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

    %previewparentmid{}previewparentmid% %previewannotation{}previewannotation% %previewurl{}previewurl% %previewpicture{}previewpicture%
    Автор:$previewperson
    Тема:$previewsubject
    Ответ на:$previewparentsubject
    Аннотация:$previewannotation
    Ссылка:$previewurltitle
    Картинка:$previewpicturetitle


    $previewbody


    Прямой доступ: Править Удалить Ответить

    $forum © $fullyear, $sitename.
    WTG Zebra Forum © XXI, WTG. 11sрiru_systemmail_zebraceЗапрос подтверждения смены адреса e-mailE-mail modification: [$regkey]Уважаемый $name! Вы изменили адрес электронной почты, зарегистрированный для вашего аккаунта. Для завершения операции необходимо ее подтвердить. Чтобы сделать это, ответьте на данное письмо, не изменяя его тему, в течение $timewaitingforreg суток. Также для подтверждения изменения адреса электронной почты Вы можете проследовать по следующему адресу: $sitehost$dircgi/${current}activate=$regkey. Новый адрес будет активирован только после получения подтверждения. Если в течение $timewaitingforreg дней после заявки подтверждение не будет получено, активным в Вашем аккаунте останется прежний адрес. С уважением, администрация сайта "$sitename".111зiru_systemadminАлександр Дзюбаdzuba@oues.rute{Шiru_stattemplate

    Perl и адаптированных или написанных\n специально для использования вместе с Zebra. Ядро Zebra осуществляет генерацию\n html-контента страницы на основе ее описания. При этом реализуются\n установленные ограничения, адаптации и вызовы, что позволяет практически\n неограниченно варьировать конечное содержимое в зависимости от каких-то\n параметров.\n \n $zebra_bp В базовом варианте Zebra включает в себя библиотеку ассоциативной\n сети DAN, модуль поддержки сайта Zebra Site и модуль поддержки форума Zebra\n Forum с определенными ограничениями, связанными с лицензионным соглашением.\n Разумеется, присутствуют также развитые средства администрирования.\n \n $zebra_bp Полный официальный список модулей, существующих\n или запланированных (*) на сегодняшний день, включает в себя следующие\n компоненты:\n

    \n \n \n $zebra_bp Список модулей и их функциональность могут\n измениться в зависимости от текущих осмыслений, изменения инфраструктуры Интернета,\n далеко идущих требований и внезапных творческих озарений.\n Кроме того, возможна индивидуальная разработка модуля по договоренности с\n авторами Zebra (подробнее об этом см. здесь).\n \n $endbody влияния\n могут не пересекаться вовсе. Подробнее о рекомендациях к проектированию сайта\n на базе Zebra см. «Разработка сайта».\n \n $zebra_bp От вас зависит дальнейшее развитие\n функциональности Zebra. Тонкие особенности, характерные для индивидуального\n оформления каждого по-настоящему грамотного сайта, легко реализуются при помощи\n уже имеющихся возможностей Zebra. Если же что-то не реализуется либо\n реализуется «большой кровью», то мы с вниманием выслушаем ваши\n пожелания.\n \n $endbody ным критериям %MULTIPLElistpage{ $number $title $counter$size }listpage% }rem% %rem{ ---- этот фрагмент определяется шаблоном, устанавливаемым посредством ---- ключевого слова 'tablepage'. В атрибутах tablepage можно указать ---- различные ключи: name, href, title, counter, size, createdate, ---- modifydate, accessdate, limitdate. }rem% %tablepage{href,#|counter,#|size}tablepage% %pages{   }pages%

    $endbodyiru_profile_yellowЖелтыйказiru_profile_senpolia_saitСтиль сенполия сайт голубойmalru_zebra/history= $begbody\n $begbody Начало

  • White Tiger Group
  • Zebra
  • Сетевая Барахолка
  • WorldArt
  • WTBoard
  • DAN Если вы видите перед собой эту страницу, и выглядит она вполне прилично, значит, вы успешно установили WTG Zebra на сервер. Возможно, в дальнейшем появятся некоторые странности. Не пугайтесь — скорее всего, они обусловлены конкретной настройкой вашего сервера. Мы работаем над тем, чтобы по возможности учесть все моменты, касающиеся отличий в разных системах и серверах.

    WTG Zebra представляет собой комплексное программное решение, направленное на организацию, управление и поддержку сайта, и ориентированное на самых разных пользователей. Для начинающих Zebra предоставляет максимально удобные средства, готовые шаблоны и процедуры и подробную документацию, воспользовавшись которыми, можно в сжатые сроки реализовать немалый проект. Более опытные пользователи могут создавать собственные шаблоны и процедуры, доводя таким образом динамичность сайта до крайних пределов познания... Профессионалам, вероятно, интересно будет написание к Zebra собственных модулей, что позволит осуществить практически любые действия по наполнению и поддержке сайта.

    WTG Zebra является разработкой творческой группы White Tiger Group. В числе наших успешно реализованных проектов также можно назвать сайты «Сетевая барахолка», «WorldArt», программные продукты «WTBoard» и «DAN».

    Данная начальная страница устанавливается по умолчанию на сайт сразу после инсталляции Zebra. В дальнейшем при разработке и создании других ресурсов сайта вы можете пользоваться шаблоном этой страницы. Пошаговое руководство можно найти в документации.

    Документация
  • Новости Zebra
  • Документация
  • Документация он-лайн
  • Тонкости и хитрости
  • Документация к Zebra поставляется вместе с самой Zebra и устанавливается вместе с ней. Поэтому, раз уж у вас нормально отображается эта страница, то и документация тоже должна быть в порядке. Прочитать ее можно здесь. Кроме того, всегда доступна документация к Zebra в Интернет. У нее есть некоторое преимущество — на нашем сайте есть самая свежая информация об изменениях, усовершенствованиях и новых функциях. Кроме того, постоянно появляются новые советы, каким образом, используя Zebra, сделать сайт интереснее, удобнее и динамичнее.

    Регистрация
  • Файлы
  • Модули
  • Регистрация
  • Бесплатная регистрация
  • Лицензионное соглашение
  • Базовый комплект Zebra распространяется бесплатно. Он включает в себя полнофункциональное ядро, обеспечивающее работу Zebra и Zebra Site, а также модуль Zebra Forum с некоторыми ограничениями. Техническая поддержка бесплатной копии Zebra осуществляется ограниченно. С условиями бесплатной регистрации вы можете ознакомиться здесь. В отношении же платной регистрации у нас очень гибкий спектр условий, которые вы можете узнать здесь. Обратите внимание, что приобретение платной регистрации даст вам возможность установить другие модули, не входящие в базовую поставку, а также в дальнейшем со скидкой приобрести новые модули, которые будут разработаны нами для Zebra.

    Поддержка
  • White Tiger Group
  • Новости WTG
  • Поддержка и развитие Zebra осуществляется творческим коллективом White Tiger Group. Последние новости проекта и планы дальнейшего развития вы можете узнать на нашем сайте.

    $endbody

    Форум
  • Технический форум
  • Общество любителей животных
  • Салун
  • Все форумы на WTG
  • Если у вас возникнут вопросы по установке, работе и настройке Zebra, либо какие-то еще, ответы на которые вы не нашли ни в документации, ни в разделе «FAQ», то эти вопросы можно задать на нашем техническом форуме. А в общем, совсем не обязательно говорить только о делах — мы, как и все нормальные (или уже ненормальные?) люди, любим общаться и обсуждать различные проблемы, касающиеся самых разнообразных областей человеческой жизни. И поэтому — всегда рады видеть вас в нашей сети форумов.
    Zebra © XXI
    White Tiger Group
     Программный продукт «WTG Zebra» является собственностью White Tiger Group. Все авторские и смежные права закреплены за WTG.
     «WTG Zebra» не является открытым проектом. Использование его подразумевает ваше согласие с «Лицензионным соглашением».
    аким образом, используя Zebra, сделать сайт\n интереснее, удобнее и динамичнее.\n \n \n

    \n \n \n
    Регистрация
    \n
  • Файлы\n
  • Модули\n
  • Регистрация\n
  • Бесплатная регистрация\n
  • Лицензионное соглашение\n
  • \n Базовый комплект Zebra распространяется бесплатно. Он включает в себя\n полнофункциональное ядро, обеспечивающее работу Zebra и Zebra Site, $zebrainclude $begbody
    Начало
  • White Tiger Group
  • Zebra
  • Если вы видите перед собой эту страницу, и выглядит она вполне прилично, значит, вы успешно установили WTG Zebra на сервер. Возможно, в дальнейшем появятся некоторые странности. Не пугайтесь — скорее всего, они обусловлены конкретной настройкой вашего сервера. Мы работаем над тем, чтобы по возможности учесть все моменты, касающиеся отличий в разных системах и серверах.

    Данная начальная страница устанавливается по умолчанию на сайт сразу после инсталляции Zebra. В дальнейшем при разработке и создании других ресурсов сайта вы можете пользоваться шаблоном этой страницы. Пошаговое руководство можно найти в документации.

    Документация
  • Новости Zebra
  • Документация
  • Документация он-лайн
  • Тонкости и хитрости
  • Документация к Zebra поставляется вместе с самой Zebra и устанавливается вместе с ней. Поэтому, раз уж у вас нормально отображается эта страница, то и документация тоже должна быть в порядке. Прочитать ее можно здесь. Кроме того, всегда доступна документация к Zebra в Интернет. У нее есть некоторое преимущество — на нашем сайте есть самая свежая информация об изменениях, усовершенствованиях и новых функциях. Кроме того, постоянно появляются новые советы, каким образом, используя Zebra, сделать сайт интереснее, удобнее и динамичнее.

    Регистрация
  • Файлы
  • Модули
  • Регистрация
  • Бесплатная регистрация
  • Лицензионное соглашение
  • Базовый комплект Zebra распространяется бесплатно. Он включает в себя полнофункциональное ядро, обеспечивающее работу Zebra и Zebra Site, а также модуль Zebra Forum с некоторыми ограничениями. Техническая поддержка бесплатной копии Zebra осуществляется ограниченно. С условиями бесплатной регистрации вы можете ознакомиться здесь. В отношении же платной регистрации у нас очень гибкий спектр условий, которые вы можете узнать здесь. Обратите внимание, что приобретение платной регистрации даст вам возможность установить другие модули, не входящие в базовую поставку, а также в дальнейшем со скидкой приобрести новые модули, которые будут разработаны нами для Zebra.

    Поддержка
  • White Tiger Group
  • Новости WTG
  • Поддержка и развитие Zebra осуществляется творческим коллективом White Tiger Group. Последние новости проекта и планы дальнейшего развития вы можете узнать на нашем сайте.

    Форум
  • Технический форум
  • Общество любителей животных
  • Салун
  • Все форумы на WTG
  • Если у вас возникнут вопросы по установке, работе и настройке Zebra, либо какие-то еще, ответы на которые вы не нашли ни в документации, ни в разделе «FAQ», то эти вопросы можно задать на нашем техническом форуме. А в общем, совсем не обязательно говорить только о делах — мы, как и все нормальные (или уже ненормальные?) люди, любим общаться и обсуждать различные проблемы, касающиеся самых разнообразных областей человеческой жизни. И поэтому — всегда рады видеть вас в нашей сети форумов.

    $endbody

    О Zebra
  • White Tiger Group
  • Zebra
  • WorldArt
  • Сетевая Барахолка
  • WorldArt
  • WTBoard
  • DAN
  • О программе
  • WTG Zebra представляет собой комплексное программное решение, направленное на организацию, удаленное управление посредством WWW, автоматическую и полуавтоматическую поддержку сайта, ориентированное на самых разных пользователей. В базовый комплект дистрибутива Zebra входят сайтовый и форумный движок, а также библиотека поддержки ассоциативной сети (DAN), на базе которой можно разрабатывать модули весьма разнообразной функциональности. Для начинающих Zebra предоставляет максимально удобные средства, готовые шаблоны и процедуры и подробную документацию, воспользовавшись которыми, можно в сжатые сроки реализовать серьезный проект. Более опытные пользователи могут создавать собственные шаблоны и процедуры, доводя таким образом динамичность сайта до крайних пределов познания... Профессионалам, вероятно, интересно будет написание к Zebra собственных модулей (в том числе на базе DAN), что позволит осуществлять практически любые действия по наполнению и поддержке сайта.

    WTG Zebra является разработкой творческой группы White Tiger Group. В числе наших успешно реализованных проектов также можно назвать сайты «Сетевая барахолка», «WorldArt», программные продукты «WTBoard» и «DAN».

    Программный продукт «WTG Zebra» является собственностью White Tiger Group. Все авторские и смежные права закреплены за WTG.

    «WTG Zebra» не является открытым проектом. Использование его подразумевает ваше согласие с «Лицензионным соглашением».

    Zebra © XXI
    White Tiger Group
    colspan="2" align="center">Содержание

  • 1. Рекомендуемые правила поведения
  • 2. Модераториал
  • 3. Некоторые технические моменты
  • 4. Авторские права

    1. Рекомендуемые правила поведения

    Форум создан для обсуждения самых разных вопросов, так или иначе затронутых на нем. Естественно, в разумных пределах. Бурное обсуждение частных дел, походов в лес по грибы, погоды, кино предлагается переносить на другие форумы или в личную переписку.

    Имеет смысл помнить, что принято и что не принято на форуме.

    • На форуме принято, что каждый желающий высказаться имеет для того все возможности. Никаких ограничений на участие в форуме не имеется.
    • На форуме не принято использовать предоставленную свободу слова для оскорбления собеседников, нарушения тематики.
    • На форуме принято выступать под собственными именем и фамилией, именем или постоянно закрепленным псевдонимом.
    • На форуме не принято использование одним лицом более чем одного имени или псевдонима. О смене псевдонима следует оповещать всех участников форума заранее.
    • На форуме принято откровенно высказывать свои мысли и чувства по любому вопросу, не выходящему за рамки тематики форума.
    • На форуме не принято использование нецензурных выражений в заголовках. Не принято также помещение сообщений, состоящих более чем на 20% из нецензурщины, а также использование соответствующих выражений для нанесения оскорблений другим участникам форума. Подобные сообщения будут удаляться. Лицам, которым трудно не использовать мат вовсе, придется применять соответствующую лексику ограниченно и осмысленно.
    • На форуме принято помещать любую информацию, которую хотят довести до сведения собеседников участники форума, если эта информация не выходит за пределы тематики форума. Объемы сообщений ограничены только техническими возможностями программного обеспечения.
    • На форуме не принято помещение коммерческой либо иной рекламы, не запрашиваемой участниками форума. Не рекомендуется многократное повторение объявлений, не вызвавших интереса у участников форума. Крайне дурным тоном считается сверхцитирование (оверкотинг) собеседника. Оригинальное сообщение должно занимать не менее 30% текста.
    • На форуме принято отвечать за свои слова и следить за точностью и корректностью своих высказываний и сообщаемой информации.
    • На форуме не принято прибегать к сознательному обману и оскорбительным высказываниям в адрес собеседника. Крайне дурным тоном считается передергивание высказываний собеседника, равно как и прочие нечестные приемы ведения полемики.
    • На форуме не принято терпеть присутствие лиц, регулярно путающих, что принято, а что не принято.

    Нарушение вышеуказанных правил влечет за собою последовательное применение следующих мер:

    • Предупреждение со стороны администраторов форума.
    • Модерирование сообщений.
    • Требование со стороны администрации воздержаться на определенный срок от отправления новых сообщений.
    • Прекращение доступа к форуму техническими средствами.

    Администрация форума просит всех участников высказываться обдуманно и по существу дела.

    2. Модераториал

    На форуме имеются Администратор и Модераторы, которые обладают правом объявить любую тему закрытой для обсуждения, а также выдворять особенно ярых нарушителей порядка. Их мнение не является непреложным законом, однако в споры следует вступать аргументированно, не злоупотребляя правами.

    Администратором форума является $adminname.

    Комодераторами форума являются:

    • ...
    • ...
    • ...

    3. Некоторые технические моменты

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

    При первом сообщении, пришедшем от вас, создается учетная запись, в которой записываются ваши данные. Таким образом, чтобы создать в следующий раз сообщение под тем же именем, вы должны ввести прежний пароль. Это представляется вполне логичным и оправданным, чтобы кто-то другой не имел возможности укрыться вашим именем. Обратите внимание, что здесь учитывается сходство символов, таким образом «3apница» (цифра «3», «ap» латиницей, «ница» кириллицей) будет идентично «Зарница» (полностью кириллицей).

    Если вы хотя бы один раз вписали адрес e-mail, вам нет нужды делать это в дальнейшем — он будет подставляться автоматически. Вам потребуется указать его вновь только в том случае, если вы хотите его изменить. Тогда далее будет использоваться новый адрес.

    Вы можете произвести некоторую настройку параметров форума лично для вас. Настройка параметров вызывается ссылкой в самом низу формы создания сообщений.

    Некоторые обсуждения имеют склонность перерастать в длительные дискуссии, что приводит к затруднению в считывании и порой отображении главной страницы. В этом случае вы можете послать ответ как новое сообщение, пометив галочку «Поместить в корень». На основной странице оно будет отмечено звездочкой (*) в начале строки. В сообщениях же предыдущих оно будет видно как обычно.

    Нет нужды как-либо отмечать сообщения, не содержащие текста, так как они выделяются автоматически цветом на основной странице.

    Если вы желаете исправить заголовок сообщения, отображаемый на главной странице (не будем загадывать, зачем это может понадобиться — случаи разные бывают), сообщите администратору конференции номер сообщения, строку имеющуюся и строку желаемую, имя и пароль. Есть вероятность, что администратор пойдет вам навстречу.

    Программное обеспечение форума распознает и автоматически конвертирует некоторые логически выделяемые фрагменты текста — ссылки на ресурсы в интернет, адреса электронной почты, открывающие и закрывающие кавычки. Кроме того, можно использовать примитивные выделения — окружение слова звездочками осуществляет его выделение, то есть: *word* конвертируется в word. Точно так же можно предписать выделение курсивом (_word_), подчеркиванием (__word__) и зачеркиванием (-word-). Если вы хотите, чтобы выделилось больше одного слова, включите фрагмент в фигурные скобки, то есть: *{text for select}* конвертируется в text for select.

    Конвертация кавычек (") по объективным причинам не всегда работает правильно. Если вы хотите гарантированно включить в текст открывающие и закрывающие кавычки — «, », то в соответствующих местах просто поставьте двойные знаки «больше» и «меньше». То есть: << для « и >> для ». Два идущих подряд дефиса заменяются на тире.

    Обо всех замеченных вами неполадках просьба сообщать администратору форума.

     $begbody
    $zebra_bp Содержание раздела: $zebra_bp 1. API Zebra $zebra_bp 2. Формат файлов резерва $zebra_bp 2.1. Общий формат файлов резерва $zebra_bp 2.2. Формат файлов дампа АС $zebra_bp 2.3. Формат файлов резерва форумов $zebra_bp Encyclopaedia Zebra $zebra_bp     (4676312) Добавление кодовых страниц $zebra_bp     (3467848) Календарь $zebra_bp     (2G6HJ1J) Дополнительные индивидуальные свойства постеров в Zebra Forum
    $zebra_bp Zebra имеет достаточно гибкое и расширяемое API (application programming interface), что позволяет осуществить многие, порой весьма хитрые вещи, не реализованные в самой Zebra, за счет настройки параметров либо подключения внешних модулей, разработанных или адаптированных для Zebra. Так, за счет тесного взаимодействия с ядром работают Zebra Site (интеграция которого очень сильна, поскольку он является практически обязательным модулем), Zebra Forum (функционирование которого целиком выстроено на использовании предоставляемых Zebra возможностей).
    $zebra_bp 1. API Zebra
    $zebra_bp API комплекса WTG Zebra реализуется процедурами, вынесенными в несколько оверлейных модулей, сообразуясь с частотой и необходимостью их использования. Например, процедуры, практически гарантированно вызываемые при каждом запуске Zebra, находятся в модуле zx0.cgi; другие, не требуемые для каждого вызова, определены в модуле zx1.cgi. Кроме того, часть процедур вынесена в библиотеку Zebra.pm, стандартно подключаемой к компонентам при инициализации Zebra.
    $zebra_bp 2. Формат файлов резерва
    $zebra_bp В Zebra для резервного хранения баз или портирования информации на другой сайт применяются обычные текстовые файлы, в которые в определенном формате сохраняются записи баз Zebra. Применяются три формата: $zebra_bp — общий формат файлов резерва, $zebra_bp — дамп базы АС; $zebra_bp — файл резерва форумов. $zebra_bp Ниже будут приведены описания каждого формата.
    $zebra_bp 2.1. Общий формат файлов резерва $zebra_bp В самом начале файла идет техническая необязательная информация для административной части. Она отмечена символом «точка с запятой», начиная с первой позиции строки. Например: $zebra_bp ; Zebra (C) XXI, White Tiger Group $zebra_bp ; Web: http://www.wtg.ru $zebra_bp ; Zebra ini file. For join to the base rename this file into zauto.inc, $zebra_bp ; put into your data-directory and run Zebra Administration $zebra_bp ; Version 0.12 (0126) $zebra_bp ; Date: Thu Dec 5 22:22:22 2002 $zebra_bp ; $zebra_bp ; description=Zebra main configuration $zebra_bp ; requiredversion=0126 $zebra_bp ; end $zebra_bp Здесь Version — указание версии, с помощью которой был сгенерирован данный файл резерва; Date — дата генерации файла; description — описание файла резерва, которое будет отображаться в административной части в разделе «Резервирование и обновление»; requiredversion — требование к минимальной версии, в которой должен обрабатываться данный файл резерва при подключении (требование может быть завышенным, поскольку совместимость файлов резерва с ранними версиями Zebra достаточно высока). Наличие строки ; requiredversion=XXXX обязательно, по ней определяется принадлежность данного текстового файла к текстовым файлам резерва Zebra первого типа. $zebra_bp Далее начинаются собственно записи. Они разделены на блоки. Блок начинается записью типа: $zebra_bp [X:YYYYYYYY] $zebra_bp Что обозначает, что дальше идут записи, наименования которых начинаются с буквы X, а пишутся они в базу типа YYYYYYYY. Например: $zebra_bp [1:dan1forum] $zebra_bp Значит, все последующие ключи этого блока будут записываться в базу zUSERKEYdan1forum.db, и в начало названий ключей будет приписываться 1. Обратите внимание, что запись может выглядеть и так: $zebra_bp [XXXXXXXX:YYYYYYYY] $zebra_bp Тогда во внимание берется только первый символ фрагмента XXXXXXXX, в то время как YYYYYYYYY обрабатывается полностью. $zebra_bp Еще один пример, из файла zebra.ini $zebra_bp [_:ini] $zebra_bp _descdb_dan1forum=Zebra Forum index $zebra_bp _descdb_dan3forum=Zebra Forum bodies $zebra_bp _descdb_ini=Zebra main configuration $zebra_bp _alocales=РусскийEnglish $zebra_bp $zebra_bp [I:ini] $zebra_bp en_profile_blue=Blue $zebra_bp en_profile_gray=Gray $zebra_bp en_profile_green=Green $zebra_bp В результате в базу zUSERKEYini.db будут записаны следующие ключи: $zebra_bp __descdb_dan1forum со значением Zebra Forum index, $zebra_bp __descdb_dan3forum со значением Zebra Forum bodies, $zebra_bp __descdb_ini со значением Zebra main configuration, $zebra_bp __alocales с двумя значениями, разделенными нулевым символом: Русский и English, $zebra_bp ien_profile_blue со значением Blue, $zebra_bp ien_profile_gray со значением Gray, $zebra_bp ien_profile_green со значением Green. $zebra_bp Если база zUSERKEYini.db на момент такой записи отсутствует, она будет создана. $zebra_bp Последовательность преобразуется в нулевой символ. Если где-то встречается % в качестве обязательного знака, и при этом возможно появление последоваетельности %, то не подлежащий преобразованию символ отбивается обратным слэшем: %. $zebra_bp По умолчанию осуществляется дополнение базы, то есть, если запись ien_profile_blue уже существует в базе, она останется нетронутой, но если она отсутствует, то добавляется. На это поведение могут влиять модификаторы. $zebra_bp Определены модификаторы, которые могут стоять в первой позиции строки записи. Рассмотрим на примерах. $zebra_bp — +en_profile_blue=Cyan (запись безусловно заменяется новой) $zebra_bp — *en_profile_blue=Cyan (запись дополняется новым значением, если оно отсутствует в списке, перечисленном с разделителем — нулевым значением) $zebra_bp — /en_profile_blue=Cyan (из списка значений удаляется указанное, разделитель — нулевой символ) $zebra_bp — +en_profile_blue= (пустое значение — в таком случае запись просто удаляется) $zebra_bp — # (в первой или второй позиции строки — строка игнорируется) $zebra_bp Есть также глобальные инструкции, чье поведение действует с момента их обнаружения в файле резерва: $zebra_bp __replace, заменять все необозначенные особо значения; если значение предварено * или /, оно обрабатывается согласно действию модификаторов, отсутствие модификатора в таком случае равнозначно +; $zebra_bp __noreplace, отменяет действие модификатора __replace; $zebra_bp __action, предписывает запустить процедуру из внешней библиотеки; $zebra_bp __end, дальнейшая обработка файла резерва прерывается. $zebra_bp Запись стандартно занимает одну строку. Однако в некоторых случаях это может оказаться неудобным. Поэтому предусмотрен альтернативный вариант задания записи: $zebra_bp _identificator={ $zebra_bp блок — тело записи, состоящий $zebra_bp из неограниченного количества строк $zebra_bp }_identificator $zebra_bp Если в блоке записи встречаются строки, в первой или второй позиции которых находится символ #, такие строки игнорируются.
    $zebra_bp 2.2. Формат файлов дампа АС 
    $zebra_bp 2.3. Формат файла резерва форумов

    $zebra_bp Encyclopaedia Zebra
    $zebra_bp (4676312) Добавление кодовых страниц
    $zebra_bp Поддержка кодовых страниц в Zebra осуществляется на уровне перекодирования согласно сопоставленным таблицам из таблицы по умолчанию. Таблица по умолчанию всегда соответствует странице windows-1251. $zebra_bp Для добавления кодовой страницы требуется составить подключаемый файл Zebra zauto.ini следующего вида (например, для KOI8-r): $zebra_bp [_:ini] $zebra_bp _charset-koi8-r=бвчздецъйклмнопртуфхжигюыэЪщшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС $zebra_bp Расположение символов должно соответствовать следующему раскладу таблицы windows-1251: $zebra_bp АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя $zebra_bp В Zebra по умолчанию сразу устанавливаются кодовые страницы KOI8-r, ISO-8859-5, Alt-866 (DOS).
    $zebra_bp (3467848) Календарь
    $zebra_bp Для отображения календаря требуется: $zebra_bp на уровне компонента: $zebra_bp — подключить внешнюю библиотеку zx1.cgi; $zebra_bp — вызвать процедуру zs_calendar($month,$year), здесь $month — месяц, $year — полный год, для которых формируется календарь; если аргументы опустить, будут приняты текущий месяц и год; $zebra_bp в описании страницы: $zebra_bp — определить в месте расположения календаря совокупность ключей для его установки. $zebra_bp При создании календаря используются следующие ключи списка int.
    4. Авторские права
    month_prev, номер предыдущего относительно активного месяца
    wmonth_prev, название предыдущего относительно активного месяца
    fullyear_prev, полный номер года, соответствующий предыдущему относительно активного месяца
    year_prev, номер года, соответствующий предудыщему относительно активного месяца
    month_current, номер активного месяца
    wmonth_current, название активного месяца
    fullyear_current, полный номер активного года
    year_current, номер активного года
    month_next, номер следующего относительно активного месяца
    wmonth_next, название следующего относительно активного месяца
    fullyear_next, полный номер года, соответствующий следующему относительно активного месяца
    year_next, номер года, соответствующий следующему относительно активного месяца
    week_X, определено, если в месяце есть X-я неделя; содержит номер недели (само X)
    weekmonth_X, номер месяца для X-й недели
    weekwmonth_X, название месяца для X-й недели
    weekfullyear_X, полный номер года для X-й недели
    weekyear_X, номер года для X-й недели
    weekpassed_X, определено, если X-я неделя месяца активна или уже прошла
    $zebra_bp Параметры дней месяца рассматриваются несколько особенным образом. Формирование их в любом случае начинается с понедельника. Если первое число месяца приходится на середину или конец недели, начальные элементы списка не определены, и первое число может быть установлено, например, в day_6 (для субботы). Таким образом, может быть рассмотрено до 38 значений X, при этом в day_38 попадает 31 число месяца. При составлении описания календаря следует руководствоваться этими соображениями. Также нужно иметь в виду, что описание может получиться громоздким (в то же время результат его обработки — готовый календарь — будет в несколько раз меньше). Пример описания календаря можно найти в ресурсе f.s.tree.showindex.dsc.ru в дистрибутивном каталоге Zebra. $zebra_bp — day_X, определено, если соответствующий день месяца существует; в X заносится число; $zebra_bp — dday_X, определено, если соответствующий день месяца существует; в X заносится число с учетом ведущего нуля; $zebra_bp — wday_X, содержит название дня недели; $zebra_bp — month_X, номер месяца, соответствующий числу; $zebra_bp — wmonth_X, название месяца, соответствующего числу; $zebra_bp — fullyear_X, полный номер года, соответствующего числу; $zebra_bp — year_X, номер года, соответствующего числу; $zebra_bp — passed_X, определено, если число активно или уже прошло.
    $zebra_bp (2G6HJ1J) Дополнительные индивидуальные свойства постеров в Zebra Forum
    $zebra_bp $endbody.wtg.ru/forum/zebra/">Технический форум

  • Общество любителей животных
  • Салун
  • Все форумы на WTG Если у вас возникнут вопросы по установке, работе и настройке Zebra, либо какие-то еще, ответы на которые вы не нашли ни в документации, ни в разделе «FAQ», то эти вопросы можно задать на нашем техническом форуме. А в общем, совсем не обязательно говорить только о делах — мы, как и все нормальные (или уже ненормальные?) люди, любим общаться и обсуждать различные проблемы, касающиеся самых разнообразных областей человеческой жизни. И поэтому — всегда рады видеть вас в нашей сети форумов. $endbody

    Zebra © XXI
    White Tiger Group
     Программный продукт «WTG Zebra» является собственностью White Tiger Group. Все авторские и смежные права закреплены за WTG.
     «WTG Zebra» не является открытым проектом. Использование его подразумевает ваше согласие с «Лицензионным соглашением».
    аким образом, используя Zebra, сделать сайт\n интереснее, удобнее и динамичнее.\n \n \n

    \n \n \n
    Регистрация
    \n
  • Файлы\n
  • Модули\n
  • Регистрация\n
  • Бесплатная регистрация\n
  • Лицензионное соглашение\n
  • \n Базовый комплект Zebra распространяется бесплатно. Он включает в себя\n полнофункциональное ядро, обеспечивающее работу Zebra и Zebra Site,  $begbody $zebra_bp Данная версия Zebra является первой публичной версией, обозначенной как beta (версия $zebraversion) и предназначенной для открытого тестирования. Распространению, продаже и прочим дистрибуциям сторонними лицами не подлежит. Данную версию допускается установить на публично доступном сайте и использовать в рамках бета-тестирования, при этом следует иметь в виду, что часть функций еще не окончательно доработана и оттестирована.
    $zebra_bp Настоящее лицензионное соглашение заключается между вами (пользователь) и White Tiger Group (далее WTG) относительно WTG Zebra, представляющего собой программу для поддержки Интернет-сайта, работающую на стороне сервера и предназначенную для использования в любой операционной системе, для которой существует и имеется в наличии интерпретатор языка программирования Perl. Программа WTG Zebra поставляется по принципу «как есть». Даются гарантии работоспособности программы при полном выполнении условий, оглашенных в разделе «Технические требования», однако при отсутствии или неполном наличии некоторых компонентов возможны определенные трудности в функционировании WTG Zebra, за которые WTG ответственности не несет. Вы используете это программное обеспечение на свой риск. Авторы не будут отвечать за потери или искажение данных, либо упущенную выгоду в процессе использования или неправильного использования этого программного обеспечения. $zebra_bp Программа WTG Zebra (а также любые ее компоненты, за исключением данных, накопленных на локально установленном экземпляре WTG Zebra в результате его работы) является собственностью White Tiger Group. Несмотря на то, что WTG сохраняет права собственности на программу WTG Zebra, вы, приняв данное лицензионное соглашение, получаете определенные права на ее использование. Программа WTG Zebra и все ее модули защищена законами и международными соглашениями об авторских правах, а также другими законами и договорами, регулирующими отношения в области авторских прав. $zebra_bp По данному соглашению WTG обязуется передать право пользования программой WTG Zebra пользователю. Для получения такого права требуется следующее: $zebra_bp — согласие с условиями лицензионного соглашения; $zebra_bp — перечисление установленной платы за право пользования по указанным реквизитам (в случае платного пользования). $zebra_bp В качестве подтверждения совершенного платежа пользователь может отправить копию платежного документа по электронной почте на адрес WTG. $zebra_bp Настоящее лицензионное соглашение предоставляет вам следующие права: $zebra_bp — разрешается установить и использовать одну копию WTG Zebra на одном сервере; $zebra_bp — сделать одну копию программы WTG Zebra для архивного хранения. $zebra_bp Вы не имеете права: $zebra_bp — сублицензировать, сдавать в аренду или временное пользование программу WTG Zebra без разрешения WTG; $zebra_bp — требовать оплату за распространение программы WTG Zebra; $zebra_bp — включать WTG Zebra в состав любых других программных продуктов. $zebra_bp Лицензия на программу неделима и не допускает одновременного использования программы на нескольких компьютерах. $zebra_bp Использование программы WTG Zebra на разных компьютерах с одним и тем же регистрационным ключом недопустимо и является нарушением лицензионного соглашения. $zebra_bp По данному соглашению передается право пользование программой WTG Zebra любой версии. $zebra_bp Вне зависимости от того, достигнуты ли изложенными здесь средствами поставленные цели, WTG не несет ответственности за прямой, косвенный или другие виды ущерба, в том числе упущенную выгоду или потерю данных вследствие использования или невозможности использования программы WTG Zebra, даже в том случае, если WTG был поставлен в известность относительно возможности нанесения такого ущерба. $zebra_bp Ни в коем случае ответственность WTG не может превышать стоимости программы WTG Zebra. $zebra_bp Владельцам сайтов и составителям сборников условно-бесплатного программного обеспечения разрешается размещение на своих носителях немодифицированного инсталляционного архива программы WTG Zebra с предварительного согласия разработчиков. $zebra_bp WTG передает Вам программу WTG Zebra, только если Вы принимаете все условия настоящего лицензионного соглашения. $endbody>Все форумы на WTG
    Если у вас возникнут вопросы по установке, работе и настройке Zebra, либо какие-то еще, ответы на которые вы не нашли ни в документации, ни в разделе «FAQ», то эти вопросы можно задать на нашем техническом форуме. А в общем, совсем не обязательно говорить только о делах — мы, как и все нормальные (или уже ненормальные?) люди, любим общаться и обсуждать различные проблемы, касающиеся самых разнообразных областей человеческой жизни. И поэтому — всегда рады видеть вас в нашей сети форумов.

    $endbody

    О Zebra
  • White Tiger Group
  • Zebra
  • WorldArt
  • Сетевая Барахолка
  • WorldArt
  • WTBoard
  • DAN
  • О программе
  • WTG Zebra представляет собой комплексное программное решение, направленное на организацию, удаленное управление посредством WWW, автоматическую и полуавтоматическую поддержку сайта, ориентированное на самых разных пользователей. В базовый комплект дистрибутива Zebra входят сайтовый и форумный движок, а также библиотека поддержки ассоциативной сети (DAN), на базе которой можно разрабатывать модули весьма разнообразной функциональности. Для начинающих Zebra предоставляет максимально удобные средства, готовые шаблоны и процедуры и подробную документацию, воспользовавшись которыми, можно в сжатые сроки реализовать серьезный проект. Более опытные пользователи могут создавать собственные шаблоны и процедуры, доводя таким образом динамичность сайта до крайних пределов познания... Профессионалам, вероятно, интересно будет написание к Zebra собственных модулей (в том числе на базе DAN), что позволит осуществлять практически любые действия по наполнению и поддержке сайта.

    WTG Zebra является разработкой творческой группы White Tiger Group. В числе наших успешно реализованных проектов также можно назвать сайты «Сетевая барахолка», «WorldArt», программные продукты «WTBoard» и «DAN».

    Программный продукт «WTG Zebra» является собственностью White Tiger Group. Все авторские и смежные права закреплены за WTG.

    «WTG Zebra» не является открытым проектом. Использование его подразумевает ваше согласие с «Лицензионным соглашением».

    Zebra © XXI
    White Tiger Gro "ЁаД|XxЁ/td>
    colspan="2" align="center">Содержание

  • 1. Рекомендуемые правила поведения
  • 2. Модераториал
  • 3. Некоторые технические моменты
  • 4. Авторские права

    1. Рекомендуемые правила поведения

    Форум создан для обсуждения самых разных вопросов, так или иначе затронутых на нем. Естественно, в разумных пределах. Бурное обсуждение частных дел, походов в лес по грибы, погоды, кино предлагается переносить на другие форумы или в личную переписку.

    Имеет смысл помнить, что принято и что не принято на форуме.

    • На форуме принято, что каждый желающий высказаться имеет для того все возможности. Никаких ограничений на участие в форуме не имеется.
    • На форуме не принято использовать предоставленную свободу слова для оскорбления собеседников, нарушения тематики.
    • На форуме принято выступать под собственными именем и фамилией, именем или постоянно закрепленным псевдонимом.
    • На форуме не принято использование одним лицом более чем одного имени или псевдонима. О смене псевдонима следует оповещать всех участников форума заранее.
    • На форуме принято откровенно высказывать свои мысли и чувства по любому вопросу, не выходящему за рамки тематики форума.
    • На форуме не принято использование нецензурных выражений в заголовках. Не принято также помещение сообщений, состоящих более чем на 20% из нецензурщины, а также использование соответствующих выражений для нанесения оскорблений другим участникам форума. Подобные сообщения будут удаляться. Лицам, которым трудно не использовать мат вовсе, придется применять соответствующую лексику ограниченно и осмысленно.
    • На форуме принято помещать любую информацию, которую хотят довести до сведения собеседников участники форума, если эта информация не выходит за пределы тематики форума. Объемы сообщений ограничены только техническими возможностями программного обеспечения.
    • На форуме не принято помещение коммерческой либо иной рекламы, не запрашиваемой участниками форума. Не рекомендуется многократное повторение объявлений, не вызвавших интереса у участников форума. Крайне дурным тоном считается сверхцитирование (оверкотинг) собеседника. Оригинальное сообщение должно занимать не менее 30% текста.
    • На форуме принято отвечать за свои слова и следить за точностью и корректностью своих высказываний и сообщаемой информации.
    • На форуме не принято прибегать к сознательному обману и оскорбительным высказываниям в адрес собеседника. Крайне дурным тоном считается передергивание высказываний собеседника, равно как и прочие нечестные приемы ведения полемики.
    • На форуме не принято терпеть присутствие лиц, регулярно путающих, что принято, а что не принято.

    Нарушение вышеуказанных правил влечет за собою последовательное применение следующих мер:

    • Предупреждение со стороны администраторов форума.
    • Модерирование сообщений.
    • Требование со стороны администрации воздержаться на определенный срок от отправления новых сообщений.
    • Прекращение доступа к форуму техническими средствами.

    Администрация форума просит всех участников высказываться обдуманно и по существу дела.

    $endbody

    Все права на программный комплекс WTG Zebra принадлежат White Tiger Group, являющейся разработчиком, дистрибьютором и основным распространителем данного продукта. Модули, являющиеся разработкой White Tiger Group, также являются интеллектуальной собственностью WTG. Модули или другие программы, работающие совместно с Zebra, использующие ее ресурсы и оверлеи, разработанные сторонними физическими или юридическими лицами, являются интеллектуальной собственностью этих лиц. При этом вся ответственность за использование таких модулей ложится на плечи вышеупомянутых лиц. В том случае, если предполагается открытое распространение таковых модулей посредством любых способов передачи данных, будь то глобальная сеть (Internet, Fidonet и т.д.), различные носители информации (дискеты, CD-ROM, CD-RW и т.д.) или любые другие способы передачи данных, предполагающих дальнейшее публичное их использование, разработанный модуль в обязательном порядке подлежит тестированию у разработчиков Zebra и проверке соответствия идеологии, заложенной в ядро Zebra. Причем это предоставление должно быть осуществлено до публичного объявления выхода продукта и только после согласования деталей с авторами Zebra. Данное условие распространяется на все официальные версии заявленного продукта.
    $zebra_bp Распространение WTG Zebra осуществляется в различных вариантах дистрибуции. Стоимость комплекса начинается от нуля и исчезает в необозримых далях (при необходимости индивидуальной разработки нового модуля или привлечении разработчиков Zebra к непосредственной работе над проектом, требующим индивидуального же подхода). Подробную информацию по данному вопросу можно найти здесь. По иным возникающим вопросам либо с конкретными предложениями обращайтесь по адресу support@wtg.ru. $endbody aru_zebra/api15©aru_zebra/alfa $begbody $zebra_bp В настоящее время Zebra находится в стадии предварительной разработки. Потихоньку, в течение года, мы выбрались на этап бета-тестирования. Столь длительные сроки обусловлены многими причинами — дефицитом времени, сложностью работы, но в первую очередь — желанием создать высококачественный продукт, гибкий, быстрый и мощный, максимально удовлетворяющий потребностям самого разного пользователя (мы ориентируемся и на применение Zebra в качестве базового софта для крупных корпоративных сайтов, интернет-порталов), и в то же время не поражающий монстроидальностью компонентов. Все это является нашей главной целью. $zebra_bp В определенном смысле бета-версия уже работоспособна. Ее вполне реально сделать базовой программой для работы сайта. В дальнейшем и все остальные службы вашего ресурса можно будет перевести под компоненты Zebra. Тем более, что их будет много — в планах создание компонентов для поддержки чатов, многофорумных систем, организации магазина, листов рассылки и т. д. Уже имеющиеся в базовом составе Zebra компоненты будут наращивать функциональность (но не в ущерб, естественно, вышеперечисленным целям), для модуля поддержки форума планируется реализовать конвертор из некоторых популярных форумов (WTBoard, UltraBoard, WebBBS и т. д.) для максимально безболезненного перехода на новый софт, а в дальнейшем будет разработана и программа, позволяющая интегрировать конференцию, работающую на базе Zebra Forum, с какой-либо эхо-конференцией Fidonet и осуществлять двунаправленные потоки сообщений. Будет также подробная документация API. Это в будущем. $zebra_bp Бета-версия Zebra является версией для публичного тестирования и предполагает по возможности максимально широкое исследование возможностей с последующим описанием возникающих проблем пользователями для дальнейшего их воспроизведения и устранения разработчиками. Гарантируется определенная сохранность данных, заложенных в базы Zebra на стадии бета-тестирования, однако допускается появление мусора и прочих безобразий. Отдельные разделы в настоящее время могут оказаться недоработанными. $zebra_bp Текущая версия Zebra — $zebraversion. $endbodyaru_sample/index aru_newgroup12509/resource28544Правила пользования каталогами aru_indexё aru_forum/faqў"n `мДњЂ`
    $zebra_bp Содержание раздела: $zebra_bp 1. API Zebra $zebra_bp 2. Формат файлов резерва $zebra_bp 2.1. Общий формат файлов резерва $zebra_bp 2.2. Формат файлов дампа АС $zebra_bp 2.3. Формат файлов резерва форумов $zebra_bp Encyclopaedia Zebra $zebra_bp     (4676312) Добавление кодовых страниц $zebra_bp     (3467848) Календарь $zebra_bp     (2G6HJ1J) Дополнительные индивидуальные свойства постеров в Zebra Forum
    $zebra_bp Zebra имеет достаточно гибкое и расширяемое API (application programming interface), что позволяет осуществить многие, порой весьма хитрые вещи, не реализованные в самой Zebra, за счет настройки параметров либо подключения внешних модулей, разработанных или адаптированных для Zebra. Так, за счет тесного взаимодействия с ядром работают Zebra Site (интеграция которого очень сильна, поскольку он является практически обязательным модулем), Zebra Forum (функционирование которого целиком выстроено на использовании предоставляемых Zebra возможностей).
    $zebra_bp 1. API Zebra
    $zebra_bp API комплекса WTG Zebra реализуется процедурами, вынесенными в несколько оверлейных модулей, сообразуясь с частотой и необходимостью их использования. Например, процедуры, практически гарантированно вызываемые при каждом запуске Zebra, находятся в модуле zx0.cgi; другие, не требуемые для каждого вызова, определены в модуле zx1.cgi. Кроме того, часть процедур вынесена в библиотеку Zebra.pm, стандартно подключаемой к компонентам при инициализации Zebra.
    $zebra_bp 2. Формат файлов резерва
    $zebra_bp В Zebra для резервного хранения баз или портирования информации на другой сайт применяются обычные текстовые файлы, в которые в определенном формате сохраняются записи баз Zebra. П aru_zebra/faq t5braru_zebra/download  aru_zebra/distribution $begbody $zebra_bp Базовый комплект Zebra включает следующие файлы:
      cgi-bin/
            DAN.pm — библиотека, реализующая хранение данных АС
            index.cgi — анализатор ЧПУ и индексный алиас
            z.cgi — общий интерфейсный модуль
            zcron.cgi — модуль выполнения регулярных процедур
            zde.cgi — модуль административного доступа к базам АС
            zdx0.cgi — модуль подпрограмм выборки и форматирования данных АС
            ze.cgi — модуль основной администрации
            zebra.cgi — алиас к общему интерфейсному модулю
            zebra.ini — ресурсы
            Zebra.pm — библиотека рутинных процедур Zebra (ядро)
            zex0.cgi — модуль общих подпрограмм администрации
            zf.cgi — головной модуль Zebra Forum
            zfe.cgi — модуль администрации Zebra Forum
            zfx0.cgi — модуль общих подпрограмм Zebra Forum
            zfx1.cgi — модуль специфических подпрограмм Zebra Forum
            zinstall.cgi — инсталлятор
            zrun.cgi — модуль внешнего вызова подпрограмм
            zs.cgi — головной модуль Zebra Site
            zse.cgi — модуль администрации Zebra Site
            zsx0.cgi — модуль общих подпрограмм Zebra Site
            zu.cgi — модуль взаимодействия с пользователями
            zx0.cgi — основной модуль общих подпрограмм Zebra (ядро)
            zx1.cgi — дополнительный модуль общих подпрограмм Zebra (ядро)
            zx2.cgi — модуль специфических подпрограмм Zebra
      dsc/*.* — файлы описаний Zebra по умолчанию
      html/
            index.shtml — пример SSI-алиаса к index.cgi
      changelog.txt — хроника изменений
      file_id.diz — краткая информация
      install.txt — инструкция по установке (текстовый вариант)
      readme.txt — информация, не вошедшая в основную документацию
      zebra.nfo — дополнительная информация
    $zebra_bp Узнать о других модулях, работающих совместно с Zebra, и получить их вы можете здесь. $endbodydb<aru_zebra/disclaimer Ґраб ю aru_zebra/dan $begbody $zebra_bp Ассоциативная сеть данных (далее АС) — технология хранения свойств объектов, связанных друг с другом согласно установленной модели данных. Теоретическая часть АС, реализованной в Zebra, разработана Юрием Макаровым. $zebra_bp АС осуществляет следующие принципы. $zebra_bp Каждый сложный объект делится на простые составляющие (свойства), распределяемые по категориям. Для каждой из этих категорий могут быть определены так называемые роли, выполняемые объектами, входящими в категорию, по отношению к объектам из других категорий. Например, объект категории Дата может выполнять по отношению к объекту категории Тема несколько ролей: ДатаСоздания, ДатаМодификации и так далее. $zebra_bp Основополагающим моментом в АС является то, что объект категории Тема будет автоматически выполнять к объекту категории Дата роли СозданнаяТема, ИзмененнаяТема и соответственно далее. На каждую роль, выполняемую объектом по отношению к какому-либо другому (или даже самому к себе), автоматически заводится обратная роль. Эта схема приводит к тому, что мы получаем возможность перейти не только к объекту, на который ссылается текущий, но и обратно. А поскольку объекты часто выполняют одновременно несколько ролей по отношению к различным объектам, то, следуя по установленным между ними связям, можно постепенно перебрать все свойства (т. е. объекты), хранящиеся в АС. АС в рабочем состоянии — это сетевая структура, которая для пользователя представляется в виде рекурсивного дерева неограниченной глубины. $zebra_bp Модель данных АС устанавливает категории свойств, которые хранятся независимо, их роли по отношению друг к другу, псевдонимы категорий и ролей (для внешнего отображения), а также специфические процедуры обработки свойств, выполняемые при их сохранении и чтении. С текущим прототипом модели АС4 можно ознакомиться по этому адресу. В Zebra обычно используется последний стабильный вариант (release), прототип же является развивающимся проектом. $zebra_bp Технология АС в применении к специфическим задачам дает чрезвычайно широкие возможности. Она ориентирована на упорядоченное представление знаний на произвольную тему.
    $zebra_bp Публикации
    1. Мухутдинова Т. З., Макаров Ю. Б., Мухутдинов Э. А. Технология ассоциативной сети данных в программном комплексе WTG Zebra в применении к поддержке открытого образования в Интернете. / Тр. Всероссийской научно-методической конференции «Структурно-функциональные и методические аспекты деятельности университетских комплексов», КГТУ, Казань, 2002. — С. 77.
    2. Mukhutdinova T.Z., Makarov Yu.B., Muhutdinov E.A. Program Package WTG Zebra for Supporting Internet-based Open Education. / Mat. of IEEE International Conference on Advanced Learning Technologies (ICALT). 9-12 September 2002, Kazan, Tatarstan, Russia. – P. 185-187.
    $endbody  $begbody $zebra_bp Отвечают: $zebra_bp AD — Александр Дзюба $zebra_bp Все остальные ответы — Edward Muhutdinov.
    $zebra_bp Восстановление параметров вывода статистики $zebra_bp Если в инсталлированном на сервере Perl не зарегистрирован модуль Benchmark, переключение отображения статистики на режим «Производительность» может привести к неработоспособности Zebra. Это будет проявляться сообщением сервера о невозможности запустить приложение. В таком случае необходимо перевести отображение статистики в режим «Обычная» или вовсе ее отключить. $zebra_bp Для этого следует создать файл zauto.inc, содержащий следующий текст: $zebra_bp [I:ini] $zebra_bp __replace $zebra_bp _statistic=1 $zebra_bp Значение 1 переключает статистику в режим «Обычная», значение 0 отключает совсем. $zebra_bp После этого нужно закачать полученный файл на сервер в каталог 'data' и запустить 'ze.cgi'. Файл будет найден и автоматически подключен.
    $zebra_bp Регистрация администратора в обход обычной процедуры $zebra_bp Порой может произойти весьма прискорбная вещь а, именно — забытие пароля администратора администратором. При наличии большого количества ресурсов, которые нужно администрировать, и каждому из которых присущ собственный пароль, такая ситуация не является чем-то из ряда вон выходящим. Поэтому необходимо иметь способы его восстановления или, на крайний случай, установления. В Zebra имеются оба способа. $zebra_bp Восстановить пароль администратора можно, проследовав по ссылке наподобие следующей:
    http://www.yourhost.com/cgi-bin/ze.cgi?__requestadmin=NAME
    $zebra_bp Здесь 'NAME' — имя администратора, пароль которого позабыт. Системой будет отправлено электронное письмо на адрес, который указан в параметрах указанного администратора. $zebra_bp Установить пароль администратора или, иначе, зарегистрировать нового администратора можно, имея ftp-доступ к хостингу, на котором располагается Zebra. В положительном случае надо осуществить следующую последовательность действий. $zebra_bp Необходимо создать файл, в котором будет размещена необходимая для процедуры информация. Наименуйте файл 'zauto.inc' и внесите в него следующий текст: $zebra_bp [_:ini] $zebra_bp __replace $zebra_bp *_admins=ADMIN $zebra_bp _admin_ADMIN=PWD# $zebra_bp Вместо слова 'ADMIN' можно указать другое имя, вместо слова 'PWD' — другой пароль администратора. Символ '#' дает указанному администратору полный доступ к администрированию Zebra. Поэтому будьте осторожны при осуществлении данной операции — указывайте неизвестные посторонним людям имена и пароли, а сразу после получения доступа в систему изменить параметры, по возможности максимально ограничив допуск. $zebra_bp Файл нужно закачать на сервер в каталог 'data' и запустить 'ze.cgi', он будет найден и автоматически подключен.
    $zebra_bp Локальное отключение вывода статистики $zebra_bp По умолчанию в установках Zebra определено отображение статистики по ресурсам, затраченным Zebra при обработке запроса, а также некоторой дополнительной информации, как то: IP-адрес клиента, текущее время и дата, страница, с которой осуществлен запрос и т. д. (подробнее см. «Ядро. Основные параметры»). В некоторых случаях такая статистика может по различным причинам быть нежелательной. $zebra_bp Для безусловного отключения вывода статистики конкретного ресурса достаточно в описании этого ресурса в любом месте установить специальный ключ '$nostatistic' (или, что равноценно, '$nostatistics').
    $zebra_bp Локальное отключение разбиения на части $zebra_bp Zebra Site при генерации ресурса и соответствующей конфигурации следит за тем, чтобы размер возвращаемого контента не превышал некоторой установленной величины. При превышении производится настраиваемое или же принудительное разбиение ресурса на части, при этом добавляются ссылки, позволяющие перейти к остальным частям данного ресурса (подробнее см. «Работа с Zebra Site. Автоматическое деление больших страниц»). $zebra_bp Для безусловного отключения автоматического деления ресурсов на части для конкретного ресурса достаточно в описании этого ресурса в любом месте установить специальный ключ '$nosplit'.
    $zebra_bp Локальное отключение автоматических стилей $zebra_bp Zebra при рендеринге ресурса может специально отслеживать ссылки и задавать им специальное оформление — отключать подчеркивание ссылок, оформлять их курсивом и т. д. Это выполняется посредством добавления в параметры каждой ссылки фрагмента стиля. Иногда некоторые конструктивные особенности добавляемых фрагментов могут приводить к ошибкам страницы в браузере. Если нецелесообразно отключать модификацию ссылок глобально, можно исключить таковую для конкретного ресурса. Эта операция выполняется добавлением в описание ресурса в любое место специального ключа '$notextstyle'.
    $zebra_bp Q: Я настраивал описания ресурсов, чтобы привести сайт к нужному для меня дизайну, но в результате ошибки потерял несколько важных элементов, и теперь у меня Zebra работает некорректно. Как восстановить исходные описания? $zebra_bp Исходные описания можно восстановить, воспользовавшись складом файлов описаний из дистрибутива (каталог dsc). Для поиска нужного описания следует руководствоваться наименованиями файлов. Файлы с суффиксом .cgi содержат встроенные подпрограммы, dsc.* — описания различных ресурсов, при этом * — идентификатор языка (например, ru, en и т.д.). В зависимости от префикса описание может относиться к разным компонентам  и редактироваться в разных разделах Zebra: $zebra_bp f.s — стили форума; $zebra_bp s.g — основные параметры Zebra Site; $zebra_bp z.d — дизайн Zebra; $zebra_bp z.f — процедуры Zebra; $zebra_bp z.g — основные параметры Zebra; $zebra_bp z.n.sm — системные письма Zebra (сетевые параметры); $zebra_bp z.s — записи Zebra; $zebra_bp z.uf — пользовательские формы Zebra. $zebra_bp При этом важно не забыть, что эти описания — по умолчанию, и если вы уже разрабатывали собственные замены им, то требуется учесть внесенные изменения.
    $zebra_bp Q: Я установил Zebra, хочу попасть на форум, запускаю http://www.yourhost.com/cgi-bin/zf.cgi, а мне выдается «Операция недоступна» (вариант — «500 Internal Server Error»). Что делать? $zebra_bp Вполне закономерно выдает, поскольку форум, прежде чем использовать, надо создать. Зайдите в «Администрирование — Параметры форума» и выберите пункт «Добавить». $zebra_bp Не забывайте, что в незарегистрированной версии Zebra вы не сможете создать больше одного форума.
    $zebra_bp Q: Как использовать каталог DSC? $zebra_bp В этом каталоге расположены файлы, содержащие основные описания различных страниц Zebra на тот случай, если вы в процессе настройки что-то измените настолько некорректно, что Zebra откажется работать нормально. В таком случае поврежденное описание можно будет взять из файла в этом каталоге. Более он ни для чего не предназначен.
    $zebra_bp Q: Как можно убрать статистику внизу? Или сделать ее очень маленькой? $zebra_bp «Администрирование — Основные параметры — Отображать статистику внизу страниц» установить в положение «Нет». Если статистику убирать не нужно, а требуется только уменьшить, отредактируйте значение параметра «Шаблон статистики» в том же разделе. $zebra_bp По статистике вы можете оценивать, насколько оптимально разработан выбранный раздел сайта.
    $zebra_bp Q: Вызывает опасение сохранение базы и восстановление ее. Как можно сохранить все параметры, которые я насоздавал, в мои текстовые файлы? $zebra_bp В Zebra реализован достаточно удобный механизм резервирования и сохранения баз, в которых содержатся все данные. Простым копированием баз данных резервирования не добиться, поскольку базы хранятся в бинарном виде, причем их внутренний формат зависит не только от операционной системы и версии Perl, установленной на сервере, но и от размера кластера на жестком диске, а это приводит к тому, что база данных, скопированная с одного сервера на другой, с 99% гарантией окажется неработоспособной. Именно для портирования данных, а также их сохранения предназначена трансляция баз в текстовый вид. $zebra_bp Задействовать процедуры резервирования можно через пункт «Администрирование — Резервирование и обновление», отметив резервируемые базы. После этого в каталоге data вашего экземпляра Zebra появятся *.txt- или *.zip-файлы (это зависит от того, настроен ли архиватор zip на вашем сервере), в которых в текстовой форме содержится все наполнение соответствующих баз. $zebra_bp Чтобы присоединить такой файл к другой установке Zebra, нужно txt-файлы объединить, переименовать в zauto.ini, положить в каталог data обновляемого экземпляра Zebra и запустить основной модуль администрирования ze.cgi. Файл будет найден, обработан и подключен автоматически.
    $zebra_bp Q: При запросе о восстановлении пароля мне приходит письмо с непонятным набором символов. Почему так происходит, и как мне указать свой пароль? $zebra_bp (AD) Скорее всего, произошел сбой базы данных, и пароль стерся. Ничего страшного в этом нет. Аккуратненько выделяете мышкой пароль, который приходит вам на почту. Для этого нажимаете левую кнопку мышки на первой букве пароля и тянете ее до последней, не отпуская кнопку. На последней букве кнопку отпускаете. Если все буквы перекрасились, значит, хорошо. Если нет — все по новой. Затем нажимаете правую клавишу мышки на выделенном тексте и в выскочившем меню выбираете копировать (copy). $zebra_bp В форме личных настроек в поле «Пароль» снова нажимаете правую клавишу мышки и нажимаете меню «Вставить» (insert). В поле появится куча звездочек. При этом начальное поле ввода пароля должно быть пустым. То есть все звездочки до нажатия правой клавиши мышки и команды «Вставить» должны быть удалены. $zebra_bp Затем в двух новых полях в первом поле вводите свой новый пароль, во втором поле тоже. Пароли должны совпадать. Нажимаете клавишу сохранить. Новый пароль сохранится. $endbody">WorldArt
  • Сетевая Барахолка
  • WorldArt
  • WTBoard
  • DAN
  • О программе
  • WTG Zebra представляет собой комплексное программное решение, направленное на организацию, удаленное управление посредством WWW, автоматическую и полуавтоматическую поддержку сайта, ориентированное на самых разных пользователей. В базовый комплект дистрибутива Zebra входят сайтовый и форумный движок, а также библиотека поддержки ассоциативной сети (DAN), на базе которой можно разрабатывать модули весьма разнообразной функциональности. Для начинающих Zebra предоставляет максимально удобные средства, готовые шаблоны и процедуры и подробную документацию, воспользовавшись которыми, можно в сжатые сроки реализовать серьезный проект. Более опытные пользователи могут создавать собственные шаблоны и процедуры, доводя таким образом динамичность сайта до крайних пределов познания... Профессионалам, вероятно, интересно будет написание к Zebra собственных модулей (в том числе на базе DAN), что позволит осуществлять практически любые действия по наполнению и поддержке сайта.

    WTG Zebra является разработкой творческой группы White Tiger Group. В числе наших успешно реализованных проектов также можно назвать сайты «Сетевая барахолка», «WorldArt», программные продукты «WTBoard» и «DAN».

    Программный продукт «WTG Zebra» является собственностью White Tiger Group. Все авторские и смежные права закреплены за WTG.

    «WTG Zebra» не является открытым проектом. Использование его подразумевает ваше согласие с «Лицензионным соглашением».

    Zebra © XXI
    White Tiger Gro H(` HXxЁ/td>
    colspan="2" align="center">Содержание

  • 1. Рекомендуемые правила поведения
  • 2. Модераториал
  • 3. Некоторые технические моменты
  • 4. Авторские права

    $endbody

    1. Рекомендуемые правила поведения

    Форум создан для обсуждения самых разных вопросов, так или иначе затронутых на нем. Естественно, в разумных пределах. Бурное обсуждение частных дел, походов в лес по грибы, погоды, кино предлагается переносить на другие форумы или в личную переписку.

    Имеет смысл помнить, что принято и что не принято на форуме.

    • На форуме принято, что каждый желающий высказаться имеет для того все возможности. Никаких ограничений на участие в форуме не имеется.
    • На форуме не принято использовать предоставленную свободу слова для оскорбления собеседников, нарушения тематики.
    • На форуме принято выступать под собственными именем и фамилией, именем или постоянно закрепленным псевдонимом.
    • На форуме не принято использование одним лицом более чем одного имени или псевдонима. О смене псевдонима следует оповещать всех участников форума заранее.
    • На форуме принято откровенно высказывать свои мысли и чувства по любому вопросу, не выходящему за рамки тематики форума.
    • На форуме не принято использование нецензурных выражений в заголовках. Не принято также помещение сообщений, состоящих более чем на 20% из нецензурщины, а также использование соответствующих выражений для нанесения оскорблыaru_zebra/greetings $begbody $zebra_bp Путь к существованию Zebra был весьма сложным и запутанным. Однако, по большому счету, основой для Zebra послужила программа поддержки WWW-конференции White Tiger WWW Board. Благодаря непосредственному участию многих пользователей в развитии WTBoard, были определены многие моменты, учтенные затем в Zebra. $zebra_bp Включенная в состав Zebra библиотека поддержки ассоциативной сети данных DAN разработана в сотрудничестве с Юрием Макаровым. $zebra_bp Примерный свод правил поведения на форуме берет свое начало от составленных Егором Холмогоровым правил не действующего ныне форума «Соборный разум». $endbody3­ aru_zebra/general $begbody $zebra_bp Программный комплекс WTG Zebra создан как основа для функционирования серверных Интернет-приложений, разработанных на языке Perl и адаптированных или написанных специально для использования вместе с Zebra. Ядро Zebra осуществляет генерацию html-контента страницы на основе ее описания. При этом реализуются установленные ограничения, адаптации и вызовы, что позволяет практически неограниченно варьировать конечное содержимое в зависимости от каких-то параметров. $zebra_bp В базовом варианте Zebra включает в себя библиотеку ассоциативной сети DAN, модуль поддержки сайта Zebra Site и модуль поддержки форума Zebra Forum с определенными ограничениями, связанными с лицензионным соглашением. Разумеется, присутствуют также развитые средства администрирования. $zebra_bp Полный официальный список модулей, существующих или запланированных (*) на сегодняшний день, включает в себя следующие компоненты:
      • ZeBranner — система баннерной рекламы
      • Zebra Chat — организация чатов (*)
      • Zebra Danipulator — управление данными в базах АС
      • Zebra Forum — организация форумов, гостевых книг, LiveJournal
      • Zebra Education — поддержка дистанционного образования (модуль разрабатывается в ходе выполнения работ по Государственной программе развития открытого и дистанционного образования в Российской Федерации) (*)
      • Zebra Search — поисковая машина по ресурсам комплекса (*)
      • Zebra Seller — организация Интернет-магазина
      • Zebra Site — сайтовый движок
      • Zebra Statistics — всевозможная статистика комплекса (*)
      • Zebra Subscribes — организация списков рассылки (*)
      • Zebra Voting — организация голосований (*)
    $zebra_bp Список модулей и их функциональность могут измениться в зависимости от текущих осмыслений, изменения инфраструктуры Интернета, далеко идущих требований и внезапных творческих озарений. Кроме того, возможна индивидуальная разработка модуля по договоренности с авторами Zebra (подробнее об этом см. здесь). $endbody_Ѕ aru_zebra/features $begbody $zebra_bp Полный перечень возможностей Zebra невозможно представить здесь по нескольким причинам: $zebra_bp — некоторые функциональные особенности являются зависимыми от наличия других модулей; $zebra_bp — существуют отдельные закрытые разработки, являющиеся в настоящее время экспериментальными, и потому не подлежащие документированию; $zebra_bp — относительная незначительность данной функциональной особенности; $zebra_bp — ну и, наконец, простая забывчивость разработчиков (разработка Zebra — весьма масштабная задача, требующая много времени). $zebra_bp Поэтому список, представленный ниже, не является подробным. Гораздо более полную картину вы сможете представить себе после прочтения всей документации и — разумеется — спустя некоторое время реального использования Zebra.
    $zebra_bp Основные возможности Zebra:
    • многоязычность;
    • многопрофильность;
    • гибкая настраиваемость язычности и профильности в зависимости от желания администратора и/или посетителя;
    • быстрое изменение дизайна, оформления и способа представления сайта;
    • широкий спектр параметров оформления сайта;
    • определение общих записей, в соответствии с которыми оформляются страницы;
    • обработка событий, поддержка встроенных подпрограмм, определение регулярных процедур с выполнением их по расписанию;
    • создание динамического контента при помощи встроенных подпрограмм;
    • индивидуальная работа с каждым посетителем (юзером);
    • централизованная аутентификация, объединенная с регистрацией и редактированием параметров юзера;
    • все данные хранятся в специальных файлах, из которых изымаются по мере необходимости и представляются после соответствующей обработки;
    • для хранения некоторых типов данных используется особый способ организации и структурирования данных «Ассоциативная сеть»
    • единообразное, а значит — привычное и простое, администрирование всех компонентов комплекса;
    • полное разделение прав доступа администраторов;
    • многое другое.
    $zebra_bp Организация разделов администрирования Zebra позволяет достаточно просто разграничить сферы деятельности трех основных родов деятельности, направленной на создание и поддержку сайта — дизайнера, редактора и администратора. Достаточно на этапе проектирования сайта качественно задать его структуру, и в дальнейшем области их влияния могут не пересекаться вовсе. Подробнее о рекомендациях к проектированию сайта на базе Zebra см. «Разработка сайта». $zebra_bp От вас зависит дальнейшее развитие функциональности Zebra. Тонкие особенности, характерные для индивидуального оформления каждого по-настоящему грамотного сайта, легко реализуются при помощи уже имеющихся возможностей Zebra. Если же что-то не реализуется либо реализуется «большой кровью», то мы с вниманием выслушаем ваши пожелания. $endbody  М 4”lH М $zebra_bp Отвечают: $zebra_bp AD — Александр Дзюба $zebra_bp Все остальные ответы — Edward Muhutdinov.
    $zebra_bp Восстановление параметров вывода статистики $zebra_bp Если в инсталлированном на сервере Perl не зарегистрирован модуль Benchmark, переключение отображения статистики на режим «Производительность» может привести к неработоспособности Zebra. Это будет проявляться сообщением сервера о невозможности запустить приложение. В таком случае необходимо перевести отображение статистики в режим «Обычная» или вовсе ее отключить. $zebra_bp Для этого следует создать файл zauto.inc, содержащий следующий текст: $zebra_bp [I:ini] $zebra_bp __replace $zebra_bp _statistic=1 $zebra_bp Значение 1 переключает статистику в режим «Обычная», значение 0 отключает совсем. $zebra_bp После этого нужно закачать полученный файл на серве:aru_zebra/plugins $begbody $zebra_bp Одно из главных достоинств Zebra состоит в значительной гибкости системы, позволяющей использовать дополнительные модули, осуществляющие каждый — свои функции. Этот прием разумно применять для реализации крупных задач, требующих особых дополнительных обработок и отслеживания специфичных событий. В случае более простых процедур лучше всего провести их при помощи встроенных подпрограмм, которые могут определяться как дополнительные параметры. Таким образом представляется возможным реализовать практически любые запросы. (Собственно говоря, упомянутые крупные проекты тоже можно сделать встроенными, однако это может привести к лишним сложностям в их разработке и использовании.) $zebra_bp Более подробная информация по настройке и использованию встроенных подпрограмм находится в разделах документации, посвященных администрированию и использованию API, а также руководству по разработке сайта с использованием Zebra, которые становятся доступны после инсталляции Zebra. $endbodyaru_zebra/manipulationsфЄaru_zebra/kernelQ истaru_zebra/installation¤м‡aru_zebra/input $begbody $zebra_bp Программный комплекс WTG Zebra (далее просто Zebra) представляет собой расширяемую, бесконечно настраиваемую и конфигурируемую систему, находящуюся в постоянной разработке, пополняемую дополнительными функциями и модулями, обеспечивающими всевозможные нужды пользователя. На базе Zebra можно сделать как навороченный корпоративный сайт или коммерческий портал, так и личную страницу в Интернете, благо гибкие условия распространения Zebra позволяют выбрать любой устраивающий вас вариант, начиная от безвозмездного, предусматривающего определенные ограничения, и далее — до индивидуальных решений, в разработке которых могут принять непосредственное участие и авторы Zebra. $zebra_bp Работа Zebra основана на широкофункциональном, но быстром ядре, вокруг которого строится взаимодействие всех остальных узлов. Развитие компонентов комплекса осуществляется с упором на максимально быструю и эффективную работу частей, являющихся олицетворением внешнего проявления Zebra. Это дает гарантию, что при дальнейшем развитии Zebra не превратится в неповоротливого монстра, сжирающего половину ресурсов сервера и приводящего в неистовство ваших системных администраторов. $zebra_bp Данный документ представляет собой официальную документацию к Zebra и содержит описание возможностей, способы конфигурации, оптимизации и настройки Zebra, некоторых технических моментов, авторских и лицензионных ограничений, а также координаты для связи с разработчиками и некоторую дополнительную информацию. Для навигации по разделам документа используйте меню в верху страницы (при переходе в произвольный раздел), либо ссылки в его конце (при последовательном ознакомлении). Можно также переключиться в английский вариант документации, для этого выберите соответствующий пункт в меню. $zebra_bp Подробная техническая документация и руководство по использованию API также входят в поставку Zebra и становятся доступны локально после инсталляции. $zebra_bp Данный документ выполнен на основе Zebra и поддерживается динамически. Статическую html-версию его вы можете найти здесь. $endbodyт±aru_zebra/history $begbody $zebra_bp Некоторые начальные предпосылки $zebra_bp 26 октября 1998 — пререлиз WTBoard $zebra_bp 13 ноября 1998 — первая версия WTBoard $zebra_bp 13 апреля 1999 — версия WTBoard 1.53b $zebra_bp 12 апреля 2000 — перевод WTBoard на шаблонно-ключевой принцип, дошедший в Zebra до условно-ключевой технологии $zebra_bp 26 июня 2000 — первая реализация метода условных инструкций в WTMail — плагине к WTBoard
    $zebra_bp Zebra $zebra_bp До 2 ноября 2000 — идея, концепция Zebra $zebra_bp 2 ноября 2000 — начало реализации $zebra_bp 30.12.2000 — пре-альфа, пробный шар $zebra_bp 05.01.2001 — первая альфа $zebra_bp 15.01.2001 — вторая альфа $zebra_bp 01.02.2001 — третья альфа $zebra_bp 05.03.2001 — четвертая альфа $zebra_bp 20.11.2001 — первая бета 0.1 $zebra_bp 15.01.2002 — 0.11 бета $zebra_bp 16.02.2002 — обслуживающие функции популярной доски объявлений «Сетевая барахолка» выполняются Zebra; основные остаются за модифицированной и дополненной WTBoard $zebra_bp 13.04.2002 — библиотека Zebra версии 0.10 $zebra_bp 09.05.2002 — библиотека DAN версии 0.40 $zebra_bp 15.06.2002 — форумы на сайте WTG переведены на Zebra Forum, начато тестирование $zebra_bp 15.09.2002 — 0.12 бета (первый вариант) $zebra_bp 27.09.2002 — библиотека DAN версии 0.45 $zebra_bp 26.10.2002 — к четвертой годовщине WTBoard — первая публичная бета-версия Zebra 0.12 (0122) $zebra_bp 29.10.2002 — популярная доска объявлений «Сетевая барахолка» полностью переведена под управление Zebra $zebra_bp 30.10.2002 — библиотека DAN версии 0.46 $zebra_bp 02.11.2002 — доработанная и дополненная бета-версия Zebra 0.12 (0124) $zebra_bp 22.11.2002 — библиотека DAN версии 0.47 $zebra_bp 22.11.2002 — Zebra 0.12 (0125) $zebra_bp 05.12.2002 — Zebra 0.12 (0126) $zebra_bp 22.12.2002 — Zebra 0.12 (0127) $zebra_bp 10.01.2003 — библиотека DAN версии 0.48 $zebra_bp 12.01.2003 — Zebra 0.12 (0128) $endbodyм $begbody $zebra_bp Ниже представлено руководство по установке Zebra на ваш сайт и осуществлению минимальных настроек после этого. $zebra_bp Получите последнюю версию дистрибутива Zebra с сайта разработчика. Это стандартный комплект, содержащий ядро, библиотеки, модули Zebra Site, Zebra Forum (с ограниченной функциональностью), файлы начальной инициализации, инсталлятор и html-версию данной документации на момент комплектации. Все файлы в дистрибутиве представлены готовы к установке, никаких промежуточных манипуляций с ними проделывать не требуется. Просто распакуйте дистрибутив в какой-либо каталог на винчестере. $zebra_bp Установите ftp-соединение с сайтом. Для этого подойдет любой FTP-клиент, россыпи их можно найти на софтверных сборниках. В частности, можно воспользоваться распространенным CuteFTP, FlashFXP или встроенным в FAR Manager или Windows Commander ftp-клиентом. Войдите в каталог на сайте, который будет использоваться в качестве cgi-директории, и закачайте в него все файлы из дистрибутивного каталога CGI-BIN. Остальные файлы дистрибутива являются сопутствующими, и их наличие на сайте не обязательно. $zebra_bp Присвойте всем новым файлам на сайте права доступа rwxrwxrwx (777). В дальнейшем вы можете поварьировать эти атрибуты и найти максимально безопасный. Обратите внимание, что ваш хостинг может специально оговаривать необходимые права доступа к скриптам. В таком случае руководствуйтесь инструкцией хостинга. $zebra_bp Через браузер запустите инсталлятор следующим образом:
    http://www.yourhost.com/cgi-bin/zinstall.cgi
    $zebra_bp Разумеется, путь к cgi-каталогу должен соответствовать вашему. После запуска появится инсталляционное меню Zebra. Если этого не случилось, значит, вы что-то сделали неверно. Проверьте соответствие каталогов, путей, прав доступа, удовлетворение техническим требованиям и т. д.; быть может, необходимую для прояснения ситуации информацию сообщит сам сервер. И попробуйте снова. $zebra_bp В случае, если Zebra уже установлена (это определяется по наличию файла zz.cgi в cgi-директории), инсталляция прерывается. Если вы все-таки хотите ее запустить, нужно из cgi-каталога удалить этот файл. $zebra_bp Инсталляционное меню предполагает обязательные ответы на несколько вопросов, согласно которым будут осуществлены первичные индивидуальные настройки Zebra. Некоторые из введенных параметров вы сможете изменить позже, другие же останутся неизменными навсегда, поскольку реализуют индивидуальность вашей копии Zebra и безопасность от постороннего взгляда и — как следствие — устойчивости сайта к атакам. $zebra_bp Наибольшее внимание обратите на параметр «Ключ индивидуализации», в соответствии с которым будут присвоены названия базам данных Zebra, содержащим всю информацию вашего сайта. Чем длиннее и непредсказуемее этот ключ, тем лучше. В то же время, он ограничен алфавитно-цифровыми символами, что обусловлено использованием его в файловой системе при построении названий файлов баз данных. В большинстве случаев может оказаться достаточным согласиться с ключом, предлагаемым по умолчанию, поскольку он каждый раз генерируется случайным образом и крайне тяжел для подбора. $zebra_bp Параметр «Тип установки» влияет на значения некоторых переключателей Zebra (которые затем можно изменить) и соответствует оптимальным их значениям в выбранных случаях. $zebra_bp Остальные параметры установки вряд ли требуют дополнительных комментариев, поскольку понятны и так. $zebra_bp При запуске процесса инсталляции могут возникнуть проблемы, связанные с недостатком прав доступа к каталогам и файлам. В таких ситуациях следуйте инструкциям, предлагаемым инсталлятором по решению возникшего затруднения. В большинстве случаев четкое соблюдение указаний помогает преодолеть сложности. $zebra_bp Особо следует подчеркнуть, что, если после завершения инсталляции в cgi-каталоге не появился файл zz.cgi, вам нужно создать его вручную и записать в него код, предложенный инсталлятором. Такая операция проделывается однократно во время установки Zebra, и в дальнейшем вряд ли потребуется повторно (если только вы не решите переустановить Zebra). $zebra_bp По завершении всех этапов инсталляции будет выдана ссылка, посредством которой вы сможете перейти в режим администрирования Zebra. По запросу авторизации введите указанные вами при инсталляции логин и пароль администратора. Если вы не меняли их при установке, то значения, соответственно, Admin и password (однако категорически рекомендуется изменить их в ближайшее время). $zebra_bp В случае, если вы забыли указанные вами ключи доступа попробуйте восстановить их, отправив запрос через командную строку следующим образом:
    http://www.yourhost.com/cgi-bin/ze.cgi?__requestadmin=password&login=ADMIN
    Здесь ADMIN — логин администратора. $zebra_bp Если же вы не регистрировали за администратором какой-либо рабочий адрес электронной почты, просто так ключи восстановить не удастся. Эта ситуация считается исключительной и описана в разделе «FAQ» документации Zebra. $zebra_bp Документация по настройке и администрированию разделов устанавливается вместе с Zebra и становится доступна после инсталляции. $zebra_bp Информацию о получении модулей Zebra, не входящих в базовую поставку, вы можете найти здесь. $endbodyиентированное на самых разных пользователей. В базовый комплект дистрибутива Zebra входят сайтовый и форумный движок, а также библиотека поддержки ассоциативной сети (DAN), на базе которой можно разрабатывать модули весьма разнообразной функциональности. Для начинающих Zebra предоставляет максимально удобные средства, готовые шаблоны и процедуры и подробную документацию, воспользовавшись которыми, можно в сжатые сроки реализовать серьезный проект. Более опытные пользователи могут создавать собственные шаблоны и процедуры, доводя таким образом динамичность сайта до крайних пределов познания... Профессионалам, вероятно, интересно будет написание к Zebra собственных модулей (в том числе на базе DAN), что позволит осуществлять практически любые действия по наполнению и поддержке сайта.

    WTG Zebra является разработкой творческой группы White Tiger Group. В числе наших успешно реализованных проектов также можно назвать сайты «Сетевая барахолка», «WorldArt», программные продукты «WTBoard» и «DAN».

    Программный продукт «WTG Zebra» является собственностью White Tiger Group. Все авторские и смежные права закреплены за WTG.

    «WTG Zebra» не является открытым проектом. Использование его подразумевает ваше согласие с «Лицензионным соглашением».

    Zebra © XXI
    White Tiger Gro $begbody $zebra_bp Содержание раздела: $zebra_bp 1. Разделение ресурсов $zebra_bp 2. Наименования $zebra_bp 3. Настройки и установки $zebra_bp 3.1. Навигация $zebra_bp 3.2. Основные параметры $zebra_bp 3.3. Дизайн $zebra_bp 3.4. Разделение ресурсов (пункт администрации) $zebra_bp 3.5. Администраторы $zebra_bp 3.5.1. Элементы $zebra_bp 3.5.2. Лица $zebra_bp 3.7. Резервирование и обновление $zebra_bp 3.8. Сетевые параметры $zebra_bp 3.9. Параметры АС $zebra_bp 3.10. Параметры индексации $zebra_bp 3.11. События $zebra_bp 3.12. О Zebra $zebra_bp 3.13. Системные параметры $zebra_bp 4. Основной список int
    $zebra_bp Ядро Zebra представляют собой несколько процедур, используемых большинством модулей. Эти процедуры обеспечивают генерацию страниц на основе описаний, манипуляцию данными, выбор значения в зависимости от пользовательских и/или сайтовых настроек и так далее. В целом, круг действий ядра довольно ограничен, однако для того и существуют прочие модули, чтобы на основе возможностей, предоставляемых ядром, организовать конечную функциональность Zebra. $zebra_bp Более подробная информация о взаимодействии с ядром находится в разделе «Руководство по API». В данной же главе рассматриваются параметры настройки ядра и прилегающих областей.
    $zebra_bp 1. Разделение ресурсов
    $zebra_bp Заложенные в основу Zebra многоязычность и многопрофильность ресурса реализуются довольно простым способом. Предполагается, что в базе страниц имеются ресурсы, обладающие идентификаторами, однозначно связываемыми с указанными параметром locale и профилем. Либо же обязательно присутствует ресурс по умолчанию (т. е. locale=<default>, profile=<default>. Тогда, в зависимости от текущих значений пользовательских настроек и установок сайта, проводится поиск ресурса в установленном порядке сочетаний locale и профиля. Первое обнаруженное значение прерывает поиск. $zebra_bp Порядок поиска формируется следующим образом. Допустим, имеются настройки сайта: языковая (locale), профильная (profile). Настройки или умолчания пользователя: языковая (ulocale), профильная (uprofile). Тогда порядок поиска значений устанавливается в располагаемых следующей последовательностью комбинациях: $zebra_bp ulocale + uprofile $zebra_bp ulocale + profile $zebra_bp ulocale $zebra_bp locale + uprofile $zebra_bp locale + profile $zebra_bp locale $zebra_bp dlocale + uprofile $zebra_bp dlocale + profile $zebra_bp dlocale $zebra_bp Здесь dlocale — системная locale по умолчанию, значение которой устанавливается при инсталляции Zebra в зависимости от интерфейса (языка), который выбрал администратор, и более не меняется. Если был выбран русский язык (ru), то конечной инстанцией в поиске значений будет являться ресурс с разделяемым идентификатором ru. $zebra_bp Может показаться, что поиск значения — процедура длительная и непродуктивная. Действительно, при генерации одной-единственной страницы осуществляется от двадцати уникальных запросов к базам с соответственным поиском значений, и чем сложнее страница (вернее, ее описание), тем больше будет запросов. Например, для генерации конкретно этой страницы документации осуществлено около сотни обращений. Однако на самом деле указанный порядок существенно сокращается при совпадении значений в нем. В предельно простом случае (и, пожалуй, наиболее распространенном) он может свестись к запросу единственного параметра — соответствующего dlocale. В итоге продуктивность работы Zebra будет зависеть только от вас — насколько хорошо вы спроектируете сайт. Повышению скорости и снижению системных запросов также способствует оптимально выбранный формат баз данных, на основе которого работает Zebra (на основе сбалансированных бинарных деревьев), а также кэширование параметров, применяемое в самой Zebra. В результате не создают большой нагрузки до нескольких тысяч обращений к базе (в том числе при сохранении данных) за сеанс.
    $zebra_bp 2. Наименования
    $zebra_bp Должное внимание следует уделить системе наименований, считающейся корректной с точки зрения Zebra, поскольку от этого будет частично зависеть работоспособность сайта. $zebra_bp Как правило, Zebra работает с идентификаторами ресурсов (в данном контексте «ресурс» означает любой элемент, зарегистрированный в базах сайта, доступный Zebra под явно определенным именем; это: записи, подпрограммы, страницы, ключи, приведенные ссылки, свойства в АС и так далее). Идентификаторам для ясности, удобства или еще каких-то нужд может быть сопоставлен комментарий на человеческом языке. Однако первичным является идентификатор, все остальное — вторично. $zebra_bp Идентификатор ресурса в Zebra может быть составлен с использованием всех буквенно-цифровых символов латинской раскладки клавиатуры, а также символа подчеркивания _. При этом рекомендуется не ставить цифру в качестве первого символа идентификатора. Хотя сама Zebra и не делает различий, таковые могут проявиться в некоторых случаях, когда управление передается специфическим процедурам языка Perl, а для них наличие цифры в начале идентификатора является значимым. $zebra_bp Ну и последняя деталь — идентификаторы в Zebra регистрозависимы. То есть страницы с идентификаторами index, Index и INDEX — это три разные страницы, но никак не одна.
    $zebra_bp 3. Настройки и установки
    $zebra_bp Администрирование параметров ядра Zebra осуществляется посредством административного модуля ze.cgi. Этот модуль также реализует интегрирующие функции администрирования и, помимо доступа к ядру, предоставляет доступ к администрированию остальных модулей, учитывая при этом установленные права администраторов.
    $zebra_bp 3.1. Навигация
    $zebra_bp Выбор любого из пунктов меню «Действие» активизирует переход на выбранный пункт (в том случае, если у вас разрешено использования JavaScript в браузере и ECMAScript — в настройках администрирования Zebra, иначе — дополнительно потребуется нажатие на кнопку отправить). Вообще, такой автоматизм реализован во всех разделах администрации для главного меню, всегда располагающегося в верху страницы и выделенного темным фоном. В зависимости от раздела это меню может изменяться. $zebra_bp Дополнительные меню выбора locale и профиля администрируемых ресурсов действуют только в тех случаях, когда администрируются зависимые от них ресурсы. Zebra использует ряд параметров, не зависимых ни от каких разделяемых установок. На них эти пункты, разумеется, влиять не будут. $zebra_bp Далее разделяемые ресурсы будут явно отмечаться звездочкой. $zebra_bp Во всех подчиненных разделах администрирования в правой части главного меню находится кнопка со значком #. Нажатие на эту кнопку приведет к возвращению в стартовое меню администрирования Zebra. Если осуществляется администрация модуля, то рядом с этой кнопкой будет отображаться еще одна, обозначаемая символом *. Нажатие на нее приведет к переходу в стартовое меню администрирования данного модуля. $zebra_bp 3.2. Основные параметры
    $zebra_bp Функционирование. $zebra_bp Иногда может оказаться необходимым остановить работу всех ресурсов Zebra для осуществления каких-то операций. Например, обновление программного обеспечения и базовых настроек Zebra в отдельных случаях может потребовать выполнение такого условия. Для подобных случаев реализована возможность временного отключения работы всей внешней части Zebra (включая неявно запускаемые модули — например, Zebra Cron), при этом административная часть остается полностью работоспособной. Отключение обеспечивается созданием файла-флага блокировки zUSERKEYlock.lock, в течение всего срока существования которого Zebra не запускается. $zebra_bp Однако во избежание вредительских действий со стороны непредвиденных обстоятельств максимальный срок существования файла блокировки определен одним часом, что выбрано из предположения о наиболее вероятном окончании критичных к разделению ресурсов Zebra работ. Если необходимо продлить срок, потребуется просто еще раз обновить отключение. $zebra_bp Состояние Zebra и оставшееся время до расконсервации (если работа приостановлена) сообщаются в главной статистике Zebra на стартовой странице администрирования.
    $zebra_bp Элементы. $zebra_bp — * Общее название сайта. Сопоставляется ключу sitename. $zebra_bp — Адрес сервера. Сопоставляется ключу sitehost. Следует указывать полный адрес, включая начальный признак протокола, например: http://www.wtg.ru. Завершающий слеш ставить не нужно. $zebra_bp — * Виртуальный путь к html-каталогу на сайте. Сопоставляется ключу dirsite. $zebra_bp — * Физический путь к html-каталогу на сайте. Можно использовать полный либо относительный путь. Если указывается относительный, то его нужно отсчитать от cgi-каталога сайта. $zebra_bp — * Виртуальный путь к bin-каталогу на сайте. Указывается путь к корневому каталогу хранения бинарных файлов (в том числе графических) на сайте. Сопоставляется ключу dirbin. $zebra_bp — * Физический путь к bin-каталогу на сайте. Указывается физический путь к корневому каталогу бинарных файлов на сайте. Можно использовать полный либо относительный путь. Если указывается относительный, то его нужно отсчитать от cgi-каталога сайта. $zebra_bp Примечание. Параметр dircgi и соответствующий ему физический, означающие виртуальный и физический пути соответственно к каталогу скриптов, явно указывать не нужно. Они рассчитываются автоматически при запуске Zebra. $zebra_bp — Основной язык сайта. Этот параметр устанавливает locale сайта, используемую при поиске разделяемых значений. По умолчанию используется значение, с которым производилась инсталляция Zebra. Обычно это ru (Русский). $zebra_bp — Основной профиль сайта. Параметр устанавливает значение переменной profile, используемой при поиске разделяемых значений. По умолчанию используется неопределенное значение (то есть полное отсутствие такового), которое в дальнейшем будет называться <default>. $zebra_bp — * Имя главного администратора. Значение, которое подставляется в страницы, требующие наличия ссылки на электронный адрес ответственного за сайт лица. Сопоставляется ключу adminname. $zebra_bp — * Адрес e-mail администратора. Сопутствует предыдущему параметру. Сопоставляется ключу adminemail. $zebra_bp — * Имя «системного пользователя». При функционировании почтово-роботной системы Zebra (см. «Почтовые службы») используется как имя отправителя письма от лица почтовой системы Zebra. Сопоставляется ключу systemuser. $zebra_bp — * Адрес e-mail «системного пользователя». При функционировании почтовых служб Zebra используется как электронный адрес отправителя письма от лица Zebra. Сопутствует предыдущему параметру. Сопоставляется ключу systememail. $zebra_bp — * Шаблон представления даты. Устанавливает шаблон по умолчанию, который будет использоваться при отображении дат каких-либо событий. В шаблоне используются ключи времени, обозначенные в списке int (см. «Основной список int»). Сопоставляется ключу date. $zebra_bp — — * наименования дней недели. Сопоставляются ключу wday. Названия следует каким-либо явным образом разделить, например, запятой. $zebra_bp — — * наименования месяцев. Сопоставляются ключу wmonth. Названия следует каким-либо явным образом разделить, например, запятой. $zebra_bp — Смещение времени относительно сервера, мин. Посредством этого параметра можно задать смещение глобального времени (в минутах) для Zebra во имя корректировки оного, если сервер расположен в другом часовом поясе. Отрицательное смещение определяется минусом в начале параметра. $zebra_bp — Отображать статистику внизу страниц. Глобальный переключатель, действует на отображение в самом низу всех генерируемых посредством Zebra страниц статистики. В некоторых модулях при включенной статистике дополнительный параметр командной строки statistic=off, либо присутствие в описании страницы специального ключа $nostatistic может подавить ее вывод. При выборе пункта «Производительность» включается механизм подсчета затрат процессорного времени на реализацию запроса (см. ключ $benchmark). Если после включения режима «Производительность» Zebra перестала работать, значит, он не поддерживается установленной на сервере конфигурацией Perl. В таком случае необходимо восстановить параметры вывода статистики (см. «FAQ»). $zebra_bp — — * шаблон статистики. Определяет шаблон выводимой статистики. Предполагает наличие следующих ключей: $zebra_bp — — — $elapsed — время (секунд), затраченное на обработку запроса и генерацию страницы $zebra_bp — — — $date — текущая дата в установленном формате $zebra_bp — — — $benchmark — процессорное время, затраченное на выполнение запроса; ключ действителен только при установке вывода статистики в положение «Производительность» $zebra_bp — — — $ip — IP-адрес, с которого пришел запрос $zebra_bp — — — $referer — адрес страницы, с которой пришел запрос $zebra_bp Если где-либо в описании страницы указать ключ $nostatistic, то конкретно для этой страницы статистика выводиться не будет.
    $zebra_bp 3.3. Дизайн
    $zebra_bp Элементы. $zebra_bp — * Стандартный фрагмент начала страницы. Сопоставляется ключу begbody. $zebra_bp — * Стандартный фрагмент окончания страницы. Сопоставляется ключу endbody. $zebra_bp Элементы begbody и endbody, как правило, специально обрабатываются Zebra. Если ключи, им соответствующие, находятся в описании страницы, то первоначально происходит их подстановка в соответствующие места, после чего проходит вся остальная интерполяция. $zebra_bp — * Чередующиеся цвета в таблицах. В некоторых случаях результатом работы Zebra может быть таблица, содержащая перечисление каких-то элементов — страниц, пользователей, сообщений и т. д. В таком случае можно задать чередование цвета фона строк или ячеек в этих таблицах. Соответственно установленным ключам dcolor будет добавляться очередное значение из списка, причем перебор осуществляется по циклу. Количество элементов не ограничено. Указывается либо мнемоническое название цвета, предусмотренное стандартом HTML, либо явное определение в формате #RRGGBB. В качестве разделителя можно использовать пробел или запятую. Сопоставляется параметр, соответственно, ключу dcolor. $zebra_bp — * Шаблон системного сообщения. Общее описание страницы системного сообщения. Для интерполяции непосредственной информации необходимо указание ключей $title и $info. Внутренний идентификатор шаблона systempage. $zebra_bp — — * информация об ошибочном запросе. Сообщение, которое внедряется в тело системного сообщения, если страница или ресурс, который запросил пользователь, не найдены на сайте. $zebra_bp — — * информация о запросе несуществующего модуля. Сообщение, которое внедряется в тело системного сообщения, если сделан запрос, ссылающийся на незарегистрированный или неподдерживаемый Zebra модуль. $zebra_bp — — * информация об отсутствии поддержки раздела. Сообщение, которое внедряется в тело системного сообщения, если сделан запрос, обращенный к зарегистрированному модулю Zebra, но в запросе указан раздел или какая-то иная операция, в данный момент не поддерживаемые этим модулем. $zebra_bp — — * информация об ошибке инициализации АС. Сообщение, которое внедряется в тело системного сообщения, если при инициализации модели данных используемой АС или открытии базы данных АС произошла ошибка. $zebra_bp — — * информация о внесении пользовательских изменений. Сообщение, которое внедряется в тело системного сообщения, если пользователем сделан запрос, связанный с активацией зарегистрированного аккаунта, изменением адреса электронной почты. Подробнее о составлении описания данного параметра см. «Описание активации». Внутренний идентификатор useractivated. $zebra_bp — — * информация об отсутствии доступа. Сообщение, которое внедряется в тело системного сообщения, если пользователю не разрешен доступ к запрошенным ресурсам. $zebra_bp — — * форма запроса пользовательского пароля. Сообщение, которое внедряется в тело системного сообщения, если в адресной строке обнаружен ключ passwordrequest=1. При этом в шаблоне должна быть тем или иным способом определена следующая форма для передачи данных:
    <form action="$dircgi/$current" method="post">
    E-mail: <input type="text" name="email" value="$email" size="20">
    <input type="submit" name="passwordrequest" value="Отправить">
    $childpars
    </form>
    При обнаружении в потоке данных ключа passwordrequest Zebra автоматически переходит в режим генерации системного сообщения с формой запроса пароля для его восстановления отправлением на e-mail. $zebra_bp — — * информация об отправлении письма с паролем. Сообщение, которое внедряется в тело системного сообщения, если системой восстановления паролей Zebra был обработан запрос на пользовательский пароль. $zebra_bp Вышеперечисленные информационные параметры состоят из двух секций. Первое поле ввода (высотой 1 символ) содержит название страницы, которое сопоставляется ключу $title. Содержимое многострочного поля ввода представляет собой собственно информационное сообщение, сопоставляемое при генерации системной страницы ключу $info. $zebra_bp — * Форма аутентификации. Описание страницы, используемой Zebra при проведении процедуры аутентификации пользователя (подробнее см. «Описание аутентификации»). Внутренний идентификатор wrongpassword. $zebra_bp — * Форма параметров пользователя. Здесь можно выбрать форму, используемую Zebra при проведении процедуры регистрации пользователя на сайте и изменении основных зарегистрированных параметров пользователя. Сами формы определяются в разделе «Пользовательские формы». Подробнее об используемых ключах и событиях см. «Описание аутентификации». По умолчанию выбирается форма с идентификатором system. $zebra_bp — Разрешить подмену шаблонов. Для возможности реализации нескольких различных дизайнов сайта на базе одного и того же комплекта Zebra позволяет подменять шаблоны, определяемые в разделе «Дизайн», другими, если они под одноименными идентификаторами существуют в «Записях» (подробнее см. «Группы и подгруппы страниц»).
    $zebra_bp 3.4. Разделение ресурсов (пункт администрации)
    $zebra_bp Zebra предоставляет редактору степени свободы по развитию ресурса в двух базовых направлениях. Во-первых, возможно определить неограниченное количество языков, на которых будет работать сайт. Заполнение ресурсов соответствующим контентом остается на совести редактора. Во-вторых, возможно определить неограниченное же количество профилей, имеющие такой же характер, как и языки, но зависящие не от опциональных параметров, передаваемых браузером, а от выбираемых самим пользователем пунктов (подробнее см. «Разделение ресурсов»). $zebra_bp Добавление новых или удаление уже неиспользуемых языков осуществляется последовательно путем выбора необходимого пункта в меню «Идентификатор языка». В списке указан двухсимвольный идентификатор языка (согласно RFC-1766, ISO 639-1), а также комментарий к нему. В дальнейшем обращение к ресурсам на этом языке будет возможно при указании в адресной строке параметра l=LANG или lang=LANG, где LANG — двухсимвольный идентификатор языка. Для каждого языка можно сопоставить его псевдоним, который будет использоваться на вашем сайте для наименования этого языка. $zebra_bp Идентификаторы и наименования профилей определяют применение ресурсов, соответствующим этим профилям. Профиль можно задать явным образом путем указания в адресной строке параметра f=PROFILE или prof=PROFILE, где PROFILE — требуемый профиль. $zebra_bp Название профиля зависит от выбранного языка и профиля. Название языка независимо от выбранного языка и профиля.
    $zebra_bp 3.5. Администраторы
    $zebra_bp Административная часть Zebra является крайне важной составляющей комплекса. От прозрачности и доступности разделов администрирования, от понятности предназначения элементов и переключателей, а также описаний к ним зависит удобство работы администратора и сохранность данных, а порой — и работоспособность сайта. Административные модули не должны задерживать обработку данных, выполняемую внешними модулями, но обязаны максимальным образом оптимизировать данные, чтобы эту обработку сделать как можно более быстрой. $zebra_bp Исходя из таких предпосылок, был принят следующий вариант строения модулей Zebra. $zebra_bp Все модули Zebra поставляются в виде двух, трех или более cgi-файлов, один из которых является внешним приложением — выполняет запросы и прочую работу, связанную с общением с пользователями. Второй модуль является административным и предназначен для изменения параметров работы первого. В третий модуль могут быть вынесены общие используемые процедуры первых двух. Обычно имя файла такого модуля заканчивается буквой x и какой-либо цифрой, как правило, нулем. Если существуют другие модули, содержащие специфические или редко используемые процедуры, они обычно именуются аналогично третьему модулю с наращиванием конечной цифры. $zebra_bp В разделе «Администраторы» модуля администрирования ядра осуществляется настройка некоторых параметров администрирования, а также регистрация и определение прав доступа администраторов.
    $zebra_bp 3.5.1. Элементы
    $zebra_bp — Таймаут сессии, с. При авторизации администратора создается сессия, в пределах которой затем происходит его взаимодействие с сайтом. В целях безопасности логин и пароль администратора передаются только в начале сеанса, а затем — только идентификатор сессии. Если административный модуль получил данные в сессии, последний запрос по которой пришел более, чем установленный данным параметром промежуток времени назад, сессия считается исчерпанной, и администратору предлагается повторная авторизация. Минимально возможное значение — 300 с (5 мин). $zebra_bp — Оформление. Zebra позволяет установить несколько различных вариантов оформления административных разделов. Отличаться могут цветовая гамма, гарнитуры и размеры шрифтов и т. д. Варианты профилей оформления устанавливаются в настройках Zebra (подробнее см. «FAQ»). $zebra_bp — Выводить комментарии к разделам. Предписывает выводить после всех значимых элементов административных страниц комментарии, описывающие присутствующие элементы. Может быть полезным на первых порах использования Zebra. $zebra_bp — Выводить статистику разделов. В разделах, подразумевающих работу с динамически изменяемыми данными (например: страницы, записи, подпрограммы), предписывает выводить сводную статистику зарегистрированных элементов. При большом количестве таковых сбор статистики может сильно замедлить работу модуля, что способно привести даже к полному отказу от работы. В таком случае статистику рекомендуется отключить. $zebra_bp — Отображать название элемента вместо идентификатора. Как уже было сказано ранее, Zebra на системном уровне оперирует идентификаторами ресурсов. Однако для удобства администратора в списках элементы могут отображаться не только под идентификаторами, но и описаниями себя на человеческом языке. Этот параметр предусматривает переключение между вариантами отображения. $zebra_bp — Укорачивать длинные названия элементов. Если название элемента в списке слишком длинно, результат может крайне исказить вид страницы в браузере. Во избежание такой неприятности предусматривается укорачивание названия. Можно выбрать три метода. $zebra_bp — Максимальная длина названия в списке. Задает максимальную длину для действия предыдущего параметра. $zebra_bp — Отображать адрес e-mail вместе с именем пользователя. Действует в разделе администрирования пользовательских параметров, влияет на отображение меню со списком пользователей. $zebra_bp — Разрешить администрирование параметров пользователя. Параметры пользователей в базе пользователей Zebra можно разделить на две категории: системные и настраиваемые. Системные — это параметры, которые определяются модулями и используются (необходимы) для их корректной работы. Настраиваемые — те, что определяет сам администратор сайта для возможности гибкого получения широкого спектра интересующей его информации. Настраиваемых параметров может быть очень много. Данный пункт позволяет установить один из трех режимов администрирования параметров пользователя: когда доступны для изменения все параметры, когда доступны для изменения только системные параметры, когда доступны для изменения только настраиваемые параметры. (Подробнее см. «Параметры пользователя».) $zebra_bp — Отображать в списке только локальные и профильные элементы. Если в базе зарегистрировано большое количество ресурсов, навигация по ним становится довольно затруднительной. Для такого случая можно предписать фильтрацию элементов согласно установленным разделяемым идентификаторам, соответственно locale и profile. $zebra_bp — Количество элементов в списке. Задается максимальное количество элементов в выпадающем списке. Имейте в виду, что при слишком больших значениях может начать функционировать некорректно браузер, а при слишком малых вам придется долго листать список, чтобы найти искомый ресурс. $zebra_bp — Ширина столбца комментария, Ширина столбца полей формы, Высота малых многострочных полей формы, Высота больших многострочных полей формы, Ширина (длина) текстовых полей в формах. Параметры, определяющие размеры элементов в административных формах. Варьируя их, можно максимально удобно подстроить под себя администрацию Zebra. $zebra_bp — Разрешить использование форм multipart/data. Применение форм типа «multipart/data» необходимо для передачи на сервер целых бинарных файлов (например, рисунков). $zebra_bp — Уровень регистрации статистики. Определяется уровень подробности ведения log-файлов Zebra. При детальном будут регистрироваться все события, происходящие с ведома Zebra. В таком случае файл статистики очень быстро будет увеличиваться в размерах, поэтому детальный вариант целесообразно выставлять, если вы желаете подробно проследить жизнь и удивительные приключения Zebra в течение какого-то непродолжительного промежутка времени. $zebra_bp — Приводить внутренние обозначения параметров (API). При разработке описаний страниц для полноценного использования возможностей Zebra необходимо использовать ключи и записи. Некоторые параметры Zebra заранее сопоставляются предопределенным ключам списка int. Данный пункт настройки предписывает отображать рядом с такими параметрами название соответствующего ключа. $zebra_bp — Использовать ECMAScript на страницах администрации. Для удобства администрирования в Zebra предусмотрено использование ECMAScript (подмножества языка JavaScript), позволяющего автоматизировать некоторые действия на уровне браузера. Например, после выбора какого-либо пункта в главном меню браузер, не ожидая специально нажатия кнопки «Отправить», перейдет в раздел, соответствующий выбранному пункту. Разумеется, чтобы это дело работало, браузер сам должен поддерживать скриптовые языки.
    $zebra_bp 3.5.2. Лица
    $zebra_bp Элементы. $zebra_bp — Администратор. Имя администратора или, иначе, его login. Одновременно это и идентификатор администратора. Описание или комментарий здесь не подразумеваются. $zebra_bp — Пароль. Пароль администратора не должен быть простым по причинам, не требующим пояснений. Не забывайте об этом. Существуют некие эмпирические правила, описывающие, как создать и хранить пароль. При необходимости можно даже найти программы, позволяющие сгенерировать сложный, но запоминающийся текст, который с успехом можно применить в этом качестве. Здесь будет, пожалуй, нелишне упомянуть замечательный пароль, использованный персонажем Падлой из книги «Фальшивые зеркала» Сергея Лукьяненко для кодирования файла с виртуальным оружием: «Сорок тысяч обезьян в жопу сунули банан». $zebra_bp — Реальное имя администратора. Реальное имя администратора, которое будет использоваться при отправлении писем, отображении административных разделов и т.д. $zebra_bp — Адрес e-mail администратора. Указание адреса электронной почты нужно также для случая, если администратор запамятовал свой пароль доступа. Тогда Zebra может по запросу отправить ему по указанному адресу письмо с паролем. $zebra_bp — Язык. Язык интерфейса для этого администратора. На язык администрируемых ресурсов не влияет. $zebra_bp — Оформление. Параметр аналогичен пункту в общих параметрах администрирования, но позволяет установить профиль для данного администратора индивидуально. $zebra_bp — Ограничить вход по IP. Данное ограничение можно применить для дополнительного обеспечения безопасности сайта. Если получить администраторский доступ по указанным логину и паролю попытается человек, IP-адрес которого не отвечает заданному шаблону, в доступе будет отказано. Соответствие адреса шаблону проверяется сопоставлением их, начиная с первого символа. То есть шаблону 45.243.17 будет соответствовать адрес 45.243.178.221, или 45.243.17.221, но не 245.243.178.221. $zebra_bp Можно указать список разрешенных IP-адресов, разделяя их пробелами или запятыми. $zebra_bp — Разрешить автоматический вход. При обнаружении соответствия IP-адреса администратора и необходимого cookie есть возможность пропустить страницу авторизации и перейти сразу к администрации Zebra. Этот режим рекомендуется включать только в том случае, если вы имеете полную гарантию того, что с вашего компьютера никто более не будет пытаться администрировать сайт. Отметим, что указание полного IP-адреса в данном случае обязательно. $zebra_bp Примечание. Если включен автоматический вход, но вам необходимо зайти в администрирование под другим логином, в строке адреса в качестве параметра надо указать ключ autoadmin=off, то есть:
    http://www.yourhost.com/cgi-bin/ze.cgi?autoadmin=off
    $zebra_bp — Включить права. Предписывает включить выбранные права администратора в список прав текущего. $zebra_bp — Исключить права. Предписывает исключить выбранные права из списка прав текущего администратора. Здесь также можно посмотреть список текущих прав доступа администратора. $zebra_bp Элемент «Полный доступ» задействует неограниченный доступ к администрированию всех ресурсов Zebra. В системе должен иметься хотя бы один администратор с полным доступом. Это обуславливается тем, что доступ к некоторым разделам администрирования разрешается только администраторам с полным доступом. Если по каким-то причинам, либо случайно такой администратор был из системы удален, восстановить его штатными средствами через администрирование невозможно (в частности, по соображениям безопасности). В таком случае воспользуйтесь методом, описанным в разделе «FAQ».
    $zebra_bp 3.7. Резервирование и обновление
    $zebra_bp В данном разделе дается возможность изменить регистрацию компонентов Zebra, а также осуществить резервное копирование баз, используемых Zebra, с предварительным переводом их в текстовый формат. Резервированные базы далее можно получить, скачав их по обычной http-ссылке, которая будет специально сообщена Zebra при успешном резервировании. $zebra_bp Перед тем, как подключить модуль, необходимо корректно организовать расположение новых (или старых) файлов на сервере, чтобы Zebra было понятно, что и откуда брать. Файлы *.cgi (а также файл zebra.ini при обновлении версии Zebra) располагаются в каталоге скриптов, файлы *.inc — в каталоге data. При этом им надо бы присвоить соответствующие права доступа, дабы скрипт был исполнябелен (rwxr-xr-x, либо 0755), а ресурс — читабелен и записывабелен (rw-rw-rw- или 0666 — по максимуму, rw-r--r-- или 0644 — в большинстве случаев). $zebra_bp При аккуратном исполнении данных предписаний модуль будет подключен либо отключен. Во случае успеха, как правило, эпопея на этом заканчивается. Иначе — следует долгий процесс изучения документации нового модуля, его настройки и попытки максимально притереть к прежним, уже давно используемым ресурсам и модулям Zebra. Описание проблем и возможных путей решения обычно находятся в прилагаемых к модулю файлах документации. $zebra_bp Кроме того, возможно обновление баз. Некоторые ресурсы Zebra поставляются в виде подключаемых файлов, имеющих расширение inc или ini. Такие файлы достаточно положить в каталог data на сервере, после чего через данный раздел их подключить. Однако в некоторых случаях нужно быть предельно осторожными: формат подключаемых файлов предусматривает такой вариант, когда все имеющиеся значения будут без вопросов заменены другими. Поэтому не пользуйтесь подключаемыми ресурсами, полученными из источников, в которых вы не уверены. $zebra_bp В Zebra предусмотрен механизм автоматического подключения ресурсов. Для его задействования подключаемый файл должен быть наименован zauto.inc и положен в директорию data на сервере. Также, файл zebra.ini может быть размещен в cgi-каталоге. Запуск после этого основного модуля администрирования ze.cgi осуществит автоматическое подключение ресурса, а сам файл будет удален. $zebra_bp Механизм резервирования и обновления, реализованный в Zebra, а также довольно простой формат файла ресурсов позволяет легко осуществлять обмен данными между пользователями Zebra. Достаточно сгенерировать резервный файл, взять из него нужные строки и, придав ему какое-то осмысленное наименование и подобающе прокомментировав, послать знакомому. В частности, отдельно документация к Zebra распространяется именно таким образом. Кроме того, автоматическая регистрация модулей также может осуществляться за счет подключения соответствующих ресурсов. $zebra_bp Более подробно формат подключаемого файла ресурсов рассматривается в разделе «Руководство по API». $zebra_bp В разделе также присутствует секция «Дополнительные действия», в которой перечислены расширенные операции резервирования и обновления. При активировании любой из них все остальные операции раздела игнорируются. Возможны следующие варианты: $zebra_bp — Проверить обновление, при этом экземпляр Zebra обращается на сервер разработчика и запрашивает информацию о последней версии Zebra. $zebra_bp — Скачать и установить обновление, при этом Zebra обращается на сервер разработчика и запрашивает файлы обновления. Администратору нет необходимости вручную скачивать файлы и размещать их на сервере вместо старых. Обновление скачивается и устанавливается средствами Zebra. При этом отслеживаются возможные сбои, поэтому результат достаточно надежен. Следует отметить, что обновлению подлежат все инсталлированные на сайте модули (если они были обновлены), легально зарегистрированные пользователем. $zebra_bp — Свернуть Zebra, предписывает свернуть все базы Zebra, упаковать их в один файл и снабдить скриптом распаковки, который позволит с минимальными усилиями развернуть инсталляцию на новом месте. Операция может быть крайне полезна при, например, переезде сайта на новый сервер. $zebra_bp — Деинсталлировать Zebra, предписывает конвертировать в портируемый текст наработанную за время работы Zebra информацию, после чего удалить программные модули и базы экземпляра Zebra.
    $zebra_bp 3.8. Сетевые параметры
    $zebra_bp Zebra способна самостоятельно обращаться к удаленным ресурсам (сайтам), осуществлять почтовые отправления и прием почты и т.д. Раздел администрирования «Сетевые параметры» позволяет настроить некоторые из особенностей сетевого взаимодействия служб Zebra.
    $zebra_bp Параметры CGI для Zebra $zebra_bp Максимально допустимый размер входного потока, К. Ограничивает размер поступающего от пользователя потока данных. Например, если он захочет опубликовать на сайте свою полную биографию на шестьсот страниц, это сделать не удастся. Данное ограничение не распространяется на административные действия. $zebra_bp Запретить загрузку файлов. Устанавливает запрет на загрузку файлов (текстовых или бинарных) на сайт. Ограничение не распространяется на административные действия. $zebra_bp Разрешенные расширения файлов для загрузки. Указывает список расширений файлов, которые пользователю можно загружать на сервер. Например, gif,jpg,jpeg,png — перечисляет используемые в Internet графические форматы, с применением одного из которых пользователь может опубликовать на сайте свою фотографию.  $zebra_bp Установить срок кэширования страниц для браузера, часов. Указывает браузеру, сколько времени полученная им страница будет храниться в кэше до следующего обязательного запроса на ее обновление.
    $zebra_bp Параметры виртуального браузера $zebra_bp Для получения удаленного ресурса (страницы с какого-либо сайта, файла или какой-либо другой информации) Zebra создает виртуального клиента, обладающего некоторыми характеристиками, необходимыми для того, чтобы запрошенный им ресурс был успешно получен. $zebra_bp Метод создания агента. Zebra может использовать один из двух методов для создания виртуального клиента. Метод IO подразумевает прямое обращение к портам с использованием библиотеки IO::Socket. Метод LWP использует библиотеку lib-www-perl. В случае, если возможны оба варианта, рекомендуется принять LWP, поскольку эта библиотека проработана больше, нежели доступ через IO, который оформляется собственными средствами Zebra. $zebra_bp Список возможных значений USER-AGENT. Идентификаторы клиента, которые может посылать виртуальный браузер на сервер, содержащий запрашиваемый ресурс. Некоторые серверы могут отказывать в ответе, если значение идентификатора не содержится в списке разрешенных к обработке на этом сервере. Количество значений в параметре не ограничено, каждая строка представляет собой отдельный идентификатор. $zebra_bp Время ожидания ответа, с. Время, которое надлежит ожидать виртуальному браузеру, прежде чем сервер, от которого ожидается ответ, будет сочтен недоступным.
    $zebra_bp Параметры почтового клиента $zebra_bp Для многих служб Zebra желательно присутствие возможности отправления электронного письма. Таким образом может, например, осуществляться срочная связь с администратором сайта, либо уведомление о неких событиях, принципиальных для внешних модулей, либо удаленное администрирование через e-mail. Для этого случая в Zebra встроен почтовый клиент, занимающийся отправлением и получением почты. $zebra_bp Метод отправления писем. Способ, которым в Zebra предписывается осуществлять почтовые отправления. Здесь возможны несколько вариантов. «Отключено» — почтовый клиент не работает в режиме отправления. «Запись в файл (отладка)» — тестовый режим, если требуется проверить, осуществляется ли вообще формирование письма при проверяемом событии. В таком случае все отправляемые письма сохраняются в файл, название которого формируется по шаблону zUSERKEYmail.log, где USERKEY — ключ индивидуализации данной установленной копии Zebra. Этот файл располагается в каталоге data. $zebra_bp «Внутренний механизм» реализует прямой доступ к портам и требует наличия в конфигурации Perl библиотеки IO::Socket. При отсутствии этой библиотеки письма отправляться не будут. Если внутренний метод работает, то необходимо также указание адреса SMTP-сервера, посредством которого будут отправляться письма. $zebra_bp «Посредством SENDMAIL» и «Посредством MAIL» — методы, использующие запуск системных утилит работы с почтой и передачу им отправляемых писем для обработки. Обычно Zebra сама определяет их расположение, однако есть возможность, что это ей сделать не удастся. В таком случае потребуется явным образом указать путь к используемой программе. При этом необходимо соблюдать соответствие в выбранном методе, поскольку внутренние форматы передачи данных для утилит mail и sendmail отличаются. $zebra_bp Примечание. Если есть возможность выбора — mail, sendmail или внутренний метод, рекомендуется выбрать sendmail, поскольку данная утилита позволяет гибче конфигурировать тело письма, нежели mail, и работает надежнее внутреннего метода. $zebra_bp Тест на адрес. Сразу после изменения параметров почтового клиента можно протестировать его работоспособность, указав в предлагаемом поле адрес, на который будет сделана попытка отослать тестовое письмо. $zebra_bp Примечание. Тест на адрес работает только с сохраненными параметрами. То есть, если вы измените метод отправки письма, и тут же отправите тестовое письмо, оно будет отправлено с использованием предыдущей конфигурации почтового клиента. Для того, чтобы действительно протестировать конфигурацию, необходимо ее сначала сохранить, и только потом отправлять тестовое письмо. $zebra_bp — явный путь к SENDMAIL или MAIL. Указывается полный путь к утилите, реализующей в системе почтовые функции. Например, /usr/sbin/sendmail, /usr/bin/mail, /sbin/sendmail и т. д. $zebra_bp — SMTP-сервер. Указывается адрес SMTP сервера, с которым устанавливается связь при отправлении почты внутренним методом. $zebra_bp Тип отправляемого письма по умолчанию. Можно задать три типа отправляемых писем. При «text/html» в служебные поля формируемого для отправки письма вставляется поле, благодаря которому почтовый клиент получателя будет воспринимать письмо как html-страницу и соответственно отображать. При значении «text/plain» добавляется признак обычного текста. В случае «авто» Zebra сама по некоторым признакам определяет, в каком формате отправлять письмо. $zebra_bp Формировать в кодировке. Перекодирует заголовок и содержимое письма соответственно выбранной кодовой странице (по умолчанию используется windows-1251). Кодовые страницы хранятся в базе настроек Zebra. Способ добавления поддержки других кодовых страниц описан в «Руководстве по АПИ». $zebra_bp Сохранять отправляемые письма. Позволяет сохранять все исходящие письма в системном почтовом ящике Outbox. $zebra_bp Разрешить многопоточную отправку писем. Позволяет Zebra создавать параллельный процесс для каждого отправляемого письма, что дает возможность основному потоку не ожидать завершения отправки писем, а сразу переходить к другим задачам. Это может значительно ускорить возвращение клиенту запрошенной информации. $zebra_bp Примечание. Данный параметр имеет смысл в операционных системах типа Unix и может приводить к аварийному завершению Zebra в ОС семейства Windows. $zebra_bp Метод создания клиента. Указывается метод, с использованием которого будут осуществляться запросы к почтовым аккаунтам. Возможны два варианта. Метод IO реализован с применением библиотеки IO::Socket и предусматривает прямое обращение к портам. Метод LibNet требует наличие библиотеки LibNET и оформляет запросы к почтовым аккаунтам для этой библиотеки. Если существует выбор, рекомендуется принять LibNet. $zebra_bp Количество POP3-аккаунтов. Zebra может с заданной периодичностью опрашивать некоторое (теоретически — неограниченное) количество почтовых ящиков на предмет наличия в них писем, и в случае обнаружения таковых — получать и осуществлять некоторые действия соответственно настройкам. Данным параметром задается количество ящиков, которые Zebra будет проверять. $zebra_bp POP3-сервер. Задается адрес POP3-сервера, на котором размещается проверяемый ящик. $zebra_bp — пользователь. Имя пользователя, соответствующее ящику (наименование почтового ящика). $zebra_bp — пароль. Пароль доступа к содержимому почтового ящика. $zebra_bp — особая обработка писем. Zebra предполагает возможность существования специальных (командных) ящиков, поступающие в которые письма обрабатываются особым образом. По наличию ключевых слов в таких письмах устанавливается, какое действие следует произвести Zebra: модерацию на форуме, публикацию ответа, удаление регистрации пользователя, переиндексацию всех ресурсов и т.д. $zebra_bp — расписание проверки. Указывается расписание, согласно которому будет производиться проверка наличия новых писем в почтовом ящике. $zebra_bp Кнопка «Связаться» инициирует немедленный контакт с почтовым ящиком и получение с него писем. При этом, если ящик обозначен как особо обрабатываемый, письма проверяются на наличие команд. $zebra_bp Примечание. Для каждого почтового ящика необходимо указать индивидуальные параметры подключения и обработки. Для хранения полученных писем создаются собственные почтовые ящики Zebra, в которых в дальнейшем можно эти письма просмотреть и при необходимости удалить. Доступ к содержимому почтовых ящиков можно получить через меню, доступное в верхней части раздела «Сетевые параметры».
    $zebra_bp Системные письма $zebra_bp Подраздел администрирования «Системные письма» позволяет определить шаблоны писем, которые Zebra отправляет соответственно назначенным событиям. Письмам свойственны идентификатор, имя и адрес отправителя (имя и адрес получателя устанавливаются автоматически), а также тема и тело письма, которые представляют собой обычное описание страницы, составленное по обычным правилам составления описаний Zebra. Кроме того, письму требуется назначить комментарий, который будет его характеризовать.
    $zebra_bp 3.9. Параметры АС
    $zebra_bp Ассоциативная сеть данных — одна из базовых технологий, включенных в Zebra. Она представляет собой особый способ организации и хранения информации, близкий по идеологии к принципам построения семантических сетей. Поддержка ассоциативной сети реализована посредством библиотеки DAN, к которой в Zebra разработано несколько средств управления и доступа. В частности, форумный модуль Zebra Forum (см. «Работа с Zebra Forum») является надстройкой высокого уровня над DAN и выполняет высокоуровневые операции, предназначенные для организации работы онлайновых средств обратной связи. Административный модуль Danipulator реализует доступ и управление данными в базах АС на среднем уровне, а библиотека расширений модуля позволяет получить данные в сформатированном согласно установленным форматам виде. $zebra_bp Подробнее с теоретическими выкладками по организации и функционированию АС можно ознакомиться здесь или здесь. Индивидуально библиотека DAN в живом виде находится здесь. $zebra_bp АС работает при наличии некоторой модели данных, согласно которой осуществляется распределение и связывание информации в базе. Zebra предоставляет интерфейс для модификации и управления моделью данных, однако следует иметь в виду, что модификация моделей данных, поставляемых с конечными приложениями (например, с Zebra Forum, может привести к некорректному функционированию этих приложений, поскольку они разработаны с учетом заданных особенностей соответствующих моделей данных. Поэтому полноценное управление целесообразно осуществлять только с теми моделями АС, которые разрабатываются непосредственно для решения конкретных поставленных задач. $zebra_bp Поскольку таким образом разработка и модификация моделей данных АС оказывается вплотную примыкающей к вопросу разработки внутренних или внешних модулей для самой Zebra (во всяком случае, она затрагивает уже непосредственно программирование с привлечением API), то более подробно вопросы управления моделями данных АС рассматриваются в разделе «Руководство по API».
    $zebra_bp 3.10. Параметры индексации
    $zebra_bp Часто перед пользователем встает задача — найти среди множества ресурсов один или несколько, в которых упоминается одно или несколько заданных слов. Если файлы хранятся на жестком диске пользователя, то такая задача не слишком пугает, поскольку современная техника позволяет достаточно быстро прочесать солидное количество файлов с учетом контекстного поиска в них. Проблема возникает только при очень большом объеме перерабатываемой информации. Однако когда требуется найти один ресурс на сайте с большим коичеством страниц, такая задача становится гораздо более сложной. Один из способов ее решения для пользователя — создание полной копии сайта на собственном диске и дальнейший поиск в ней. Но такой подход не всегда реализуем, особенно в том случае, если контент сайта динамический или же предусматривает специальную защиту от подобных массовых запросов. Тогда вебмастер должен сам позаботиться об удовлетворении таких потребностей пользователя. $zebra_bp Существуют два основных подхода к поиску ресурсов, удовлетворяющих условиям поиска. Первый заключается в последовательном переборе всех имеющихся ресурсов и проверка каждого на удовлетворение его этим условиям. Данный подход очень прост и эффективен, если имеется несколько десятков небольших файлов, однако крайне непродуктивен, если их требуется обработать сотни и тысячи. $zebra_bp Второй подход заключается в предварительном индексировании всех ресурсов, по которым предполагается совершать поиск. При таком индексировании создается образ ресурса, описание, полный путь для прямого доступа и регистрируется список ключевых слов, полученный в результате морфологического разбора содержимого файла. При поиске такому же морфологическому разбору подвергается переданный запрос, после чего по сопоставленным ключевым словам строится список релевантных ресурсов. Далее этот список можно уменьшить путем отбора повторяющихся или не удовлетворяющих дополнительным критериям поиска элементов, после чего список форматируется в удобный для восприятия вид и возвращается пользователю. Данный подход требует предварительных затрат на индексацию всех ресурсов, однако это с лихвой окупается скоростью поиска, совершенно не сравнимой с первым способом. По этому принципу строится функционирование всех поисковых машин (начиная от поисковых систем Интернета и заканчивая системой поиска в Windows XP). $zebra_bp Zebra применяет второй вариант системы поиска, что позволяет с минимальными текущими затратами предоставлять пользователю полный сервис поиска. Индексация ресурсов происходит на этапе сохранения, либо в процессе принудительной переиндексации. Индексы сохраняются в отдельной базе данных и не влияют на работу остальных модулей Zebra. $zebra_bp Включить индексацию. Можно на глобальном уровне отключить индексацию, что приведет к выключению всех систем поиска Zebra, основанных на индексах. $zebra_bp Индексировать. Задается один из нескольких глобальных типов индексирования. Вариант «По ключевым словам ресурса» анализирует индексируемый ресурс на наличие специальных тегов, указывающих ключевые слова (например, <meta http-equiv="keywords" content="keyword1, Keyword2, KeyWord3, ...">), либо по непосредственно переданному списку таких слов. Вариант «По общим ключевым словам» сопоставляет наличие общих ключевых слов (см. ниже) с индексируемым ресурсом, и индексирует только по тем ключевым словам, которые в нем обнаружены. Вариант «Анализировать ресурс» предписывает проводить полный морфологический разбор индексируемого ресурса. «Автоматически» предусматривает выбор одного из перечисленных способов самой Zebra на основании ряда критериев. $zebra_bp Общие ключевые слова. Список ключевых слов, которые будут использоваться при анализе ресурсов «По общим ключевым словам». Слова в списке могут быть указаны в своей обычной форме, поскольку при проведении анализа они подвергаются морфологическому разбору вместе с самим индексируемым ресурсом. $zebra_bp Игнорировать слова. Приводится список ключевых слов, по которым не требуется индексировать ресурс. То есть, если в ресурсе обнаружено слово, соответствующее одному из указанных в данном списке, то они сопоставлены не будут. Как следствие, поиск по таким словам нерезультативен. В даном списке слова также можно указывать в общеупотребительной форме. $zebra_bp Игнорировать слова короче, символов. Во избежание индексирования союзов, междометий и прочих не характеризующих конкретный ресурс слов можно ограничить минимальную длину индексируемых слов. $zebra_bp Игнорировать слова длиннее, символов. Аналогично предыдущему пункту, но максимальную длину. $zebra_bp Индексировать числа. Можно ограничить индексацию по числам, если они не играют существенную роль в наполнении ресурса. $zebra_bp Сводить к нижнему регистру. При включенном данном параметре все слова списка, полученного после морфологического анализа ресурса, сводятся к нижнему регистру букв. При обработке запроса на поиск также осуществляется сведение запроса к нижнему регистру, что позволяет не учитывать разницу регистров в проверяемых ресурсах и запросе. В противном случае «Небо» и «небо» воспринимаются как разные слова, и поиск окажется нерезультативен.
    $zebra_bp 3.11. События
    $zebra_bp В Zebra предусмотрена регистрация различных событий, происходящих в процессе ее работы. Это может быть создание или удаление подкаталога в окружении Zebra, регистрация пользователя, неверно введенный пароль и т.д. В зависимости от выбранного уровня детализации могут регистрироваться события в широком диапазоне привилегий — от самых незначительных до кардинально меняющих всю работу системы. Регистрация событий осуществляется в обычный текстовый файл в каталог data, имя которого формируется по следующему шаблону: zUSERKEYlog.log, где USERKEY — ключ индивидуализации данной копии Zebra. $zebra_bp При проявлении серьезного сбоя, необходимости выявить злостных нарушителей парольного режима, выяснения личности инициировавшего обвал системы администратора и прочих событиях, регистрируемых Zebra, можно последовательно просмотреть файл регистрации событий и проанализировать ход событий. Кроме того, Zebra предоставляет собственный простой интерфейс к анализу событий, позволяющий отфильтровать их по нескольким критериям, расположить в восходящем или нисходящем хронологическом порядках и т.д. $zebra_bp Примечание. В Zebra ведется еще один файл событий, в который перенаправляется вывод ошибок на уровне команд операционной системы. Иногда ошибки, информация о которых не отображается посредством Zebra или самого сервера, можно выявить анализом этого файла. Его наименование формируется по шаблону zUSERKEYerr.log. Файл доступен для просмотра только непосредственно, интерфейсов к его изучению Zebra не предоставляет. В целом, в него регистрируется каждый запуск Zebra (в том числе административные вызовы) с точностью до секунды.
    $zebra_bp 3.12. О Zebra
    $zebra_bp В разделе сообщается информация о текущей версии и копии Zebra — о модулях, зарегистрированных в ней, о регистрационной записи, какие-то дополнительные вещи. Если Zebra не зарегистрирована, отсюда же можно перейти к процессу регистрации. В целом, этот раздел в большей степени информативен, нежели административен. Его сокращенная версия выдается на запрос к любому из модулей с единственным параметром командной строки about, например:
    http://www.yourhost.com/cgi-bin/zs.cgi?about

    $zebra_bp 3.13. Системные параметры
    $zebra_bp Позволяет получить описания страниц и некоторых элементов, являющихся техническими ресурсами Zebra и определяющими вид, наполнение и содержание административных страниц. Разделяемость данных ресурсов обеспечивается только на уровне языка (locale). Описания этих страниц можно, в частности, брать в качестве примера для создания описаний собственных страниц, поскольку в системных ресурсах Zebra использованы практически все приемы, рекомендуемые к применению в работе с сайтом. $zebra_bp Внимание! Модификация административных ресурсов может привести к нарушению работоспособности административных разделов Zebra и, как следствие, серьезным ошибкам в работе Zebra. $zebra_bp Кроме того, в разделе доступны к изменению еще несколько важных параметров функционирования Zebra. $zebra_bp Установить глобальный счетчик сайта. Позволяет принудительно установить общий счетчик запросов, произведенных к Zebra с момента инсталляции. $zebra_bp Восстановить глобальный счетчик сайта. Осуществляет пересчет обращений к Zebra, основываясь на данных, предоставляемых модулями. $zebra_bp Временно отключить работу Zebra. Переключатель оказывает действие, обратное переключателю «Включить работу Zebra» (см. «Основные параметры»). $zebra_bp Включить кэширование данных. Zebra на каждый запрос выполняет до нескольких сотен обращений к базам данных, при этом часто запрашиваются одни и те же значения. Для снижения расходов на подобные повторные запросы можно включить кэширование, при котором уже считанная информация запоминается во временном буфере, и при повторном обращении берется из него, исключая лишний запрос к базе данных. Включать кэширование имеет смысл в том случае, если оно не функционирует на уровне операционной системы. $zebra_bp SSI-инструкция виртуальной вставки, SSI-инструкция прямой вставки. В некоторых реализациях http-серверов могут быть переопределен синтаксис SSI, что способно привести к ошибкам при применении стандартных <!--#include virtual="..."--> и <!--#include file="..."-->. Для таких случаев в Zebra предусмотрена настройка SSI-инструкций. $zebra_bp Включить оптимизацию потока при выводе. Для уменьшения размера возвращаемого пользователю контента Zebra может оптимизировать конечный ресурс по нескольким критериям. $zebra_bp — оптимизация пробелов, удаляются лишние пробелы, пустые строки, многократные табуляции и т.д.; $zebra_bp — удаление комментариев, удаляются комментарии; при этом учитывается, что внутри комментария может располагаться код встроенного скрипта (например, JavaScript), и если это действительно так, комментарий не удаляется (однако система распознавания не всегда может работать корректно, поэтому в случае, если в ваших ресурсах активно используются скриптовые языки, данный пункт лучше отключать); $zebra_bp — tgz-сжатие потока, предписывает перед отправлением конечного контента пользователю сжать его в соответствии с форматом TGZ. Современные браузеры понимают информацию, полученную в таком формате, и прозрачно для пользователя распаковывают ее, демонстрируя в конечном итоге обычный html-ресурс. При этом возможен выигрыш в объеме передаваемых данных и, соответственно, во времени, затраченном на получение ресурса, до нескольких раз. (Данная возможность пока не реализована.) $zebra_bp Формат сжатия данных. Влияет на выбор способа архивирования файлов при резервировании баз. $zebra_bp Комадная строка архиватора. Если Zebra не находит утилиту для сжатия файлов способом, указанным в предыдущем пункте, можно принудительно задать командную строку вызова архиватора. При этом следует придерживаться следующего формата:
    command [options] "$archive" @forarc
    Здесь command — полный или относительный путь к исполняемому файлу архиватора, $archive — ключевое слово для наименования целевого файла архива, @forarc — ключевое слово для перечисления включаемых в архив файлов, options — дополнительные опции архиватора. Обратите внимание, что $archive и @forarc должны присутствовать в команде именно в таком виде, поскольку они особо обрабатываются Zebra при формировании конечной команды. Например, команда по умолчанию для архиватора zip выглядит следующим образом:
    zip -j -m -q -9 "$archive" @forarc

    $zebra_bp 4. Основной список int
    $zebra_bp Именованный список int является важнейшим элементом Zebra, поскольку содержит динамически изменяемые данные, соответствующие ключам, интерполируемым в описаниях (подробнее о ключах, записях, условных инструкциях и проч. см. «Работа с Zebra Site. Описание страницы»), и проходит белою ниткою сквозь всю структуру Zebra. $zebra_bp Составляющие списка можно поделить на две логические части — контекстные и постоянные. В целом, конечно, все его значения контекстны, однако, как правило, некоторые определяются в самом начале, да так и остаются до завершения сеанса работы Zebra. Особенность контекстных значений в том, что они могут быть определены только в особых случаях, ради которых и существуют. В остальных — считаются несуществующими. Если этим значениям сопоставлены условные инструкции, конечное содержимое контента может неузнаваемо измениться. $zebra_bp Далее перечислены значения списка int, входящие в постоянную составляющую. Описания контекстных составляющих приводятся контекстно же — то есть в документации конкретных модулей и/или процедур, их использующих. $zebra_bp Первым приводится наименование параметра, далее идет его описание. Применение значений в описаниях производится цитированием наименования с добавлением перед ним символа доллара $.

    Системные параметры

    sitename — название сайта
    sitehost — базовый адрес сайта
    dircgi — виртуальный путь к cgi-каталогу сайта
    dirsite — виртуальный путь к html-каталогу сайта
    dirbin — виртуальный путь к каталогу изображений
    begbody — шапка страницы
    endbody — подвал страницы
    lang — явная установка языка, заданная через адресную строку
    prof — явная установка профиля, заданная через адресную строку
    langprof — фрагмент для дальнейшей передачи установок языка и профиля через адресную строку
    current — наименование исполняемого файла активного модуля
     
    Параметры текущей даты и времени

    date — шаблон даты в установленном формате
    sec — секунды
    min — минуты
    hour — часы
    day — день месяца
    wday — название дня недели
    month — месяц
    wmonth — название месяца
    year — короткое обозначение года
    fullyear — полное обозначение года
    $endbody возможности гибкого получения широкого спектра интересующей его информации. Настраиваемых параметров может быть очень много. Данный пункт позволяет установить один из трех режимов администрирования параметров пользователя: когда доступны для изменения все параметры, когда доступны для изменения только системные параметры, когда доступны для изменения только настраиваемые параметры. (Подробнее см. «Параметры пользователя».) $zebra_bp — Отображать в списке только локальные и профильные элементы. Если в базе зарегистрировано большое количество ресурсов, навигация по ним становится довольно затруднительной. Для такого случая можно предписать фильтрацию элементов согласно установленным разделяемым идентификаторам, соответственно locale и profile. $zebra_bp — Количество элементов в списке. Задается максимальное количество элементов в выпадающем списке. Имейте в виду, что при слишком больших значениях может начать функционировать некорректно браузер, а при слишком малых вам придется долго листать список, чтобы найти искомый ресурс. $zebra_bp — Ширина столбца комментария, Ширина столбца полей формы, Высота малых многострочных полей формы, Высота больших многострочных полей формы, Ширина (длина) текстовых полей в формах. Параметры, определяющие размеры элементов в административных формах. Варьируя их, можно максимально удобно подстроить под себя администрацию Zebra. $zebra_bp — Разрешить использование форм multipart/data. Применение форм типа «multipart/data» необходимо для передачи на сервер целых бинарных файлов (например, рисунков). $zebra_bp — Уровень регистрации статистики. Определяется уровень подробности ведения log-файлов Zebra. При детальном будут регистрироваться все события, происходящие с ведома Zebra. В таком случае файл статистики очень быстро будет увеличиваться в размерах, поэтому детальный вариант целесообразно выставлять, если вы желаете подробно проследить жизнь и удивительные приключения Zebra в течение какого-то непродолжительного промежутка времени. $zebra_bp — Приводить внутренние обозначения параметров (API). При разработке описаний страниц для полноценного использования возможностей Zebra необходимо использовать ключи и записи. Некоторые параметры Zebra заранее сопоставляются предопределенным ключам списка int. Данный пункт настройки предписывает отображать рядом с такими параметрами название соответствующего ключа. $zebra_bp — Использовать ECMAScript на страницах администрации. Для удобства администрирования в Zebra предусмотрено использование ECMAScript (подмножества языка JavaScript), позволяющего автоматизировать некоторые действия на уровне браузера. Например, после выбора какого-либо пункта в главном меню браузер, не ожидая специально нажатия кнопки «Отправить», перейдет в раздел, соответствующий выбранному пункту. Разумеется, чтобы это дело работало, браузер сам должен поддерживать скриптовые языки.
    $zebra_bp 3.5.2. Лица
    $zebra_bp Элементы. $zebra_bp — Администратор. Имя администратора или, иначе, его login. Одновременно это и идентификатор администратора. Описание или комментарий здесь не подразумеваются. $zebra_bp — Пароль. Пароль администратора не должен быть простым по причинам, не требующим пояснений. Не забывайте об этом. Существуют некие эмпирические правила, описывающие, как создать и хранить пароль. При необходимости можно даже найти программы, позволяющие сгенерировать сложный, но запоминающийся текст, который с успехом можно применить в этом качестве. Здесь будет, пожалуй, нелишне упомянуть замечательный пароль, использованный персонажем Падлой из книги «Фальшивые зеркала» Сергея Лукьяненко для кодирования файла с виртуальным оружием: «Сорок тысяч обезьян в жопу сунули банан». $zebra_bp — Реальное имя администратора. Реальное имя администратора, которое будет использоваться при отправлении писем, отображении административных разделов и т.д. $zebra_bp — Адрес e-mail администратора. Указание адреса электронной почты нужно также для случая, если администратор запамятовал свой пароль доступа. Тогда Zebra может по запросу отправить ему по указанному адресу письмо с паролем. $zebra_bp — Язык. Язык интерфейса для этого администратора. На язык администрируемых ресурсов не влияет. $zebra_bp — Оформление. Параметр аналогичен пункту в общих параметрах администрирования, но позволяет установить профиль для данного администратора индивидуально. $zebra_bp — Ограничить вход по IP. Данное ограничение можно применить для дополнительного обеспечения безопасности сайта. Если получить администраторский доступ по указанным логину и паролю попытается человек, IP-адрес которого н $begbody $zebra_bp Содержание раздела: $zebra_bp 1. Записи $zebra_bp 2. Подпрограммы $zebra_bp 2.1. Параметры $zebra_bp 2.2. Редактирование процедур $zebra_bp 2.3. Регулярные процедуры $zebra_bp 3. Пользователи $zebra_bp 3.1. Параметры настройки $zebra_bp 3.2. Параметры пользователя $zebra_bp 3.3. Пользовательские формы $zebra_bp 4. ЧПУ
    $zebra_bp В данный раздел включена информация об управлении данными, которые неограниченно размножаются в ходе эксплуатации Zebra. Заметим, что Zebra оперирует двумя основными видами данных: постоянными, которым могут быть сопоставлены заранее заданные идентификаторы, и динамическими, идентификаторы которых могут быть либо образованы по неким правилам, либо перечислены в каком-то из постоянных параметров. Постоянные, в свою очередь, также разделяются на несколько видов, отличающихся, в частности, способами их изменения — некоторые можно изменить явно, осуществив непосредственное редактирование, другие изменяются самой Zebra для реализации общей последовательности своего существования. В конечном счете все упомянутые категории данных становятся той совокупностью условий, в комбинации которых с программной реализацией Zebra проявляется существование вашего сайта и служб на нем. $zebra_bp Ускользающий смысл предыдущего абзаца станет более понятен после ознакомления с данным разделом документации.
    $zebra_bp 1. Записи
    $zebra_bp Записи в Zebra — понятие весьма субъективное. Есть записи такие, есть записи сякие... Вообще говоря, используются два типа записей. Первый — записи в классическом понимании этого слова. То есть некий элемент в базе данных, в котором хранится определенная информация, извлекаемая по запросу для приготовления дальнейшего блюда. $zebra_bp Второй тип записей представляет собой именованные объекты, которые могут неограниченно использоваться внутренними или внешними процедурами, хранить некоторые относительно статические данные и прочую информацию. Относительно статическую потому, что она в любой момент может быть изменена некой специально предназначенной для такой модификации процедурой. $zebra_bp Упоминание в специальном формате записи в Zebra, как правило, приводит к тому, что она в конечном продукте жизнедеятельности Zebra заменяется на сопоставленный ей текст. Отличие записи от ключа (см. «Работа с Zebra Site. Описание страницы») в том, что ключи контекстно зависимы, их корректная интерполяция в описании страницы производится только при наличии такого определенного ключа. Записи же, будучи упомянуты, подлежат обязательной подстановке (если, разумеется, такая запись существует). $zebra_bp Создание или редактирование записей — штука исключительно простая. Достаточно зайти в раздел администрирования основного меню «Записи», затем выбрать запись на редактирование или добавление. При этом существенны установки языка и профиля. Обращаем ваше внимание на то, что выбор записи при рендеринге страницы осуществляется согласно установленному порядку поиска (см. «Разделение ресурсов»). $zebra_bp При соответствующих настройках вы можете видеть сводную таблицу зарегистрированных записей, в которой указывается идентификатор записи (коим оная запись должна отмечаться при ее упоминании; правила наименования записей отвечают пункту «Наименования»), комментарий, а также размер. $zebra_bp Записи можно распределить по группам. Явное создание групп не предусмотрено, группы добавляются автоматически, если в идентификаторе записи присутствует разделитель _. Тогда часть идентификатора, идущая до разделителя, принимается за идентификатор группы. Например, если создается запись с идентификатором testgroup_teststring, то Zebra полагает, что это запись teststring в группе testgroup, и делает соответствующие изменения. При этом для корректного рендеринга необходимо указать полный идентификатор записи (существуют особые случаи, подробнее см. «Работа с Zebra Site. Описание страницы»). Многоуровневая вложенность групп не предусмотрена, записи можно распределить по группам в глубину только на один уровень. $zebra_bp Примечания. 1. Создание новой записи на базе уже существующей можно осуществить простым заданием нового идентификатора (как и во многих других разделах администрации Zebra, хотя есть и особые случаи). 2. Обратите особое внимание на недопустимость саморекурсии записи. Хотя Zebra поддерживает практически неограниченную вложенность записей, процедур, ключей и т. д., опасайтесь получить ссылку внутри записи на саму себя, поскольку в таком случае произойдет зацикливание рендеринга, и генерация страницы будет прервана по таймауту, а клиент ничего не получит. $zebra_bp Существуют некоторые заранее зарезервированные записи Zebra. Их изменять либо не рекомендуется, либо допускается, но оч-чень, оч-чень осторожно. Эти записи расположены в группе Zebra. $zebra_bp В процессе эксплуатации Zebra возможны сбои, в результате которых происходит утеря некоторых данных, в том числе — кумуляторов (списков) записей, по которым происходит верификация интерполируемой записи. Для таких случаев предусмотрена процедура регенерации кумуляторов, вызываемая кнопкой «Восстановить». Обратите внимание, что в прочих разделах администрирования также может присутствовать такая кнопка, и выполняет она схожую функцию.
    $zebra_bp 2. Подпрограммы
    $zebra_bp Некоторые параметры Zebra могут быть определены в виде обычного программного кода на языке Perl, являющемся базовым языком Zebra. При известной сноровке и квалификации вполне реально воспользоваться и другими языками, особенно если это касается внешне-запускаемых программ. Тем не менее, разработчики рекомендуют при необходимости придерживаться Perl. Достаточно подробная документация по интерфейсу программирования для Zebra приведена в разделе «Руководство по API». $zebra_bp Частично информация об использовании подпрограмм в Zebra изложена в главе «Работа с Zebra Site. Процедура». Здесь же более пристально рассматривается поддержка процедур ядром Zebra, а также определение произвольных регулярных действий.
    $zebra_bp 2.1. Параметры
    $zebra_bp Элементы. $zebra_bp — Выполнять регулярные процедуры. Разрешает выполнение процедур по расписанию. Или запрещает их. При разрешении Zebra пытается установить в очередь системного Cron запуск модуля Zebra Cron, который осуществляет все манипуляции, необходимые для выполнения процедур. Если Zebra не удается это сделать, пользователю рекомендуется командная строка для явного запуска. $zebra_bp — Частота сканирования регулярностей, раз/час. Параметр устанавливает частоту, с которой Zebra Cron будет запускаться посредством системного Cron. Эта частота является определяющей, никакие другие события Zebra, назначенные для выполнения через Zebra Cron, не могут выполняться чаще определенной глобальной частоты. Любые регулярности, подразумевающие большую частоту, будут сводиться к данной. Величину рекомендуется задавать целочисленную, в пределах 1-60. При значении 1 выполнение производится один раз в час, при значении 60 — 60 раз в час, т. е. каждую минуту. По умолчанию устанавливается значение 1. $zebra_bp — Выполнять сервисные процедуры. В Zebra имеется несколько специальных процедур, предполагаемых к периодическому обязательному применению, таких как, например, упаковка или резервирование баз. Каждую такую процедуру можно тонко настроить индивидуально (см. ниже). Данный параметр однозначно отключает выполнение всех их независимо от прочих условий. $zebra_bp — Расписание сервисных процедур. В данном параметре предполагается глобальное определение расписания выполнения сервисных процедур. Все определения прочих сервисных процедур, не укладывающиеся в указанное расписание, будут проигнорированы или сведены к нему. $zebra_bp Формат расписания задается следующими правилами: $zebra_bp BB:BB-EE:EE $zebra_bp BB:BB-EE:EE #XX $zebra_bp BB:BB-EE:EE CC:CC-DD:DD #XX $zebra_bp CM #XX (или просто #XX) $zebra_bp BB:BB-EE:EE &XX CC:CC-DD:DD &YY FF:FF-GG:GG &ZZ $zebra_bp Здесь BB:BB — время начала действия процедур, EE:EE — окончания, в часах и минутах; #XX — частота выполнения процедур в сутки (значочек # в дальнейшем довольно часто будет обозначать именно частоту, и именно в сутки). Если же вместо символа # использовать &, то указанное число будет восприниматься как частота в пределах обозначенного времени. Обозначение CM, равно как и 00:00-24:00, соответствует круглосуточному контролю и может быть опущено. В качестве частоты допускается указание ALWAYS, тогда процедура будет выполняться каждый раз при сходимости глобальных критериев регулярности. Если частота не определена, принимается либо частота, выставленная после всех интервалов, либо значение 1. $zebra_bp Примеры: $zebra_bp 01:30-03:00 — осуществить процедуры в промежутке между 1:30 и тремя утра. $zebra_bp 01:30-03:00 #24 — осуществить процедуры в том же промежутке, при этом учесть выполнение процедуры каждый час, то есть максимально процедуры будут выполнены дважды в течение суток во время указанного промежутка. $zebra_bp #240 — выполнить процедуры 240 раз в течение суток. На самом деле они могут быть выполнены и меньшее количество раз, если вам недоступно использование Cron, и его функции переназначаются Zebra. В таком случае запуск процедур возможен только по факту активации Zebra (например, посредством Zebra Site). По поводу организации выполнения процедур через Cron или Zebra см. «Запуск регулярных процедур». $zebra_bp 00:00-01:00 &2 02:00-04:00 &5 07:30-12:00 &20 — выполнить процедуры в обозначенные промежутки времени по столько-то раз максимально в каждом конкретном случае. $zebra_bp 01:30-02:30 13:30-15:00 23:30-00:30 #24 — выполнить процедуры в указанные промежутки времени, исходя из того предположения, что процедуры выполняются один раз в час. $zebra_bp 05:00-06:00 &2 07:00-08:00 #48 09:00-10:00 &ALWAYS 12:00-14:00 15:00-17:00 23:00-01:00 #24 — выполнить процедуры по следующему расписанию: с 5 до 6 утра дважды, с 7 до 8 утра из расчета 48-кратного выполнения в течение суток, с 9 до 10 утра — каждый раз при возможности выполнения; с 12 до 14, 15 до 17 и с 11 вечера до 1 утра выполнять из расчета 24-кратного выполнения процедур в течение суток. $zebra_bp Если определен критерий регулярности, но опущен один из двух параметров (время или частота), то опущенные по умолчанию приравниваются круглосуточному слежению и однократному применению соответственно. $zebra_bp — Паковать базы. Включает регулярную сервисную процедуру упаковки баз — освобождения их от мусора, постепенно накапливающегося в процессе работы. Данную процедуру не рекомендуется разрешать для выполнения посредством Zebra, если есть возможность назначить ее Cron. Более того, излишняя частота ее осуществления тоже ни к чему, и наиболее правильным вариантом нам представляется ручной старт этой процедуры. $zebra_bp — — расписание упаковки. В этом поле задается расписание упаковки баз, формат параметра описан выше. $zebra_bp — Автоматическое резервирование баз. Включается регулярная сервисная процедура, осуществляющая резервное копирование баз Zebra с предварительной конвертацией их в текстовый формат. Базы, подлежащие регулярному резервированию, необходимо отметить в разделе администрирования «Ядро. Резервирование и обновление». Для резервного копирование баз наилучшим вариантом тоже является запуск через Cron, однако при отсутствии такового можно выбрать и Zebra. $zebra_bp — — расписание резервирования. Задается расписание резервного копирования баз. Излишняя частота здесь вредна, достаточно раз в две-три недели. При наличии достаточно серьезных данных — раз в сутки. $zebra_bp — — хранить копий. Задается количество последних сохраняемых копий резервных баз. Может потребовать довольно много места на жестком диске. $zebra_bp — — при сбое известить по e-mail. Иногда в процессе функционирования Zebra при стечении обстоятельств возможно повреждение рабочих баз данных, что способно привести к возникновению ошибок и постепенной или немедленной потере работоспособности Zebra. Некоторые сбои могут быть распознаны самой Zebra при осуществлении процедур резервирования или сжатия баз, и в таком случае она может отправить ответственному администратору по электронной почте сообщение о возникшей проблеме. Данный параметр указывает, на какой адрес посылать такое сообщение. $zebra_bp — Запустить сейчас регулярные процедуры. При необходимости можно заказать выполнение регулярных процедур немедленно. При этом предоставляется выбор процедур для запуска — всех, только кронированных или только зебрированных. $zebra_bp — — при этом учитывать ограничения времени. Накладывает ограничения на выполнение заказанных процедур.
    $zebra_bp 2.2. Редактирование процедур
    $zebra_bp Элементы. $zebra_bp — Подпрограмма. Указывается идентификатор подпрограммы. По сравнению с прочими идентификаторами, используемыми в Zebra, к идентификатору подпрограммы предъявляются более жесткие требования, — он должен быть сформулирован по правилам наименования подпрограмм языка Perl, и при этом совпадать с указанным в программном коде процедуры наименованием самой подпрограммы. $zebra_bp — Комментарий. Какой-либо комментарий для упрощения жизни администратора. $zebra_bp — Программный код. Конечный программный код процедуры на языке Perl. Рекомендуется придерживаться следующих правил: все изменяемые в процессе отработки переменные должны быть локальными для этой подпрограммы, дабы не затронуть структуру данных Zebra. Если процедура создана для добавления какой-либо информации в конечный код интерполируемой страницы, она должна элементарным образом возвращать искомую информацию посредством return в конце выполнения. Создание более интегрированных с Zebra процедур возможно при определении других встроенных подпрограмм, а также собственного инструментария Zebra, описание к которому представлено в разделе «Руководство по API». $zebra_bp — Включить подпрограмму в список конверторов. Включает процедуру в список, доступный для выбора при форматировании страниц Zebra Site (см. «Работа с Zebra Site. Редактирование страницы», «Работа с Zebra Site. Схемы форматирования»). $zebra_bp — Включить в группу старт-запуска. Включает процедуру в список процедур, запускаемых при старте сеанса Zebra. $zebra_bp — Включить в группу пост-запуска. Аналогично предыдущему, но перед завершением сеанса. $zebra_bp — Процедура использует ресурсы Zebra. Параметр процедуры, используемый при режиме прегенерации сайта. В этом режиме процедуры записываются в отдельные cgi-файлы и исполняются посредством SSI-инструкций. Данный параметр сообщает прегенератору, что процедуру необходимо запускать в режиме Zebra-included, поскольку она использует внутренние ресурсы Zebra («Всегда»); либо вывести в отдельный cgi-скрипт и выполнять независимо («Не использует»), если процедура не использует неявным образом никакие модули Zebra, записи, прочие процедуры, предопределенные параметры и базы данных. Кроме того, если процедура генерирует всегда один и тот же контент для страницы, зависящий только от страницы, целесообразно выбрать пункт «Однократно», поскольку в таком случае этот контент будет внесен прямо в тело генерируемого ресурса, и ресурсоемких вызовов внешних или встроенных процедур производиться не будет. $zebra_bp Следующие параметры связаны с регулярностью выполнения данной процедуры. $zebra_bp — Метод регулярного вызова. Подробнее о формате данного параметра см. «Запуск регулярных процедур». $zebra_bp — Регулярность. Указываются параметры сроков запуска процедуры. Формат строки полностью аналогичен описанной немного ранее. $zebra_bp В числе активных кнопок данной формы есть кнопка «Тест», которой можно воспользоваться для тестирования написанной процедуры. Некорректно написанная процедура будет распознана, описание ошибки отобразится в строке статистики. Для тестирования процедуры ее предварительное сохранение не требуется.
    $zebra_bp 2.3. Регулярные процедуры
    $zebra_bp Регулярные процедуры — в нашем случае подпрограммы, запускаемые в соответствии с некоторым заданным расписанием. $zebra_bp Zebra может работать с двумя вариантами таких процедур: вызываемыми посредством штатных средств Zebra и запускаемыми при помощи Cron. Cron — системная программа в Unix-подобных ОС, позволяющая автоматизировать запуск заранее заданных программ в установленное время. Далеко не все платные провайдеры разрешают использовать своим клиентам Cron, не говоря уже о бесплатных. Поэтому, хотя Cron в случае регулярных процедур предпочтительнее, однако может быть недоступен, а значит, придется использовать штатное выполнение. (Для операционных систем семейства Windows выбора, увы, нет вообще, доступен только первый режим.) Штатное выполнение регулярных процедур инициируется после завершения всех операций по обработке и возврату пользователю запрошенной информации. $zebra_bp В свойствах процедуры можно определить режим, в котором будет запускаться подпрограмма, назначить его либо только на Cron, либо только на Zebra. Либо на оба варианта, но вообще старайтесь снизить нагрузку системы. Zebra максимально оптимизируется по системным требованиям, однако в ваших силах свести на нет все наши старания. $zebra_bp Формат расписания запуска процедуры подробно описан в главе «Параметры подпрограмм». $zebra_bp Для выполнения процедур, специфицированных к запуску посредством Zebra, не требуется никаких дополнительных усилий. Zebra сама рассматривает их наличие и при сходимости условий выполняет. В случае использования Cron ситуация немного усложняется. $zebra_bp В поставку Zebra входит модуль Zebra Cron (zcron.cgi), вызов которого необходимо определить в параметрах системного Cron с нужной вам периодичностью. При достаточном уровне прав это может сделать сама Zebra, однако такое не всегда возможно, и в таком случае потребуются умелые действия администратора с правами суперпользователя.
    $zebra_bp 3. Пользователи
    $zebra_bp В конце концов, практически любой мало-мальски опытный вебмастер приходит к выводу, что с пользователями можно — и нужно — работать индивидуально. Однако вряд ли кто-то в состоянии себе хотя бы представить человека, способного ежедневно общаться с тысячью и более человек, помнить их имена, прозвища, более того — дни рожденья, адреса e-mail и Web-страниц, интересы и пристрастия... Даже если такие люди и возможны, их все равно не наберется столько, чтобы бесплатно обслуживать каждый из сотен тысяч web-сайтов, претендующих на персонализированную работу с клиентами. $zebra_bp В таких случаях на помощь приходят автоматизированные программные средства. В результате более или менее сложного взаимодействия комплекса программ, включающего в себя серверное программное обеспечение, браузер и прочие прибамбасы у пользователя, какие-то промежуточные шлюзы или firewall'ы, при условии некоторого соответствия принятым и общепринятым стандартам, эти средства способны в какой-то мере заменить такого гениального пророка и эйдетика. В какой-то мере — никоим образом не претендуя на полноту действий, ибо ни одна программа в мире не способна заменить живое человеческое внимание и общение. И тем не менее... $zebra_bp В Zebra включен пакет процедур, реализующих сохранение и восстановление, опознание и аутентификацию пользователя, а также предоставляющих ему возможность изменить некоторые параметры взаимодействия с сайтом в тех пределах, которые очертил администратор или редактор сайта. Кроме того, в состав Zebra входит модуль Zebra User, реализующий так называемый «Кабинет пользователя». Обязанности «кабинета» состоят в представлении информации о пользователе сайта в удобном для восприятия виде, осуществлении индивидуальной обратной связи, а также некоторых других мелких, но приятных вещей. $zebra_bp Изменение параметров пользователя доступно администратору через пункт «Пользователи» главного меню администрирования.
    $zebra_bp 3.1. Параметры настройки
    $zebra_bp Элементы. $zebra_bp — Регистрация пользователей в базе сайта. Включает механизмы регистрации. Это первичный переключатель, его положение влияет на все модули Zebra, способные регистрировать пользователей. Варианты: «Отключено» — регистрация без ведома администратора не производится; «Немедленная» — регистрация осуществляется сразу же, как только пользователь введет свои данные, и они будут проверены Zebra на предмет уникальности и валидности; «С верификацией» — метод, позволяющий «отсечь» недобросовестных пользователей от серьезных разделов сайта. При этом варианте регистрации создается временная запись, содержащая введенные пользователем данные, а по указанному адресу электронной почты высылается письмо со случайным ключом. Проследовав по указанной в письме ссылке, пользователь переводит свой аккаунт из потенциального в активный. $zebra_bp — — ожидание верификации, сут. Определяет максимальный срок (в сутках), в течение которого ожидается подтверждение регистрации пользователя. Если в течение этого срока верификация не будет осуществлена, запись удаляется. $zebra_bp — Генерировать сложный идентификатор пользователя. Как правило, при автоматической регистрации пользователя Zebra использует генерацию идентификатора из заданного имени, проводя некоторое его преобразование. Если рекомендовано генерировать сложны идентификатор, то он составляется преобразованием имени, объединенного с адресом e-mail. $zebra_bp — Запрашивать подтверждение изменения адреса E-mail. Возможны случаи, когда пользователь меняет активный адрес электроной почты, что приводит к необходимости изменить соответствующую запись в его параметрах на сайте. Такая возможность предоставляется. Однако для пресечения недобросовестных действий на такое изменение отправляется запрос подтверждения, и создается временная запись об изменении. Если в течение обозначенного пунктом «Ожидание верификации» срока подтверждение будет получено, изменение задействуется. В противном случае адрес останется неизменным. $zebra_bp — Пресекать многократные регистрации. Возможно установить ограничение на регистрацию нескольких аккаунтов от одного и того же пользователя. Кроме того, настраиваются способы такого ограничения: $zebra_bp — — отслеживать по имени. Предписывает системе регистрации следить, чтобы новые пользователи не могли зарегистрироваться под именем, которое уже использует один из зарегистрированных пользователей. $zebra_bp — — отслеживать по адресу e-mail. Предписывает системе регистрации следить, чтобы на один адрес e-mail было зарегистрировано не более одного аккаунта. $zebra_bp — — отслеживать по IP-адресу. Предписывает системе регистрации пресекать повторные регистрации пользователей, имеющих IP-адреса, уже отмеченные в системе. Данное ограничение представляется весьма спорным, поскольку у провайдеров удаленного доступа один и тот же IP-адрес в разное время могут иметь совершенно разные пользователи. $zebra_bp — Опознавать пользователя по cookie. Наиболее приоритетный механизм опознания пользователя у Zebra — анализ значения cookie, переданного браузером. Zebra воспринимает единственное значение cookie, содержащее в себе идентификатор (правда, для модулей это значение может варьироваться во имя осуществления дополнительного разделения ресурсов). Все данные пользователя, отвечающие такому-то идентификатору, хранятся в базе (базах) пользователей Zebra, а потому утеряны быть не могут. Опознание через cookie, если оно включено, имеет высший приоритет. $zebra_bp Примечание. Некоторые модули могут реализовывать собственную систему хранения данных и взаимодействия с пользователем. В таком случае следует придерживаться рекомендаций, предлагаемых этими модулями. $zebra_bp — Опознавать пользователя по IP. Более низкий приоритет имеет опознание пользователя по IP-адресу. Для каждого пользователя регистрируется IP-адрес, с которого он в последний раз был опознан на сайте. Если невозможно определить пользователя по cookie (мало ли что — например, переустановил систему, в результате все cookie утратились для грядущих поколений), это производится сравнением IP-адресов. $zebra_bp — — учитывать proxy. Данный параметр рекомендует при обнаружении двойного IP-адреса (что возможно у пользователя, приходящего на сайт через proxy-сервер) сохранять IP-адрес как комбинацию этих двух. Это существенно повышает гарантию идентификации клиента. $zebra_bp — Таймаут уникального посещения, с. Если от пользователя поступит новый запрос спустя срок, меньший, нежели указанный, то такое посещение не будет считаться новым. $zebra_bp — Реиндексировать соответствия. Сервисная регулярная процедура, связанная с реиндексацией соответствий зарегистрированных пользователей их IP-адресам и адреса электронной почты. По этим соответствиям производятся основные процедуры опознания посетителей. $zebra_bp — — расписание реиндексирования. Устанавливается расписание, согласно которому будет проводиться реиндексирование соответствий. $zebra_bp — Аутентификация. Zebra предоставляет возможность различных способов запроса логина и пароля от пользователя, если такое потребуется для каких-то нужд. Предусмотрены запросы обычной html-формой и специальным окном браузера наподобие серверной аутентификации. $zebra_bp — Включить ограничение доступа по IP-адресу. Позволяет ограничить доступ к ресурсам сайта по указанным IP-адресам. При этом в списке адресов воспринимаются шаблоны, например, при указании фрагмента адреса 196.154.122 будут отключены все адреса, начинающиеся на 196.154.122. $zebra_bp — Включить ограничение доступа по адресу e-mail. Позволяет ограничить доступ к ресурсам сайта по указанным адресам электронной почты.
    $zebra_bp 3.2. Параметры пользователя
    $zebra_bp Отличие страницы параметров пользователя от всех других страниц администрирования заключается в нефиксированном количестве параметров, предлагаемых для изменения. То есть их количество может изменяться, подчиняясь требованиям новых или старых модулей. Ниже описаны элементы, присутствие которых обязательно для корректного функционирования некоторых служб Zebra. $zebra_bp — Идентификатор. Идентификатор пользователя генерируется из его имени путем некоторых преобразований и приведений к общему знаменателю. В зависимости от неких установок может быть сгенерирован сложный идентификатор с использованием имени и адреса e-mail. Идентификатор генерируется автоматически, передается пользователю посредством cookie, и в дальнейшем однозначно сопоставляется прочим характеристикам пользователя в базе. $zebra_bp — Имя. Реальное имя или псевдоним пользователя, под которым он представляется остальным пользователям сайта при возможном общении. $zebra_bp — Адрес e-mail. При дальнейшем использовании адрес модифицируется с учетом изъятия неформатных символов, заведомо не используемых при организации адресов электронной почты. Такая фильтрация ввода осуществляется в целях обеспечения безопасности сайта. $zebra_bp — Пароль. Некоторые проблемы генерации пароля описаны в главе «Лица». $zebra_bp — Язык, профиль. Установки пользователя по умолчанию, на которые в первую очередь будет ориентироваться Zebra при выборе параметров (см. «Ядро. Разделение ресурсов»). $zebra_bp — IP-адрес. Последний зарегистрированный IP-адрес, с которого пользователь явился на сайт. $zebra_bp — Дата регистрации. Дата регистрации пользователя в системе. $zebra_bp — Дата последнего посещения. Дата последнего зарегистрированного появления пользователя на сайте.
    $zebra_bp 3.3. Пользовательские формы
    $zebra_bp Для взаимодействия с пользователем на сайтах часто применяют всевозможные опросы, анкеты, голосования и т.д. Организуются такие вещи при помощи форм, в которых посетитель сайта может впечатать свое мнение, указать жизненные интересы или еще как-то обозначить свою позицию в мире. $zebra_bp В Zebra предусмотрена особая обработка форм, составленных в соответствии с некоторыми правилами Zebra, рассмотренными ниже. $zebra_bp Элементы форм в формах Zebra могут быть заданы несколькими способами: посредством мнемонических идентификаторов, мнемонического сборника $useroptions, в явной форме. При открытии раздела «Пользовательские формы» предлагается изменить или добавить мнемонические идентификаторы. $zebra_bp Мнемонический идентификатор — обычный идентификатор Zebra, сопоставленный параметру формы, и охарактеризованный в Zebra некоторыми свойствами. Основной признак параметра — тип. Параметры могут быть нескольких типов: $zebra_bp — Комментарий — выводится текстовая информация, заданная администратором; $zebra_bp — Текст — поле ввода типа text; $zebra_bp — Пароль — поле ввода типа password, в нем вводимые символы обычно отображаются звездочками; $zebra_bp — Регион — поле ввода типа textarea; $zebra_bp — Информация — некоторая информация о пользователе (registerdate — дата регистрации пользователя, lastdate — дата последнего посещения); $zebra_bp — Выпадающее меню — выпадающее меню типа select; $zebra_bp — Внутреннее меню — выпадающее меню типа select, образованное с использованием системных значений Zebra. $zebra_bp Для каждого типа характерна своя конфигурация параметра.
    $zebra_bp Комментарий $zebra_bp Значение. Текст комментария.
    $zebra_bp Текст $zebra_bp Ширина поля. Ширина текстового поля ввода (атрибут size). $zebra_bp Требовать заполнение. Если параметр включен, то при получении данных заполненной посетителем формы Zebra проверяет, указано значение параметра или нет, и если нет, то форма выдается повторно с требованием ввести значение. $zebra_bp Комментарий. Вводится комментарий к параметру, который может быть приведен непосредственно рядом с полем ввода.
    $zebra_bp Пароль $zebra_bp Параметры поля аналогичны полю Текст.
    $zebra_bp Регион $zebra_bp Высота и ширина. Значения, определяющие размер региона, соответствуют атрибутам тега textarea: высота (в строках) — rows, ширина (в символах) — cols.
    $zebra_bp Выпадающее меню $zebra_bp Значения. Список, формирующий выпадающее меню, записанный в формате: option1=value1|option2=value2|...|optionN=valueN, здесь optionX — значение поля типа select, которое будет передаваться на сервер, valueX — текст, сопоставляемый в выпадающем меню этому значению.
    $zebra_bp Внутреннее меню $zebra_bp Список системных значений. Системный список типа select, определяемый самой Zebra. Возможен выбор из двух вариантов: Список языков и Список профилей.
    $zebra_bp Элементы $zebra_bp Пользовательские формы служат для предоставления посетителю сайта возможности передать на сервер некоторую информацию. Zebra предоставляет собственный инструментарий для обработки форм, при этом может самостоятельно учитывать наличие обязательных полей в отправленных данных, сохранять, а затем восстанавливать указанные значения индивидуально для каждого пользователя. Однако для правильного функционирования этого механизма необходимо составить форму с соблюдением некоторых правил. В общем случае рекомендуется в качестве образца использовать формы, с начала времен присутствующие в Zebra (system, forum_options). $zebra_bp Идентификатор. Уникальный идентификатор формы. Может также служить для ее внедрения в страницу. Форму можно внедрить несколькими способами:

    %userform{FORMID}userform%
    %embed{userform;FORMID}embed%
    Здесь FORMID — идентификатор. $zebra_bp Название. Название формы, под которым она будет отображаться в администрировании. $zebra_bp Содержимое. Собственно тело формы, должно быть составлено в соответствии с обычными правилами составления описаний страниц Zebra. Однако формы обрабатываются особо, поскольку подразумевают установку полей форм. $zebra_bp Поля формы, соответствующие определенным в начале раздела администрирования «Пользовательские формы» параметрам, внедряются в форму посредством мнемонических идентификаторов. Часть из них должна обязательно быть определена в конфигурации Zebra для корректного функционирования, часть пользователь может настроить самостоятельно. В целом, системные пользовательские параметры Zebra определяются идентификатором из трех-пяти символов, начинающихся с буквы z. Все остальные идентификаторы считаются дополнительными (в том числе установленные модулями расширения). $zebra_bp Некоторые из системных идентификаторов Zebra: $zebra_bp — $znm — (zName) имя пользователя на сайте; $zebra_bp — $zem — (zEMail) адрес электронной почты пользователя; $zebra_bp — $zpw — (zPassWord) пароль пользователя; $zebra_bp — $zlc — (zLoCale) локаль (язык интерфейса), выбранная пользователем как приоритетная; $zebra_bp — $zpr — (zPRofile) профиль, выбранный пользователем как приоритетный; $zebra_bp — $zct — (zCiTy) населенный пункт, указанный посетителем в качестве своего места проживания (или рождения); $zebra_bp — $zpn — (zPhoNe) номер телефона; $zebra_bp — $zad — (zADdress) физический адрес; $zebra_bp — $zlk — (zLinK) адрес личного сайта пользователя; $zebra_bp и так далее. $zebra_bp Кроме того, для обработки результатов встроенными средствами Zebra обязательно наличие одного из нескольких параметров: $zebra_bp — ненулевое значение параметра saveuser, предписывающее Zebra задействовать систему верификации и сохранения полученных данных, например: <input type="submit" name="saveuser" value="Сохранить">; $zebra_bp — ненулевое значение параметра edituser, предписывающее Zebra сгенерировать форму с установкой в нее сохраненных ранее параметров, соответствующих этому посетителю, например: <input type="submit" name="edituser" value="Редактировать">; $zebra_bp — ненулевое значение параметра authorize, предписывающее Zebra задействовать систему аутентификации пользователя, при этом обязательно наличие полей login и password, например: <input type="hidden" name="authorize" value="1">. $zebra_bp Также рекомендуется указание ключа $locpro, ответственного за наследование установок текущего языка и профиля. $zebra_bp Список параметров. В форме можно явным образом перечислить внедряемые параметры, а можно указать кумулятор $useroptions, который будет подразумевать подстановку сразу ряда параметров, перечисленных в данном пункте. В перечислении следует указать мнемонические идентификаторы параметров. $zebra_bp Шаблон параметра. Поля формы генерируются по некоторому шаблону, составленному согласно обычным правилам Zebra. В этом шаблоне обязательно должны присутствовать следующие специальные ключи: $zebra_bp — $name, для установления наименования параметра; $zebra_bp — $value, для установления в качестве начального значения поля сохраненного значения параметра; $zebra_bp Дополнительные ключи, обрабатываемые при генерации поля: $zebra_bp — $required, устанавливается в значение 1, если данный параметр является обязательным для заполнения; $zebra_bp — $info, содержит в себе комментарий к параметру. $zebra_bp Помимо мнемонического указания полей, допустимо явным образом указать их в теле формы. Для этого применяется следующая форма записи атрибута name в поле:
    Xopt_MNEMONIC
    Здесь X — признак обязательности заполнения данного поля, может принимать два значения: u — необязательное и n — обязательное; MNEMONIC — мнемонический идентификатор параметра. При явном указании поля формы «Шаблон параметра» не используется.
    $zebra_bp 4. ЧПУ
    $zebra_bp Реальные пути к ресурсам в Zebra могут оказаться очень заковыристыми. Во-первых, необходимо для вызова самой Zebra как минимум ввести полный путь к исполнимому файлу программы, например:
    http://www.yourhost.com/cgi-bin/zs.cgi
    И это только в самом простом случае, а если Zebra кроется в глубинах сервера? Да и кто сможет сразу запомнить, что за отображение ресурсов отвечает модуль zs.cgi, за форумные проблемы — zf.cgi, а другие не менее важные задачи выполняют еще какие-то иные модули? $zebra_bp Далее, для получения конкретного ресурса, а не установленного по умолчанию, требуется указать параметры адресной строки, которые уж и вовсе никто запоминать не будет. Ибо не фиг. $zebra_bp Конечно, процент людей, вручную набирающих адрес ресурса в адресной строке браузера очень мал, обычно посетители приходят по ссылкам с других сайтов либо пользуясь закладками. Однако и в этом случае прилично оформленный адрес не будет лишним, поскольку способствует имиджу аккуратности и изящества сайта. $zebra_bp Такое явление — сопоставление фиктивных, но лаконичных и интуитивных адресов реальным длинным неудобоваримым композициям называется «ЧПУ», что значит «человеко-понятный урл». Zebra поддерживает два способа ведения ЧПУ.
    $zebra_bp Параметры $zebra_bp Адресация ЧПУ. Если выбрать «Включить», то ЧПУ будет настраиваться на уровне конфигурации сервера. Функционирует только в том случае, если сервером является Apache, при этом в общей конфигурации сервера допускается изменение необходимых величин пользователем «под себя». Вариант «Эмулировать» функционирует, только если на сервере разрешено выполнение SSI. В таком случае Zebra создает разветвленную структуру каталогов, соответствующую элементам ЧПУ, в которых организует прозрачный вызов соответствующих модулей. $zebra_bp Страница при отсутствии соответствий. Выбирается один из трех вариантов выводимых страниц, если запрошенный ресурс отсутствует.
    $zebra_bp Элементы $zebra_bp Указатель. Виртуальный адрес на сервере, который будет сопоставляться элементу ЧПУ. Например, для эмулируемого пути:
    http://www.yourhost.com/internal/variable/
    указатель будет выглядеть:
    /internal/variable
    Завершающий слэш не нужен. $zebra_bp Ссылка-псевдоним. В описаниях Zebra применяются универсальные ссылки, особо обрабатываемые при рендеринге конечного контента (см. «Работа с Zebra Site. Ссылка»). При указании ссылки-псевдонима и совпадении ее значения с универсальной ссылкой будет подставляться соответствующий указатель ЧПУ. Соответственно, не должно быть одинаковых ссылок-псевдонимов для разных ЧПУ, поскольку это приведет к потере одного из них. Отметим также, что в ссылке-псевдониме слеши допускаются только внутри ссылки, но не в начале и не в конце. Ну и, наконец, данный параметр может быть не указан. $zebra_bp Реальный адрес. То, на что реально направляет указатель ЧПУ. Это может быть как обычная ссылка (на внутренний или внешний ресурс), так и вызов Zebra с заранее установленными параметрами. При вызове Zebra путь к модулям можно опускать, например:
    zs.cgi?p=zebra/manipulations&l=ru
    zf.cgi?fid=wtg/support&style=tree&mpp=100
    $zebra_bp Комментарий. Можно ввести комментарий к указателю. Функциональной нагрузки он не несет. $zebra_bp Маскировать. В случае реализации ЧПУ через переконфигурирование сервера существует два варианта действия ЧПУ: обязательным редиректом на реальный адрес (маскировать — нет) и прозрачным парсингом (максировать — да) по запросу. В первом случае Zebra вернет браузеру реальный адрес, по которому тот сделает новый запрос. Во втором случае управление будет немедленно передано модулю, отвечающему за обработку запроса, и браузеру сразу вернется конечный результат. Недостаток второго варианта в том, что велика вероятность некорректной обработки запроса. $endbodyчи упомянуты, подлежат обязательной подстановке (если, разумеется, такая запись существует). $zebra_bp Создание или редактирование записей — штука исключительно простая. Достаточно зайти в раздел администрирования основного меню «Записи», затем выбрать запись на редактирование или добавление. При этом существенны установки языка и профиля. Обращаем ваше внимание на то, что выбор записи при рендеринге страницы осуществляется согласно установленному порядку поиска (см. «Разделение ресурсов»). $zebra_bp При соответствующих настройках вы можете видеть сводную таблицу зарегистрированных записей, в которой указывается идентификатор записи (коим оная запись должна отмечаться при ее упоминании; правила наименования записей отвечают пункту «Наименования»), комментарий, а также размер. $zebra_bp Записи можно распределить по группам. Явное создание групп не предусмотрено, группы добавляются автоматически, если в идентификаторе записи присутствует разделитель _. Тогда часть идентификатора, идущая до разделителя, принимается за идентификатор группы. Например, если создается запись с идентификатором testgroup_teststring, то Zebra полагает, что это запись teststring в группе testgroup, и делает соответствующие изменения. При этом для корректного рендеринга необходимо указать полный идентификатор записи (существуют особые случаи, подробнее см. «Работа с Zebra Site. Описание страницы»). Многоуровневая вложенность групп не предусмотрена, записи можно распределить по группам в глубину только на один уровень. $zebra_bp Примечания. 1. Создание новой записи на базе уже существующей можно осуществить простым заданием нового идентификатора (как и во многих других разделах администрации Zebra, хотя есть и особые случаи). 2. Обратите особое внимание на недопустимость саморекурсии записи. Хотя Zebra поддерживает практически неограниченную вложенность записей, процедур, ключей и т. д., опасайтесь получить ссылку внутри записи на саму себя, поскольку в таком случае произойдет зацикливание рендеринга, и генерация страницы будет прервана по таймауту, а клиент ничего не получит. $zebra_bp Существуют некоторые заранее зарезервированные записи Zebra. Их изменять либо не рекомендуется, либо допускается, но оч-чень, оч-чень осторожно. Эти записи расположены в группе Zebra. $zebra_bp В процессе эксплуатации Zebra возможны сбои, в результате которых происходит утеря некоторых данных, в том числе — кумуляторов (списков) записей, по которым происходит верификация интерполируемой записи. Для таких случаев предусмотрена процедура регенерации кумуляторов, вызываемая кнопкой «Восстановить». Обратите внимание, что в прочих разделах администрирования также может присутствовать такая кнопка, и выполняет она схожую функцию.
    $zebra_bp 2. Подпрограммы
    $zebra_bp Некоторые параметры Zebra могут быть определены в виде обычного программного кода на языке Perl, являющемся базовым языком Zebra. При известной сноровке и квалификации вполне реально воспользоваться и другими языками, особенно если это касается внешне-запускаемых программ. Тем не менее, разработчики рекомендуют при необходимости придерживаться Perl. Достаточно подробная документация по интерфейсу программирования для Zebra приведена в разделе «Руководство по API». $zebra_bp Частично информация об использовании подпрограмм в Zebra изложена в главе «Работа с Zebra Site. Процедура». Здесь же более пристально рассматривается поддержка процедур ядром Zebra, а также определение произвольных регулярных действий.
    $zebra_bp 2.1. Параметры
    $zebra_bp Элементы. $zebra_bp — Выполнять регулярные процедуры. Разрешает выполнение процедур по расписанию. Или запрещает их. При разрешении Zebra пытается установить в очередь системного Cron запуск модуля Zebra Cron, который осуществляет все манипуляции, необходимые для выполнения процедур. Если Zebra не удается это сделать, пользователю рекомендуется командная строка для явного запуска. $zebra_bp — Частота сканирования регулярностей, раз/час. Параметр устанавливает частоту, с которой Zebra Cron будет запускаться посредством системного Cron. Эта частота является определяющей, никакие другие события Zebra, назначенные для выполнения через Zebra Cron, не могут выполняться чаще определенной глобальной частоты. Любые регулярности, подразумевающие большую частоту, будут сводиться к данной. Величину рекомендуется задавать целочисленную, в пределах 1-60. При значении 1 выполнение производится один раз в час, при значении 60 — 60 раз в час, т. е. каждую минуту. По умолчанию устанавливается значение 1. $zebra_bp — Выполнять сервисные процедуры. В Zebra имеется несколько специальных процедур, предполагаемых к периодическому обязательному применению, таких как, например, упаковка или рез $h„Д ¤ иИЁ€hот одного и того же пользователя. Кроме того, настраиваются способы такого ограничения: $zebra_bp — — отслеживать по имени. Предписывает системе регистрации следить, чтобы новые пользователи не могли зарегистрироваться под именем, которое уже использует один из зарегистрированных пользователей. $zebra_bp — — отслеживать по адресу e-mail. Предписывает системе регистрации следить, чтобы на один адрес e-mail было зарегистрировано не более одного аккаунта. $zebra_bp — — отслеживать по IP-адресу. Предписывает системе регистрации пресекать повторные регистрации пользователей, имеющих IP-адреса, уже отмеченные в системе. Данное ограничение представляется весьма спорным, поскольку у провайдеров удаленного доступа один и тот же IP-адрес в разное время могут иметь совершенно разные пользователи. $zebra_bp — Опознавать пользователя по cookie. Наиболее приоритетный механизм опознания пользователя у Zebra — анализ значения cookie, переданного браузером. Zebra воспринимает единственное значение aru_zebra/zs8ќЖент aru_zebra/zoo7 э aru_zebra/zf%&9ся aru_zebra/web"ІNел¤aru_zebra/todo $begbody $zebra_bp Zebra — многофункциональное приложение. Спектр задач, которые она может выполнять, крайне широк. Вместе с тем, известен тезис, что, чем больше программа, тем больше в ней ошибок. И даже если крайне тщательно разрабатывать продукт, затратить несколько лет на вычищение кода, воспользоваться услугами сотен тестеров, все равно останутся ошибки, обусловленные самыми разными причинами, среди которых есть даже ошибки не самой программы, а особенности ее использования или недостатки операционной системы. Все то, что, однако, сказывается на корректности работы программного продукта. По этой причине Zebra принципиально не может быть лишена ошибок. $zebra_bp Основным пунктом в планах WTG относительно развития Zebra является именно выработка и устранение ошибок. Некоторые наиболее явные недостатки текущей версии будут публиковаться здесь. Мы придаем большое значение работоспособности Zebra на любых платформах (несмотря на то, что главная ставка делается на связку Linux[Unix,FreeBSD]/Apache) и при любых конфигурациях, поэтому найденные и потенциальные ошибки будут отслеживаться в первую очередь. $zebra_bp Вторым пунктом отметим внесение дополнительной функциональности в уже существующие компоненты Zebra. Мир не стоит на месте, он развивается, чуть ли не каждый день появляются новые идеи и технологии. Zebra развивается вместе с ними, и многие свежие взгляды на отрасль, в которой она позиционируется, должны найти отражение в новых версиях. $zebra_bp И, в-третьих, Zebra подразумевает появление новых компонентов, модулей и объектов, приносящих разнообразие в мир сайта, наполняющих его жизнью — виртуальной и реальной. $endbodyрaru_zebra/tech!cв¦aru_zebra/support $begbody $zebra_bp Техническая поддержка программного продукта WTG Zebra осуществляется: $zebra_bp — по электронной почте; $zebra_bp — на форуме поддержки; $zebra_bp — посредством ведения сборника FAQ. $zebra_bp Техническая поддержка осуществляется в первую очередь в соответствии с условиями лицензионного соглашения и приобретенного варианта Zebra. Кроме того, следует оформлять вопросы следующим образом: $zebra_bp — указать имя (или название, если это организация) владельца комплекта Zebra; $zebra_bp — указать версию Zebra и используемых ею библиотек (отображаются в главном меню администрирования); $zebra_bp — указать операционную систему и программное обеспечение сервера, на котором работает Zebra; желательно указать комплектацию и версию Perl; $zebra_bp — если запрос делается по электронной почте, сообщить регистрационный ключ; $zebra_bp — подробно описать условия, при которых проявилась ошибка, а также привести весь текст, возвращенный сервером при ней; желательно также процитировать протокол событий сервера (например, фрагмент файла error_log веб-сервера Apache на вашем сайте, относящийся ко времени ошибки); $zebra_bp — если есть, перечислить какие-то дополнительные условия, события или пожелания. $zebra_bp WTG оставляет за собой право не отвечать на вопросы, не содержащие вышеуказанной информации, не соответствующие условиям лицензионного соглашения или уже рассмотренные в FAQ. $endbodyZ aru_zebra/requirements $begbody $zebra_bp Для успешного функционирования Zebra на сервере вашего хостинга оптимальным является следующий набор условий:
    • операционная система класса Unix (Linux, FreeBSD, Solaris и т. д.; Zebra оптимизируется большей частью под эти системы, поскольку они являются наиболее распространенными; под Windows 9x/Me/NT/2000/XP и другими ОС некоторые функции Zebra могут не работать или функционировать не совсем корректно);
    • web-сервер Apache любой версии (Zebra может работать и под любым другим web-сервером, однако потребуется учесть конкретную специфику такого сервера);
    • имеется возможность выполнения программ на языке Perl версии не ниже 5.005;
    • разрешено выполнение cgi-скриптов;
    • в Perl установлен модуль CGI;
    • в Perl имеется и разрешена работа с базами данных формата Berkeley DB (реализация DB_File);
    • в системе имеется и доступен один из поддерживаемых Zebra интерфейсов удаленного доступа по протоколу TCP (IO::Socket из Perl или lib-wwwperl, он же LWP);
    • в системе имеется и доступен один из поддерживаемых Zebra клиентских почтовых интерфейсов (sendmail, mail, пакет IO::Socket из Perl);
    • включенный SSI (Server-Side Includes) для успешного парсинга SSI-включений;
    • имеется и доступна установка запуска событий по расписанию (crontab под *nix);
    • telnet- или ssh-доступ на сервер для настройки и отслеживания отдельных событий.
    $zebra_bp Обязательными условиями функционирования Zebra являются следующие:
    • имеется возможность выполнения программ на языке Perl версии не ниже 5.005;
    • разрешено выполнение cgi-скриптов;
    • в Perl установлен модуль CGI (как правило, устанавливается по умолчанию вместе с самим перлом, начиная с версии 5.003);
    • в Perl имеется и разрешена работа с базами данных формата Berkeley DB (реализация DB_File); как правило, в Unix-подобных системах поддержка DB_File имеется в стандартной поставке, а для Windows, возможно, придется ставить ее специально;
    $zebra_bp Кроме того, рекомендуется (но не обязательно) наличие следующих условий:
    • включенный SSI (Server-Side Includes) для успешного парсинга SSI-включений (играет не последнюю роль при организации удобной навигации по сайту);
    • пакеты, реализующие удаленные доступы по различным протоколам — LWP, IO::Socket из поставки Perl, либо системные sendmail или mail для взаимодействия с почтовыми серверами;
    • возможность настройки crontab (под *nix) для периодического запуска обработчика событий.
    $zebra_bp При выполнении этих условий комплекс WTG Zebra будет успешно работать в рамках, очерченных пунктом «Лицензионное соглашение» данного документа. При существовании каких-то ограничений возможно неполное либо полное нефункционирование Zebra. Также вероятны отдельные просчеты, недоработки и недоделки со стороны разработчиков, связанные с фактической невозможностью выявить все критические ситуации, возникающие на практике. В таких случаях свяжитесь с разработчиками, возможно, ваша проблема разрешима. Техническая поддержка, как правило, осуществляется в рамках, очерченных все тем же «Лицензионным соглашением», однако все мы люди — кто знает, что придет в голову в следующий момент... $endbodyаме! $begbody $zebra_bp Технические руководства по работе с Zebra содержат в довольно подробной форме описание элементов и разделов администрирования, внешних модулей, а также рекомендуемые приемы работы с Zebra для достижения наилучшего эффекта. Логически основное содержание технических руководств делится на несколько частей. $zebra_bp «Ядро» — раздел об основных настройках и установках Zebra, влияющих на всю ее дальнейшую жизнь. $zebra_bp «Управление данными» — раздел, рассказывающий о том, как создавать и применять записи, ссылки, процедуры и прочие сущности, свойственные развитым страницам Zebra. $zebra_bp «Работа с Zebra Site» — полное описание модуля Zebra Site. $zebra_bp «Работа с Zebra Forum» — полное описание модуля Zebra Forum. $zebra_bp «FAQ» — наиболее часто встречающиеся затруднения, вопросы и проблемы, а также ответы на них и пути решения. $zebra_bp «Руководство по API» — рассмотрение некоторых вопросов, связанных с внутренним строением и организацией Zebra, описание форматов файлов и некоторые другие тонкие моменты.
    $zebra_bp Ядро $zebra_bp 1. Разделение ресурсов $zebra_bp 2. Наименования $zebra_bp 3. Настройки и установки $zebra_bp 3.1. Навигация $zebra_bp 3.2. Основные параметры $zebra_bp 3.3. Дизайн $zebra_bp 3.4. Профили $zebra_bp 3.5. Администраторы $zebra_bp 3.5.1. Элементы $zebra_bp 3.5.2. Лица $zebra_bp 3.7. Резервирование и обновление $zebra_bp 3.8. Сетевые параметры $zebra_bp 3.9. Параметры АС $zebra_bp 3.10. Параметры индексации $zebra_bp 3.11. События $zebra_bp 3.12. О Zebra $zebra_bp 3.13. Системные параметры $zebra_bp 4. Основной список int
    $zebra_bp Управление данными $zebra_bp 1. Записи $zebra_bp 2. Подпрограммы $zebra_bp 2.1. Параметры $zebra_bp 2.2. Редактирование процедур $zebra_bp 2.3. Регулярные процедуры $zebra_bp 3. Пользователи $zebra_bp 3.1. Параметры настройки $zebra_bp 3.2. Параметры пользователя $zebra_bp 4. ЧПУ
    $zebra_bp Работа с Zebra Site $zebra_bp 1. Внешняя работа с Zebra Site $zebra_bp 2. Внутренняя работа с Zebra Site (администрация) $zebra_bp 2.1. Параметры $zebra_bp 2.1.2. Описание активации $zebra_bp 2.1.3. Описание аутентификации $zebra_bp 2.2. Редактирование страниц $zebra_bp 2.2.1. Свойства групп $zebra_bp 2.2.2. Автоматическое деление больших страниц $zebra_bp 2.2.3. Выбор страницы $zebra_bp 2.2.4. Добавление страницы $zebra_bp 2.2.5. Редактирование страницы $zebra_bp 2.3. Автоматическое добавление $zebra_bp 2.4. Схемы форматирования $zebra_bp 2.5. Описание страницы $zebra_bp 2.5.1. Процедура $zebra_bp 2.5.2. Ссылка $zebra_bp 2.5.3. Запись $zebra_bp 2.5.4. Условная инструкция $zebra_bp 2.5.5. Ключ
    $zebra_bp Работа с Zebra Forum $zebra_bp 1. Внешняя работа с Zebra Forum $zebra_bp 1.1. Индексная страница форума $zebra_bp 1.2. Просмотр постера $zebra_bp 1.3. Создание постера $zebra_bp 1.4. Написание ответа на постер $zebra_bp 1.5. Присоединение к теме $zebra_bp 1.6. Сервисные режимы $zebra_bp 2. Внутренняя работа с Zebra Forum (администрация) $zebra_bp 2.1. Параметры форума $zebra_bp 2.2. Администраторы и модераторы $zebra_bp 2.3. Стили $zebra_bp 2.4. Параметры сервиса $zebra_bp 2.5. Модерирование $zebra_bp 2.5.1. Модерирование $zebra_bp 2.5.2. Параметры модерирования $zebra_bp 2.6. Импорт и экспорт $zebra_bp 2.6.1. Импорт форумов $zebra_bp 2.6.2. Резервирование и восстановление $zebra_bp 3. Сводная таблица ключевых слов списка int для Zebra Forum
    $zebra_bp FAQ $zebra_bp Восстановление параметров вывода статистики $zebra_bp Регистрация администратора в обход обычной процедуры $zebra_bp Локальное отключение вывода статистики $zebra_bp Локальное отключение разбиения на части $zebra_bp Локальное отключение автоматических стилей
    $zebra_bp Руководство по API $zebra_bp 1. API Zebra $zebra_bp 2. Формат файлов резерва $zebra_bp 2.1. Общий формат файлов резерва $zebra_bp 2.2. Формат файлов дампа АС $zebra_bp 2.3. Формат файлов резерва форумов $zebra_bp Encyclopaedia Zebra $zebra_bp     Добавление кодовых страниц $zebra_bp     Календарь $zebra_bp     Дополнительные индивидуальные свойства постеров в Zebra Forum $endbodyражение ресурсов отвечает модуль zs.cgi, за форумные проблемы — zf.cgi, а другие не менее важные задачи выполняют еще какие-то иные модули? $zebra_bp Далее, для получения конкретного ресурса, а не установленного по умолчанию, требуется указать параметры адресной строки, которые уж и вовсе никто запоминать не будет. Ибо не фиг. $zebra_bp Конечно, процент людей, вручную набирающих адрес ресурса в адресной строке браузера очень мал, обычно посетители приходят по ссылкам с других сайтов либо пользуясь закладками. Однако и в этом случае прилично оформленный адрес не будет лишним, поскольку способствует имиджу аккуратности и изящества сайта. $zebra_bp Такое явление — сопоставление фиктивных, но лаконичных и интуитивных адресов реальным длинным неудобоваримым композициям называется «ЧПУ», что значит «человеко-понятный урл». Zebra"# $begbody $zebra_bp Разработка сайта — задача непростая. Сайт должен удовлетворять массе явных и неявных требований, условий и традиций, а кроме того — просто нравиться посетителям. На сайт, который не понравился, второй раз вряд ли зайдут. Разве что на нем будет находиться исключительно важная и нужная информация. Но с развитием Интернета информация, появившаяся на одном сайте, едва ли не в мгновение ока разлетается по множеству других, и в течение нескольких дней ваш сайт уже перестает быть эксклюзивным владельцем сенсации. Ну, или примерно в таком духе. Во всяком случае, не будем подробно рассматривать условия и причины существования сайта в таком, а не ином виде, и приступим к выполнению другой задачи. $zebra_bp А именно — плотно разберемся в том, как следует создавать сайт для работы в среде Zebra.
    $zebra_bp 1. Основные этапы разработки
    $zebra_bp Как и любая другая задача, разработка сайта включает в себя несколько этапов: $zebra_bp — формулирование цели; $zebra_bp — поиск путей решения; $zebra_bp — проектирование; $zebra_bp — черновое выполнение задачи; $zebra_bp — доведение до конечного результата. $zebra_bp Цель мы уже сформулировали — разработать сайт, установить его на Zebra и запустить. Исходим из предположения, что на сервере уже установлена и стабильно работает Zebra, а дизайнер нарисовал внешний облик сайта. $zebra_bp Можно выделить два варианта проектирования сайта (о них уже упоминалось в предыдущих разделах): $zebra_bp — внесение готового или почти готового html-кода конечных ресурсов; этот вариант мало отличается от выкладывания обычных html-файлов и практически не использует функциональность Zebra; $zebra_bp — разработка описаний ресурсов в соответствии с правилами Zebra, применение динамических вставок, сборка конечных страниц в зависимости от языка, выбранного профиля и других условий; здесь функциональность Zebra используется на полную мощность и оправдывает ее выбор.
    $zebra_bp Рассмотрим далее проектирование, разработку и доработку сайта на конкретном примере. В качестве примера возьмем стандартную совокупность ресурсов, устанавливаемую вместе с Zebra.
    $zebra_bp 2. Проектирование
    $zebra_bp Следует с самого начала исходить из предположения о том, что сайтом будет заниматься не один человек, а как минимум трое: администратор, модератор (оператор) и редактор. Даже если все должности будет совмещать единый фанатик своего дела, раздельное проектирование обязанностей в дальнейшем может привести к гораздо более легкому управлению сайтом, особенно в том случае, если он разовьется в нечто большее, нежели домашняя страница. $zebra_bp Дизайн сайта необходимо полностью отделить от наполнения. Для этого можно выбрать, например, следующий путь. Выделяем логические элементы дизайна и закладываем их в «Записи». Если подразумевается динамика, которую можно формализовать (свести к зависимости от явно формируемых правил), можно реализовать ее в виде встроенной процедуры. Далее весь набор записей и процедур сводится в единые фрагменты $begbody и $endbody, размещаемые в начале и в конце описания страницы. Само наполнение — все тексты, которые по мере путешествия по сайту частично или полностью меняются, новости, форум — лучше всего расположить в ресурсах Zebra Site. Описания страниц в Zebra Site подчиняются общим правилам составления описаний Zebra (см. «Работа с Zebra Site. Описание страницы»), и наилучшим вариантом в данном случае будет являться нечто наподобие: $zebra_bp $begbody $zebra_bp ... здесь все тексты ресурса... $zebra_bp $endbody $zebra_bp Тогда редактирование сайта будет вполне очевидным, и его даже можно будет со временем переложить на плечи другого редактора. $zebra_bp При необходимости такой подход можно расширить, включив вставки в нужные места. Однако при редактировании потребуется следить, чтобы структура описания не оказалась нарушена. $zebra_bp В нашем примере установлена одна страница — индексная. Идентификатор index. Что означает, что эта страница используется Zebra и как страница по умолчанию. Ее содержимое (в сокращенном виде):

    
     $zebrainclude
     $begbody
     <tr width="100%"><th colspan="2" align="center">Начало</th></tr>
     <tr width="100%" valign="top"><td width="25%">
       <li><a href="http://www.wtg.ru/">White Tiger Group</a>
       <li><a href="http://www.wtg.ru/zebra/">Zebra</a>
       <li><a href="http://www.baraholka.ru/">Сетевая Барахолка</a>
       <li><a href="http://worldart.euro.ru/">WorldArt</a>
       <li><a href="http://www.wtg.ru/products/wtboard/">WTBoard</a>
       <li><a href="http://www.wtg.ru/products/dan/">DAN</a>
     </td>
     <td width="75%">
     
       Если вы видите перед собой эту страницу, и выглядит она
       вполне прилично, значит, вы успешно установили WTG Zebra на сервер. Возможно,
       в дальнейшем появятся некоторые странности. Не пугайтесь — скорее всего,
       они обусловлены конкретной настройкой вашего сервера. Мы работаем над тем,
       чтобы по возможности учесть <i>все</i> моменты, касающиеся отличий в разных
       системах и серверах.
     
       <p>WTG Zebra представляет собой комплексное программное
       решение, направленное на организацию, управление и поддержку сайта, и
       ориентированное на самых разных пользователей. Для начинающих Zebra
       предоставляет максимально удобные средства, готовые шаблоны и процедуры
       и подробную документацию, воспользовавшись которыми, можно в сжатые сроки
       реализовать немалый проект. Более опытные пользователи могут создавать
       собственные шаблоны и процедуры, доводя таким образом динамичность сайта до
       крайних пределов познания... Профессионалам, вероятно, интересно будет
       написание к Zebra собственных модулей, что позволит осуществить практически
       любые действия по наполнению и поддержке сайта.
     
       <p>WTG Zebra является разработкой творческой группы
       White Tiger Group. В числе наших успешно реализованных проектов также
       можно назвать сайты «Сетевая барахолка», «WorldArt»,
       программные продукты «WTBoard» и «DAN».
     
       <p>Данная начальная страница устанавливается
       по умолчанию на сайт сразу после инсталляции
       <a href="http://www.wtg.ru/zebra">Zebra</a>. В дальнейшем
       при разработке и создании других ресурсов сайта вы можете пользоваться шаблоном
       этой страницы. Пошаговое руководство можно найти в документации.
     
     </td></tr>
     $endbody
     
     <p><table border="0" cellpadding="0" cellspacing="0" width="100%">
     <tr valign="top"><td class="copy">
       <table border="0" cellpadding="0" cellspacing="1"
         bgcolor="#000000" style="background-color:#000000">
       <tr><td align="center" bgcolor="#ffffff" style="background-color:#ffffff">
         <font size="1" face="arial" color="#000000"
         style="font-family:tahoma,arial;text-decoration:none;font-weight:bold">Zebra
         © XXI</font></td>
       </tr>
       <tr>
         <td align="center" bgcolor="#000000"
         style="background-color:#000000"><a href="http://www.wtg.ru/"><font size="1"
         face="arial" color="#ffffff" style="font-family:tahoma,arial;text-decoration:none;
         font-weight:bold">White&nbsp;Tiger&nbsp;Group</font></a></td>
       </tr>
       </table>
     </td><td class="small">
       &nbsp;Программный продукт «WTG Zebra» является собственностью
       <a href="http://www.wtg.ru/">White Tiger Group</a>. Все авторские и смежные
       права закреплены за WTG.
     
       <br>&nbsp;«WTG Zebra» не является открытым проектом. Использование его
       подразумевает ваше соглас#$ие с «Лицензионным соглашением».
     </td></tr>
     </table>
     

    $zebra_bp При этом $begbody представляет из себя следующее описание:

    
     %#parsepage($page)#%
     <html>
       <head>
         <title>$title</title>
       </head>
     <body>
     $sample_style
     <table width="100%" border="0" cellpadding="1" cellspacing="1">
       <tr width="100%" valign="middle">
       <form name="mainmenu" action="$dircgi/$current" method="post">
         <th align="left" width="90%"> $title</th>
         <th align="right" width="10%" nowrap>$menudefault
           <input type="submit" name="go" value="Go"></th>
       </form></tr>
     </table>
     <div align="right"><small><b>Сейчас %#currentdate#%,
       это %#count('#site')#%-е посещение сайта.</b></small></div>
     $sample_headertable
     <p><table width="100%" border="0" cellpadding="5" cellspacing="1">
     

    и $endbody:

    
     </table>
     <p>
     $sample_footertable
     

    $zebra_bp В $begbody применяется вставка записи $sample_style, процедур %#parsepage#%, %#currentdate#% и %#count#%. $zebra_bp Запись $sample_style находится в группе записей Sample и определяет таблицы стилей, применяемые в нашем примере для задания оформления. Также в записи задается фрагмент JavaScript (переменные и функция bgc) для динамического изменения цветового оформления ресурсов сайта в соответствии с положением курсора мыши.

    
     <style><!--
       body {background-color:peachpuff;color:brown;
         font-family:Verdana,Tahoma,Arial;font-size:16px;margin-top:10px;
         margin-left:10px;margin-right:10px;margin-bottom:10px}
       h1 {color:brown}
       h2 {color:brown}
       a:link {color:brown;text-decoration:none}
       a:visited {color:#800000;text-decoration:none}
       a:active {color:#000000;text-decoration:none}
       a:hover {color:#880000}
       b {font-weight:bold}
       input {font-size:14px}
       select {font-size:14px}
       textarea {font-size:14px}
       table {font-size:14px;background-color:black}
       th {background-color:#FFC184;font-size:16px;color:black}
       td {background-color:cornsilk}
       small {font-size:11px}
       .small {font-size:11px}
       .border {background-color:black}
       .link {background-color:#FFC184}
       .button {background-color:cornsilk}
       .error {background-color:#AA4400;font-weight:bold;
         color:white;font-size:15px}
       .input {background-color:cornsilk;font-size:14px}
       .select {background-color:cornsilk;font-size:14px}
       .ainput {font-size:8px}
       .stat {font-size:10px}
       .linktable {background-color:cornsilk}
       .in {background-color:#FFC184}
       .out {background-color:peachpuff}
     //--></style>
     <script language=javascript><!-- //
       {
         c1='#FFC184';
         c2='peachpuff';
         c3='cornsilk'
       }
       function bgc(elm,n){elm.style.backgroundColor=n}
     //--></script>
     

    $zebra_bp Встроенная процедура currentdate возвращает текущие дату и время в соответствии с основным форматом даты Zebra (см. Ядро. Основные параметры). Возвращенная строка устанавливается взамен вызова этой процедуры. Сама процедура написана на Perl и использует окружение Zebra (см. «Руководство по API»).

    
     sub currentdate
     {
     	my($format)=@_;
     	local$int{date}=($format||'$dday $wmonth $fullyear, $wday, $hhour:$min');
     	return zs_stringdate(Zebra::unpacktime($curtime,\@days,\@months))
     }
     

    $zebra_bp Встроенная процедура count возвращает значение счетчика запросов для выбранного ресурса или же для всего сайта в целом. Возвращенное значение устанавливается взамен команды вызова этой процедуры. Сама процедура написана на Perl и использует окружение Zebra (см. «Руководство по API»). Вызов процедуры без аргументов возвращает количество запросов текущего ресурса. Если указать полный идентификатор ресурса, будет возвращено количество запросов этого ресурса. При аргументе #site подсчитывается общее количество запросов к сайту.

    
     sub count
     {
     	my(@a,$i,$a,$b);
     	$b=$page;
     	if($_[0] eq '#site'){return $ini{'__sitecounter'}}
     	if(length$_[0]){$b=$_[0]}
     	for$i(@locales)
     	{
     		for(@profiles)
     		{
     			my%a=split(/\x00/,getvalue("a${i}${_}_$b",'shdr'));
     			$a+=1*$a{zcnt}
     		}
     	}
     	return $a
     }
     

    $zebra_bp Встроенная процедура parsepage разработана специально для данного примера и реализует установку дополнительных ключей в список int, содержащих: $zebra_bp — $menudefault, выпадающие меню для выбора активного языка и профиля отображаемого ресурса, при этом изменение языка или профиля автоматически отправляет запрос на применение изменений (с использованием JavaScript); $zebra_bp — $headertable, верхнюю таблицу прямого доступа к разделам сайта; список разделов задается записью sample_headertable; $zebra_bp — $footertable, нижнюю таблицу прямого доступа к разделам сайта; список разделов задается записью sample_footertable. $zebra_bp Кроме того, модифицируется ключ $title. $zebra_bp Процедура parsepage ничего не возвращает, поэтому в ее месторасположение не будет записан никакой текст. Однако она устанавливает в глобальный список int новые значения и изменяет уже существующие, и в дальнейшем эти значения могут быть использованы другими компонентами, а также интерполированы в самом ресурсе.

    
     sub parsepage
     {
       require "${pathcgi}zx1.cgi";
       $int{menudefault}=Zebra::optselect('l" onchange="mainmenu.submit();return false',
           $ulocale,@locales,@alocales);
       $int{menudefault}.=Zebra::optselect('f" onchange="mainmenu.submit();return false',
           $uprofile,@profiles,@aprofiles);
       $int{menudefault}.=zs_childpars('l','f','go');
     
       $pat{headertable}=(split(/\x00/,zs_getinil('pat_headertable')))[0];
       $pat{footertable}=(split(/\x00/,zs_getinil('pat_footertable')))[0];
     
       if($int{title}){$int{title}.=" &#151; $int{sitename}"}else{$int{title}=$int{sitename}}
       return '';
     }
     

    $zebra_bp Запись sample_headertable определяет верхнюю таблицу ссылок прямого доступа к разделам сайта. Для динамического изменения цвета фона клеток таблицы применяется подпрограмма bgc на JavaScript.

    
     <table width="100%" border="0" cellpadding="2" cellspacing="1">
     <tr width="100%">
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/">WTG</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/zebra/input/">Документация</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/zebra/register/">Регистрация</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/forum/support/">Поддержка</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
      $     href="http://www.wtg.ru/forum/zebra/">Форум</a></td>
     </tr>
     <tr width="100%">
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="$dircgi/index.cgi${otherresource}$langprof">Начало</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="$dircgi/zs.cgi${otherresource}p=zebra/input$langprof">Документация</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="$dircgi/zf.cgi${otherresource}$langprof">Форум</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="$dircgi/${current}p=$page&search=1$langprof">Поиск</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="$dircgi/ze.cgi${otherresource}">Администрация</a></td>
     </tr>
     </table>
     

    $zebra_bp Запись sample_footertable определяет нижнюю (сокращенную) таблицу ссылок прямого доступа к разделам сайта. Для динамического изменения цвета фона клеток таблицы применяется подпрограмма bgc на JavaScript.

    
     <table width="100%" border="0" cellpadding="2" cellspacing="1">
     <tr width="100%">
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/">WTG</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/zebra/input/">Документация</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/zebra/register/">Регистрация</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/forum/support/">Поддержка</a></td>
       <td class="linktable" width="20%" align="center"
           onmouseover="bgc(this,c1)" onmouseout="bgc(this,c3)"><a
           href="http://www.wtg.ru/forum/zebra/">Форум</a></td>
     </tr>
     </table>
     

    $zebra_bp Ключ $langprof везде по обычным ссылкам позволяет унаследовать значения выбранных языка и профиля, если они были изменены.
    $zebra_bp 3. Черновое выполнение задачи
    $zebra_bp Минимально требуемые действия — сохранить перечисленные ресурсы в указанные разделы и запросить у Zebra главную страницу:
    http://www.yourhost.com/cgi-bin/zs.cgi?p=index
    Поскольку ресурс index является ресурсом по умолчанию, он же будет возвращен при запросах: $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?index $zebra_bp Итак, мы получили некую страницу, в которой вместо изначальных $begbody, $endbody и определенных в них ключей внесены уже сами значения этих ключей и результаты выполнения процедур. Если страница отображается коряво, проверьте, все ли верно вы сделали. $zebra_bp Далее на основе приведенного примера можно разработать собственный навороченный сайт. $endbody программный комплекс WTG Zebra принадлежат White Tiger Group, являющейся разработчиком, дистрибьютором и основным распространителем данного продукта. Модули, являющиеся разработкой White Tiger Group, также являются интеллектуальной собственностью WTG. Модули или другие программы, работающие совместно с Zebra, использующие ее ресурсы и оверлеи, разработанные сторонними физическими или юридическими лицами, являются интеллектуальной собственностью этих лиц. При этом вся ответственность за использование таких модулей ложится на плечи вышеупомянутых лиц. В том случае, если предполагается открытое распространение таковых модулей посредством любых способов передачи данных, будь то глобальная сеть (Internet, Fidonet и т.д.), различные носители информации (дискеты, CD-ROM, CD-RW и т.д.) или любые другие способы передачи данных, предполагающих дальнейшее публичное их использование, разработанный модуль в обязательном порядке подлежит тестированию у разработчиков Zebra и проверке соответствия идеологии, заложенной в ядро Zebra. Причем это предоставление должно быть осуществлено до публичного объявления выхода продукта и только после согласования деталей с авторами Zebra. Данное условие распространяется на все официальные версии заявленного продукта.
    $zebra_bp Распространение WTG Zebra осуществляется в различных вариантах дистрибуции. Стоимость комплекса начинается от нуля и исчезает в необозримых далях (при необходимости индивидуальной разработки нового модуля или привлечении разработчиков Zebra к непосредственной работе над проектом, требующим индивидуального же подхода). Подробную информацию по данному вопросу можно найти здесь. По иным возникающим вопросам либо с конкретными предложениями обращайтесь по адресу support@wtg.ru. $endbody aru_zebra/api15©aru_zebra/alfa $begbody $zebra_bp В настоящее время Zebra находится в стадии предварительной разработки. Потихоньку, в течение года, мы выбрались на этап бета-тестирования. Столь длительные сроки обусловлены многими причинами — дефицитом времени, сложностью работы, но в первую очередь — желанием создать высококачественный продукт, гибкий, быстрый и мощный, максимально удовлетворяющий потребностям самого разного пользователя (мы ориентируемся и на применение Zebra в качестве базового софта для крупных корпоративных сайтов, интернет-порталов), и в то же время не поражающий монстроидальностью компонентов. Все это является нашей главной целью. $zebra_bp В определенном смысле бета-версия уже работоспособна. Ее вполне реально сделать базовой программой для работы сайта. В дальнейшем и все остальные службы вашего ресурса можно будет перевести под компоненты Zebra. Тем более, что их будет много — в планах создание компонентов для поддержки чатов, многофорумных систем, организации магазина, листов рассылки и т. д. Уже имеющиеся в базовом составе Zebra компоненты будут наращивать функциональность (но не в ущерб, естественно, вышеперечисленным целям), для модуля поддержки форума планируется реализовать конвертор из некоторых популярных форумов (WTBoard, UltraBoard, WebBBS и т. д.) для максимально безболезненного перехода на новый софт, а в дальнейшем будет разработана и программа, позволяющая интегрировать конференцию, работающую на базе Zebra Forum, с какой-либо эхо-конференцией Fidonet и осуществлять двунаправленные потоки сообщений. Будет также подробная документация API. Это в будущем. $zebra_bp Бета-версия Zebra является версией для публичного тестирования и предполагает по возможности максимально широкое исследование возможностей с последующим описанием возникающих проблем пользователями для дальнейшего их воспроизведения и устранения разработчиками. Гарантируется определенная сохранность данных, заложенных в базы Zebra на стадии бета-тестирования, однако допускается появление мусора и прочих безобразий. Отдельные разделы в настоящее время могут оказаться недоработанными. $zebra_bp Текущая версия Zebra — $zebraversion. $endbodyaru_sample/index aru_newgroup12509/resou aru_zebra/r aru_zebra/h aru_zebra/feё aru_zebra/dan/f n %& $begbody

    $zebra_bp Содержание раздела: $zebra_bp 1. Внешняя работа с Zebra Forum $zebra_bp 1.1. Индексная страница форума $zebra_bp 1.2. Просмотр постера $zebra_bp 1.3. Создание постера $zebra_bp 1.4. Написание ответа на постер $zebra_bp 1.5. Присоединение к теме $zebra_bp 1.6. Сервисные режимы $zebra_bp 2. Внутренняя работа с Zebra Forum (администрация) $zebra_bp 2.1. Параметры форума $zebra_bp 2.2. Администраторы и модераторы $zebra_bp 2.3. Стили $zebra_bp 2.4. Параметры сервиса $zebra_bp 2.5. Модерирование $zebra_bp 2.5.1. Модерирование $zebra_bp 2.5.2. Параметры модерирования $zebra_bp 2.6. Импорт и экспорт $zebra_bp 2.6.1. Импорт форумов $zebra_bp 2.6.2. Резервирование и восстановление $zebra_bp 3. Сводная таблица ключевых слов списка int для Zebra Forum
    $zebra_bp Модуль Zebra Forum является компонентом комплекса Zebra, отвечающим за поддержку работы форумов. Он реализует все функции обработки постеров, необходимые для их сохранения, возврата и модификации, генерацию индексной страницы — списка сообщений различными образами и т. д., поиск, различные статистические и сервисные выводы. При этом обеспечивается обработка всевозможных условий и событий, согласно которым функционирует форум.
    $zebra_bp 1. Внешняя работа с Zebra Forum
    $zebra_bp Внешний файл модуля называется zf.cgi. Кроме того, трансляция запроса ему же осуществляется интегрирующими модулями zebra.cgi и z.cgi при условии указания параметра z=f. $zebra_bp Zebra Forum может работать в нескольких режимах, которые определяются параметрами командной строки. Это генерация индексной страницы, просмотр постера, написание постера, написание ответа на постер, сохранение постера, сервисные режимы — статистика, поиск, настройки пользователя, управление постерами при пользовательском модерировании. $zebra_bp Любой постер в любом форуме имеет уникальный идентификатор. Более ни один постер ни в одном форуме на этом сайте не может иметь такой же идентификатор. Идентификатор также однозначно определяет принадлежность постера к форуму.
    $zebra_bp 1.1. Индексная страница форума
    $zebra_bp Вызов индексной страницы осуществляется следующим образом: $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?fid=FORUMID $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?p=FORUMID $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&style=STYLEID $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&l=ru&f=alt $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&lang=ru&active=F02A $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&statistic=off $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&alogin=ADMIN&apwd=PASSWORD $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&day=04.10.2002 $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&week=2.10.2002 $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&month=9.2002 $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&byauthor=johnsmith $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&fromdate=12:00 24/12/2002 $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?fid=FORUMID&todate=12:00 24/12/2002&byauthor=johnsmith $zebra_bp Допустимые параметры адресной строки: $zebra_bp — fid=FORUMID, задает идентификатор форума; $zebra_bp — style=STYLEID, задает идентификатор стиля, в соответствии с которым оформлять форум; $zebra_bp — mpp=NUMBER, (Messages Per Page) количество заголовков корневых постеров (корневые постеры — постеры, являющиеся начальными постерами тем), которое будет размещено на индексной странице. Если реальное количество постеров больше, индексная страница будет разбита на части, доступ к которым осуществляется посредством ключа active=MID, указывающего на идентификатор верхнего постера части; $zebra_bp — active=MID, указывается идентификатор постера на форуме, с которого будет начинаться индексная страница; $zebra_bp — orderindex=ORDER, указывается критерий сортировки постеров на индексной странице, поддерживаются следующие варианты: 1 — принудительный режим сортировки по дате создания постера (по сути, в порядке поступления на форум), 2 — по дате последнего ответа в текущую ветку, 3 — по дате последнего запроса (прочтения) постера, 4 — по имени автора постера (в алфавитном порядке), 5 — по имени автора последнего ответа в текущую ветку, 6 — по количеству ответов в ветке, 7 — по количеству запросов постеров из ветки, 8 — по дате изменения постера (например, автором или модератором), 9 — по названию темы постера, 10 — по дополнительному настраиваемому свойству. Если критерий не указан, используются настройки форума; $zebra_bp — reverseorder=1|2, предписание вывести отсортированный список в обратном порядке: 1 — обратить порядок, 2 или любое другое значение — не обращать порядок; $zebra_bp — expand=1, предписание развернуть постеры на индексной странице, при этом около каждого постера в усеченном виде появляется его содержимое; кроме того, количество постеров на странице уменьшается вдвое; $zebra_bp — day=DAY, запрос для отображения на индексной странице только тем (корневых постеров), начатых в указанный день, здесь DAY — требуемое число, может быть указано полностью или частично, например: 21.09.2002, 21.09, 21; если не указан месяц или год, то принимаются текущие их значения; $zebra_bp — week=WEEK, запрос для отображения на индексной странице только тем (корневых постеров), начатых в указанную неделю месяца, здесь WEEK — требуемая неделя, может быть вызвана с учетом месяца и года (если запрашиваются не текущий месяц и не текущий год), например: 1.08.2001, 3.10, 4; при понедельном вызове учитывается, что месяц может начинаться с четверга, пятницы и т. д.; $zebra_bp — month=MONTH, запрос для отображения на индексной странице только тем (корневых постеров), начатых в указанный месяц, здесь MONTH — требуемый месяц, может быть указан вместе с годом, если запрос настолько специфичен; например: 10.2002, 10; если год не указан, принимается значение текущего года. $zebra_bp — byauthor=USERID, запрос для отображения на индексной странице постеров, поступивших только от автора с идентификатором USERID. Следует учитывать, что идентификатор не совпадает с именем пользователя, поскольку генерируется на его основе по определенному алгоритму, позволяющему в дальнейшем исключить появление разных пользователей с похожими именами, но написанными символами разных алфавитов (например, «р» в кириллице и «p» в латинице похожи, хотя и являются разными символами). При этом по истечении некоторого времени работы форума становится довольно затруднительно, даже зная этот алгоритм, сформировать идентификатор из имени самостоятельно. Поэтому лучше воспользоваться предоставляемой самим форумом возможности отбора постеров, например, по списку пользователей в статистике. При определении параметра генерируется ключ byauthor списка int, содержащий значение указанного параметра. $zebra_bp — fromdate=DATE, запро&'с для отображения на индексной странице только тем (корневых постеров), созданных или активных в период времени после указанной в параметре даты. При этом генерируется ключ fromdate списка int, содержащий значение указанного параметра. $zebra_bp — todate=DATE, запрос для отображения на индексной странице только тем (корневых постеров), созданных в период времени до указанной в параметре даты. При этом генерируется ключ fromdate списка int, содержащий значение указанного параметра. $zebra_bp Параметры byauthor, fromdate и todate могут быть применены одновременно
    $zebra_bp 1.2. Просмотр постера
    $zebra_bp Просмотр постера инициируется указанием параметра адресной строки:

    mid=MID
    Здесь MID — идентификатор постера. Например: $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?mid=12A4 $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?mid=9561&l=en&f=alt $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?mid=AAB&l=ru&style=tree $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?mid=f75e&lang=ru $zebra_bp В зависимости от того, кто открывает постер на просмотр, содержимое может меняться. Например, могут появиться дополнительные ссылки, позволяющие перейти к редактированию, удалению или закрытию постера (а также всей ветки).
    $zebra_bp 1.3. Создание постера
    $zebra_bp Создание постера в форуме осуществляется посредством заполнения и отправления на сайт некой формы. Форма возвращается при получении запроса с указанием ключа:
    new=FORUMID
    Здесь FORUMID — полный идентификатор форума. Например: $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?new=forum/test $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?new=forum/test&l=en $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?new=forum/test&style=list $zebra_bp Если форум распознал посетителя, то в полях формы уже могут находиться автоматически подставленные значения (их качество и количество зависят от того, что хранится в базе Zebra касательно данного пользователя). $zebra_bp Для публикации постера на форуме необходимо отправить заполненную форму на сайт. Это осуществляется посредством нажатия кнопки «Отправить» или иного элемента, выполняющего сходную функцию. Zebra Forum обработает полученные данные и выполнит действия, соответствующие ситуации. В зависимости от конфигурации форума и личности автора постер может быть опубликован немедленно, заявлен на публикацию либо отвергнут. Опубликованный постер немедленно появляется на индексной странице форума и становится доступным для чтения и комментариев. Заявленный на публикацию постер становится в очередь на модерацию, администратору форума отсылается извещение о поступлении заявки на публикацию, которую он может рассмотреть и допустить постер к публикации либо отвергнуть. Отвергнут постер может быть по разным причинам — указан неверный пароль, в тексте найдены недопустимые лексические выражения, вместе с постером загружается файл неразрешенного типа, либо слишком большого размера, пользователь не зарегистрирован и так далее. Поведение форума в случае таких ситуаций настраивается. $zebra_bp Кроме того, при поступлении постера форум может автоматически отправлять уведомляющие письма по соответствующим адресам. Категории получателей также настраиваются.
    $zebra_bp 1.4. Написание ответа на постер
    $zebra_bp Форма для создания ответа или комментария на какой-либо постер вызывается указанием в адресной строке параметра:
    reply=MID
    Здесь MID — идентификатор постера, на который создается ответ. $zebra_bp В целом, поведение форума при получении ответа на постер аналогично получению корневого постера. Отличий несколько: постер регистрируется не только на форуме, но и как ответ в родительском постере. Кроме того, форум позволяет особо выделить пользователей, имеющих право создавать темы (корневые постеры), публиковать ответы и т.д. Подробнее см. «Параметры форума».
    $zebra_bp 1.5. Присоединение к теме
    $zebra_bp В Zebra Forum существует возможность присоединиться к теме. Она работает при явном указании в адресной строке дополнительного параметра subject, указывающего наименование темы. В таком случае, если уже существует тема с таким наименованием, будет открыта ветвь обсуждений, если же тема не существует, будет предложено ее создать. $zebra_bp Присоединение к теме осуществляется вызовом форума с ключом join=FORUMID, где FORUMID — идентификатор форума. Например:
    http://www.yourhost.com/cgi-bin/zf.cgi?join=FORUMID&subject=Тема для проверки

    $zebra_bp 1.6. Сервисные режимы
    $zebra_bp Сервисные режимы Zebra Forum позволяют получить статистику форумов, осуществить поиск постера по заданным критериям, настроить пользователю форум «под себя» и т.д. Вызов режима осуществляется указанием соответствующего параметра в адресной строке браузера: $zebra_bp — stat=FORUMID, режим статистики форума, при этом могут быть также определены ключи: $zebra_bp — — sub=1, предписывающий объединить статистику по всем вложенным форумам; $zebra_bp — — deep=NUMBER, параметр, задающий глубину просмотра для сбора статистики, его значение большее 10000 может сильно замедлить работу форума; $zebra_bp — options=FORUMID, режим настройки параметров пользователя на этом форуме (следует иметь в виду, что часть параметров регистрируется относительно всех форумов на сайте, часть — присуща только текущему форуму); $zebra_bp — search=FORUMID, режим поиска постеров по заданным критериям на форуме; $zebra_bp — edit=MID, режим редактирования постера, при этом MID — идентификатор постера; режим заработает только в случае, если разрешено редактирование постеров; $zebra_bp — close=MID, закрыть постер и всю подчиненную ему ветку (отправление ответов на постеры будет запрещено); $zebra_bp — open=MID, открыть постер и всю подчиненную ему ветку (не производит никаких действий, если постер не закрыт); $zebra_bp — delete=MID, удалить постер и всю подчиненную ему ветку. $zebra_bp В последних четырех режимах пользователю предлагается указать имя и пароль, и действие будет осуществлено в том случае, если логин и пароль соответствуют, а кроме того, пользователь имеет право на управление постером. В противном случае форум возвратит предупреждающее сообщение.
    $zebra_bp 2. Внутренняя работа с Zebra Forum (администрация)
    $zebra_bp Доступ к администрированию осуществляется посредством интегрирующего административного модуля ze.cgi либо напрямую вызовом административного модуля Zebra Forum zfe.cgi. При запуске запрашивается авторизация, для доступа к администрированию администратор должен иметь права с префиксом F. Доступ осуществляется пораздельно, таким образом, администраторы с разными правами могут иметь доступ в разные части Zebra Forum. Полный доступ к разделам определяется правами Fa либо # (о разделении прав администраторов подробнее см. «Ядро. Администраторы»). $zebra_bp В полном меню администрирования Zebra Forum присутствуют следующие пункты: $zebra_bp — параметры форума $zebra_bp — стили $zebra_bp — параметры сервиса $zebra_bp — модерирование $zebra_bp — параметры модерирования $zebra_bp — импорт
    $zebra_bp 2.1. Параметры форума
    $zebra_bp Zebra Forum поддерживает неограниченную вложенность форумов. То есть в некотором форуме можно создать вложенный фору'(м, во вложенном, в свою очередь, тоже, и так далее. Количество вложенных форумов не ограничено. Кроме того, форум, содержащий вложенные, не теряет собственную форумную функциональность. $zebra_bp Параметры конфигурации форумов иерархически наследуемы. Это означает, что, если во вложенном форуме параметр установлен в положение <default>, то в качестве его значения будет взято значение параметра внешнего форума. Если внешний форум также принимает значение <default>, то просмотр продолжается до тех пор, пока не будет найден влияющий параметр. $zebra_bp Примечание. В незарегистрированной версии Zebra допускается работа только с одним форумом. Ограничение на количество форумов снимается при регистрации Zebra. $zebra_bp — Идентификатор форума. Указывается сокращенный идентификатор форума, который в пределах данного вышестоящего форума должен быть уникальным. Полный идентификатор любого форума составляется из совокупности всех форумов, являющихся для данного включающими. Полный идентификатор сопоставляется ключу $fid. $zebra_bp * — Название форума. Наименование форума, под которым он будет фигурировать на сайте. Сопоставляется ключу $forum. $zebra_bp * — Аннотация форума. Краткое описание форума для пояснения о его предназначении при составлении списка форумов сайта. Сопоставляется ключу $annotation. $zebra_bp * — Информация о форуме. Более полная информация о форуме, в которой целесообразно изложить основные тезисы предназначения форума, а также некоторые дополнительные сведения. Сопоставляется ключу $info. $zebra_bp — Основной стиль (или Стиль по умолчанию). Выбирается стиль, который будет использоваться форумом по умолчанию. Стилем задается широкая совокупность параметров представления информации на форуме, на зависящих от данного конкретного форума. $zebra_bp — Разрешить вложенные форумы. Позволяет отключить возможность создавать вложенные форумы. $zebra_bp — Объединить индексы (или Показать постеры вложенных форумов). Если у форума существуют подфорумы, то существует возможность объединить постеры изо всех форумов (включая текущий) в единой индексной странице. $zebra_bp — — скрыть форум в списке подфорумов, позволяет не включать форум в список showlist родительского форума, если это по каким-либо причинам нецелесообразно. $zebra_bp — Тип форума. Определяет поведение форума при поступлении постеров. Возможны варианты: $zebra_bp — — постмодерируемый, постеры публикуются немедленно, модерирование форума осуществляется постфактум; $zebra_bp — — премодерируемые темы, поступившие корневые постеры (темы) помещаются в очередь на премодерирование до тех пор, пока администратор не обработает заявку; в этом режиме ответы на постеры премодерированию не подвергаются и публикуются немедленно; $zebra_bp — — премодерируемые ответы, обратное предыдущему действие, премодерируются ответы, а темы публикуются немедленно; $zebra_bp — — премодерируемые темы и ответы, премодерируются и темы, и ответы; в этом режиме на администратора падает довольно большая нагрузка, и если он будет отлынивать от обработки заявок, форум может «умереть»; $zebra_bp — — премодерировать только незарегистрированных, режим, при котором премодерированию подвергаются только постеры (темы или ответы), поступившие от незарегистрированных пользователей, а от зарегистрированных — публикуются без проволочек. $zebra_bp — Разрешить постеры. Предоставляет возможность запретить публикацию постеров на этом форуме. Если на форуме запрещены подфорумы, а также постеры, то смысла в существовании такого форума нет... Параметр уточняется также следующими опциями: $zebra_bp — — разрешить персональные постеры, разрешает режим публикации персональных посланий, которые будут видны только автору и адресату; при этом адресат вправе раскрыть персональный постер для всеобщего обозрения, либо удалить после прочтения; $zebra_bp — — разрешить пустые постеры, если отключено, то поступающие постеры проверяются на наличие содержимого, и если оно отсутствует, не публикуются; $zebra_bp — — разрешить загрузку файлов, позволяет пользователю загрузить сопутствующий постеру файл, при этом загруженный файл размещается в системном каталоге Zebra, определенном параметром Физический путь к bin-каталогу на сайте (см. «Ядро. Основные параметры»), а постеру ставится в соответствие ссылка на этот файл; $zebra_bp — — максимальный размер файла, Кб, определяет максимальный допустимый размер загружаемого файла, если он превышает установленное значение, то постер не публикуется, возвращается сообщение об ошибке. $zebra_bp — Публиковать ответы. Если форум выполняет функции обычной доски объявлений, на которой не предполагается обсуждать вывешиваемые объявления, то имеет смысл отключить публикацию ответов. При этом возможность ответа на постер остается. Ответ может быть, например, отослан по электронной почте автору темы. $zebra_bp — Обработка дублей. Бывают случаи, когда на форум поступают несколько постеров подряд от одного и того же посетителя. Например, если он судорожно нажал «Отправить» четыре раза подряд, форуму придется обрабатывать четыре одинаковых постинга. Может быть, однако, так, что пользователь отправил постер, потом додумал мысль, вернулся, дополнил и снова отправил. В таком случае логично воспринимать поздний постер наиболее правомочным. Данный параметр определяет поведение форума в ситуациях такого рода. Возможны следующие варианты: $zebra_bp — — игнорировать, повторные постеры не принимаются; $zebra_bp — — обновлять, повторные постеры заменяют предыдущий, при этом в свойствах постера ставится признак того, что постер отредактирован; $zebra_bp — — добавлять, повторные постеры публикуются на общих основаниях как новые. $zebra_bp — Могут начинать темы. Устанавливает ограничение на лица, обладающие правом начинать темы (создавать корневые постеры). Возможны варианты: $zebra_bp — — только зарегистрированные участники, все посетители форума, которые зарегистрированы на сайте; если посетитель не зарегистрирован, ему может быть предложено зарегистрироваться; $zebra_bp — — только постоянные участники, посетители форума, включенные в группу пользователей, обозначенную как группа постоянных пользователей данного форума; $zebra_bp — — только администраторы, администраторы форума; $zebra_bp — — только администраторы и модераторы, администраторы и модераторы форума. $zebra_bp — Могут отвечать. Устанавливает ограничение на лица, которым позволяется отвечать на постеры. Здесь вариантов меньше: $zebra_bp — — только зарегистрированные участники, все посетители форума, которые зарегистрированы на сайте; если посетитель не зарегистрирован, ему может быть предложено зарегистрироваться; $zebra_bp — — только постоянные участники, посетители форума, включенные в группу пользователей, обозначенную как группа постоянных пользователей данного форума. $zebra_bp — Защита имени паролем. Определяет требования форума на парольную идентификацию авторов. Варианты: $zebra_bp — — отключить, пароль не требуется и не проверяется; $zebra_bp — — разрешить, пароль рекомендуется; если пароль введен неверно, постер не публикуется; если пароль не введен вообще, постер публикуется, однако отмечается, что автор постера не достоверен; $zebra_bp — ()— обязательно, постер без указания пароля не публикуется вовсе. $zebra_bp — Аутентификация участника. Позволяет выбрать механизм, согласно которому будет осуществляться аутентификация участника (проверка соответствия имени и пароля). Возможны варианты: $zebra_bp — — отключить, не проводить аутентификацию; этот пункт равнозначен отключению парольной защиты имени; $zebra_bp — — форумная, предписывает применить собственную аутентификацию, реализованную в форуме (рекомендуется); $zebra_bp — — системная, передает управление аутентификацией системной процедуре аутентификации Zebra, при этом выполняются стандартные действия, оговоренные в параграфе «Работа с Zebra Site. Описание аутентификации»; $zebra_bp — — внешняя, аутентификацию осуществляет некая внешняя процедура, определяемая посредством встроенной подпрограммы (см. «Управление данными. Подпрограммы»), которая подготавливает данные, передает их этой процедуре, а затем возвращает результат выполнения; при этом: $zebra_bp — — — внешняя процедура аутентификации, назначает процедуру для внешней аутентификации. $zebra_bp — Регистрация участника. Определяет поведение форума при поступлении постера от незарегистрированного пользователя. Варианты: $zebra_bp — — отключить, постер отвергается, автору выдается предупреждающее сообщение (оно может, например, содержать рекомендацию обратиться к администратору); $zebra_bp — — по факту, постер публикуется, ставится в очередь на премодерацию или отвергается в соответствии с прочими установками о публикации, на посетителя регистрируется аккаунт, в котором сохраняются некоторые его параметры; в дальнейшем этот посетитель считается зарегистрированным; при этом: $zebra_bp — — — регистрировать в группу, назначает группу, в которую будут автоматически включаться новые аккаунты; $zebra_bp — — системная, постер не публикуется; посетителю предлагается пройти процедуру регистрации согласно системным установкам Zebra о регистрации; постер может быть опубликован после того, как регистрация будет подтверждена; при этом: $zebra_bp — — — форма регистрации, назначает пользовательскую форму, которая будет предложена посетителю для прохождения процедуры регистрации; форма должна быть составлена по правилам, оговоренным в параграфе «Управление данными. Пользовательские формы»; $zebra_bp — — внешняя, постер не публикуется; управление процедурой регистрации передается внешней процедуре, определяемой посредством встроенной подпрограммы (см. «Управление данными. Подпрограммы»), которая подготавливает данные, передает их этой процедуре, а затем возвращает результат; для публикации постера пользователю потребуется повторно послать его уже после подтверждения регистрации; при этом: $zebra_bp — — — внешняя процедура регистрации, назначает процедуру для внешней аутентификации (см. «Управление данными. Подпрограммы»). $zebra_bp — Группа постоянных участников. Назначает группу пользователей, обладающих на текущем форуме определенными привилегиями по сравнению с другими зарегистрированными посетителями сайта. $zebra_bp — Разрешить индивидуальную настройку. Позволяет пользователю изменить параметры взаимодействия с форумом индивидуально для себя. $zebra_bp — Разрешить настройку через адресную строку. Позволяет реконфигурацию некоторых параметров отображения и функционирования форума посредством указания дополнительных параметров в адресной строке при вызове форума. Это могут быть, например, количество отображаемых заголовков на индексной странице, метод сортировки заголовков и т.д. $zebra_bp — Фильтр постеров с «левых» сайтов. Выбирает механизм, по которому будет производиться попытка определить правомочность поступившего постера (на тот случай, если стратегия развития форума исключает публикацию постеров посредством форм, размещенных на посторонних сайтах). Варианты: $zebra_bp — — по рефереру, проверяется, на каком сайте была заполнена форма, и если сайт не совпадает с текущим, постер отвергается; $zebra_bp — — установлением метки, в форму постера посредством скрытых полей помещаются метки, которые одновременно регистрируются на сайте; при поступлении постера проверяется соответствие меток, и если совпадение найдено, постер публикуется, метки с сайта удаляются; если совпадение не найдено, постер отвергается; $zebra_bp — — установлением метки с учетом таймаута, аналогично предыдущему пункту с некоторой тонкостью: учитывается таймаут 30 секунд: считается, что с момента возврата формы до момента публикации постера должно пройти не менее полуминуты, и если постер поступил ранее обозначенного срока, то это с большой долей вероятности действия робота, которому не требуется время для написания текста. $zebra_bp — Мониторинг запрещенных слов. Указывается список слов, при обнаружении котторых в тексте поступившего постера он не допускается к публикации. Каждое слово помещается в строку, это может быть фрагмент слова или словосочетание. Проверяется только полное совпадение с шаблоном. Кроме того, можно задать регулярное выражение (в стиле Perl) для установления формализуемых правил мониторинга. Регулярное выражение необходимо предварить символом /. Например: $zebra_bp текст $zebra_bp мониторинг $zebra_bp /продаж[аиу] $zebra_bp — Подтверждать публикацию письмом (шаблон). При поступлении постера форум может подтвердить его публикацию отправлением на электронный адрес автора письма. Данный параметр указывает, какое системное письмо необходимо использовать для формирования письма с подтверждением (см. «Ядро. Сетевые параметры»). $zebra_bp — Разрешить контекстную подписку. Предоставляет посетителям сайта возможность указать ряд слов или словосочетаний, по которым будет осуществляться контекстный мониторинг. Если в опубликованном постере будет встречено одно или несколько из этих слов, копия постера будет отправлена на электронный адрес пользователя.
    $zebra_bp 2.2. Администраторы и модераторы
    $zebra_bp В Zebra Forum существуют три категории администраторов: администраторы, модераторы и модераторы-пользователи. В зависимости от конфигурации форума эти категории могут обладать большими или меньшими правами, либо вовсе отсутствовать. Наибольшими привилегиями обладают администраторы, имеющие право менять параметры функционирования форумов. Модераторы способны управлять только постерами, в их юрисдикции пост- и премодерирование. Модератором-пользователем может стать любой автор форума, при этом модерации подлежат только постеры, к которым он имеет непосредственное отношение. $zebra_bp — Иерархия администрирования. Параметр определяет способ получения списка администраторов форума. Возможны варианты: $zebra_bp — — вышестоящие администраторы, администраторы текущего форума, а также форумов, являющихся надфорумами для текущего; $zebra_bp — — только администраторы форума, администраторы текущего форума, при этом администраторы прочих форумов не имеют валидных прав на нем; $zebra_bp — — только главный администратор, исключает из списка администраторов всех, кроме имеющих неограниченные права. $zebra_bp Следует учесть, что главный администратор имеет исключительные привилегии и включается в список в любом случае. $zebra_bp &)*#151; — Включить администратора, предлагает список доступных администраторов, из которых можно выбрать нового для включения в список валидных администраторов форума. При этом у данного администратора в списке прав должны присутствовать права для внесения изменений в форум (см. «Ядро. Лица»). $zebra_bp — — Исключить администратора, содержит список администраторов, уже включенных в список администраторов форума. Для исключения кого-либо из списка необходимо его отметить. $zebra_bp — Иерархия модерирования, включить модератора и исключить модератора аналогичны соответствующим пунктам об администраторах. $zebra_bp — Пользовательское модерирование. Позволяет включить режим форума, при котором автор постера имеет право на управление своим постером и ответами на него. В эти права включены: удаление постера, закрытие темы, открытие темы. Варианты: $zebra_bp — — автор темы — модератор темы, права модератора-пользователя приобретает только автор темы (корневого постера ветки); $zebra_bp — — автор ветки — модератор ветки, права модератора-пользователя приобретает любой автор, но только в отношении своего постера и ответов на него. При этом автор вышестоящего постера имеет большие привилегии по модерированию по сравнению с ним. $zebra_bp Ни в первом, ни во втором случае права модератора-пользователя не распространяются на остальные ветки. $zebra_bp — Разрешить редактирование постера. Предоставляет минимальные права модератора-пользователя любому автору форума, но только в отношении собственных постеров, и только для редактирования содержимого постера. $zebra_bp — Отправлять постеры почтой. Предписывает осуществлять рассылку копий опубликованных постеров следующим категориям лиц: $zebra_bp — — только главному администратору, $zebra_bp — — всем администраторам, $zebra_bp — — только модераторам, $zebra_bp — — администраторам и модераторам. $zebra_bp При этом: $zebra_bp — — шаблон письма, назначается шаблон письма, которое будет отправлено вышеуказанным лицам; $zebra_bp — — дополнительно на адреса, позволяет указать дополнительные адреса для рассылки.
    $zebra_bp Большинство параметров при работе форума влияют на те или иные ключи основного списка int (см. «Ядро. Основной список int»), используемые при генерации конечного вида форума. Полный перечень ключей списка int, применяемых в Zebra Forum, приведен в конце данного раздела документации (см. «Сводная таблица ключевых слов списка int для Zebra Forum»).
    $zebra_bp 2.3. Стили
    $zebra_bp Стиль форума — совокупность описаний основных разделов форума, некоторых параметров формирования и отображения контента, объединенная в единый элемент оформления. Стиль подразумевает всю гамму различий, возникающих при посещении форума пользователями с разными привилегиями, и учитывает массу других опций. Стиль и параметры форума (рассмотренные чуть ранее) в целом формируют то представление форума, которое видят, с которым работают и взаимодействуют все посетители. $zebra_bp На стиль оказывает влияние длинный ряд ключей основного списка int (см. «Ядро. Основной список int»). Полный перечень таких ключей приведен в конце данного раздела документации (см. «Сводная таблица ключевых слов списка int для Zebra Forum»). $zebra_bp В Zebra Forum может быть определено неограниченное количество стилей. Минимальное количество — один. То есть хотя бы один стиль должен быть определен. Также должен быть выбран стиль по умолчанию, в соответствии с которым будут функционировать форумы, для которых стили не указаны явно или иерархически. Кроме того, возможно применить к любому форуму любой имеющийся в системе стиль, если указать следующий дополнительный параметр адресной строки:
    style=STYLEID
    Здесь STYLEID — идентификатор стиля.
    $zebra_bp Элементы $zebra_bp — Идентификатор стиля. Уникальный идентификатор стиля. Должен быть сформирован согласно правилам составления идентификаторов Zebra (см. «Ядро. Наименования«). $zebra_bp * — Наименование. Наименование стиля. $zebra_bp * — Описание. Комментарий к стилю. $zebra_bp * — Шаблон-сборник. Шаблоны форума, относящиеся к логически разным режимам работы Zebra Forum, определяются индивидуально. После индивидуального рендеринга они объединяются в единый html-контент посредством шаблона-сборника. $zebra_bp * — Список форумов/подфорумов. Описание для формирования списка подфорумов текущего форума (или форумов, если запрашивается самый верхний уровень). Сопоставляется ключу $showlist, рассматриваемому при рендеринге шаблона-сборника. $zebra_bp * — Индекс форума. Описание для индексной страницы форума. Сопоставляется ключу $showindex, рассматриваемому при рендеринге шаблона-сборника. $zebra_bp — Количество тем на странице. Задается максимальное количество тем (корневых постеров) на индексной странице. Если количество тем превышает заданное, осуществляется разбиение индексной страницы на части. Учитывается также: $zebra_bp — — или постеров, не менее, альтернативный критерий разбиения индексной страницы на части; страница подлежит разбиению, если выполняется хотя бы одно из этих двух условий. $zebra_bp * — Шаблон прямого доступа. Шаблон прямого доступа к частям индексной страницы в случае, если она была разбита. Представляет собой обычное описание фрагмента, реализованное по правилам Zebra. Формируется только в случае, если разбиение произошло. Использует следующие специальные ключи: $zebra_bp — — prevmid, $zebra_bp — — nextmid, $zebra_bp — — lastmid, $zebra_bp — — а также ключи типа MULTIPLE: $zebra_bp — — — activemid, $zebra_bp — Длина заголовка, не более. Позволяет ограничить длину заголовка постера, обозначаемую на индексной странице. Если реальное название темы постера превышает указанное значение, то для индексной страницы оно соответственно сокращается. $zebra_bp — Ветвь ответов. Управляет способом отображения ветви постеров темы на индексной странице. Возможны варианты: $zebra_bp — — скрыть, запрещает отображать ветвь ответов на индексной странице, только корневые постеры (начала тем); $zebra_bp — — развернуть, отображает полную структуру ветвей обсуждений; $zebra_bp — — развернуть только новые, разворачивает только те ветви, в которых появились новые постеры (для данного посетителя); $zebra_bp — — развернуть только новые, показать текст, разворачивает ветви с новыми постерами, а также устанавливает для новых постеров дополнительные ключи, в которых размещает параметры постера, в том числе текст; $zebra_bp — — развернуть все, показать текст для новых, разворачивает все ветви, при этом для новых постеров устанавливает расширенный список ключей; $zebra_bp — — развернуть все, показать текст, разворачивает все ветви, расширенный набор ключей устанавливает для всех постеров; $zebra_bp — — поток, формирует список без структурирования по иерархической зависимости ветвей; режим «гостевой книги». $zebra_bp При структурировании ветвей используются также следующие п*+араметры: $zebra_bp — — префикс структурирования ответов, фрагмент html-кода, устанавливаемый в начале ветви; $zebra_bp — — элемент, фрагмент html-кода, устанавливаемый перед каждым постером; $zebra_bp — — суффикс, фрагмент html-кода, устанавливаемый в конце ветви; $zebra_bp — — отображать развернутый постер, символов, длина текста постера, учитываемая при формировании расширенного списка ключей для постеров с показываемым текстом; $zebra_bp — — — скрыть цитаты, позволяет вырезать цитаты из отображаемых таким образом постеров во избежание загромождения индексной страницы. Цитаты заменяются на фрагмент <...>. $zebra_bp В режиме отображения «поток» префикс и суффикс не определены. $zebra_bp — Критерий сортировки. Критерий, определяющий способ сортировки постеров на индексной странице. Возможны варианты: $zebra_bp — — дата создания, рекомендуемый способ сортировки; при нем осуществляется обращение к параметрам только отображаемых постеров; $zebra_bp — — дата создания (принудительно), при сортировке такого типа считываются даты создания всех постеров форума, далее сортировка осуществляется с их учетом; $zebra_bp — — дата изменения, сортируется по дате последнего изменения постеров (изменение в данном случае подразумевает редактирование постера автором или модератором), при этом сортировка неизмененных постеров осуществляется по дате создания; $zebra_bp — — дата последнего ответа, сортировка по дате последнего ответа в ветке данного постера; $zebra_bp — — дата последнего запроса, по дате последнего запроса постера из данной ветки; $zebra_bp — — автор, сортировка по авторам корневых постеров (тем); $zebra_bp — — автор ответа, сортировка по автору последнего ответа в ветке; $zebra_bp — — количество ответов, сортировка по количеству постеров в ветке; $zebra_bp — — количество запросов, сортировка по количеству обращений к постерам ветки; $zebra_bp — — обратно, предписывает сортировать постеры на индексной странице в нисходящем порядке. $zebra_bp — Разрешить календарь. Разрешает формировать данные для отображения на индексной странице форума календаря текущего (или иного, явно запрошенного) месяца. Описание формируемых ключей см. «Руководство по API. Календарь». $zebra_bp * — Шаблон постера. Описание для отображения постера. Сопоставляется ключу $showmessage, рассматриваемому при рендеринге шаблона-сборника. $zebra_bp — Запретить отображение постеров. $zebra_bp — Префикс параграфа. Фрагмент html-кода, добавляемый в начале каждого параграфа. $zebra_bp — Суффикс. Фрагмент html-кода, добавляемый в конце каждого параграфа. $zebra_bp — Обработка тегов. Определяет режим отображения html-тегов встречающихся в тексте постера. Варианты: $zebra_bp — — удалить, безусловно удаляет все встречающиеся в тексте постера теги; $zebra_bp — — разрешить, оставляет все теги; $zebra_bp — — разрешить выборочно, оставляет только разрешенные к публикации теги; при этом: $zebra_bp — — — разрешенные теги, указывает разрешенные теги, перечисленные через запятую или символ |; $zebra_bp — — преобразовать в текст, все встреченные в тексте постера теги преобразуются в текст. $zebra_bp — Список автозамен. Текст постера при отображении может быть подвергнут обработке. Например, можно дефисы заменить на тире, обычные кавычки парными и т.д. «Список автозамен» определяет правила, согласно которым будет производиться такая обработка. Каждое правило записывается отдельной строкой в следующем формате:
    шаблон поиска=шаблон замены
    Если в самом шаблоне поиска встречается знак =, его действие следует снять посредством обратного слеша: \=. $zebra_bp Строка поиска может представлять собой регулярное выражение, записанное по правилам Perl. Тогда его необходимо обозначить слешем в первой позиции, например:
    /несправедлив([оаый]+)=законн$1
    Если слеш сам по себе присутствует в шаблоне поиска, его действие нужно снять посредством обратного слеша: \/. $zebra_bp Обработка постера по строкам замены осуществляется последовательно, начиная с первой строки. Будьте внимательны при составлении регулярных выражений для автозамены, при указании некорректных шаблонов Zebra Forum может завершаться с ошибкой. $zebra_bp * — Шаблон цитаты. Фрагмент html-кода, согласно которому будут оформляться цитаты в постере. При этом предполагается наличие ключа $text, определяющего само местоположение цитаты. $zebra_bp — Автовыделение ссылок. Предписывает автоматически выделять ссылки, найденные в тексте постера. При этом уже выделенные ссылки не затрагиваются. Под выделением в данном случае подразумевается заключение ссылки в тег-гиперссылку. Варианты: $zebra_bp — — только ссылки, выделяются адреса сайтов; распознаются http, ftp, news, www и т.д варианты; $zebra_bp — — только адреса e-mail, выделяются только адреса электронной почты; $zebra_bp — — все, выделяются и адреса сайтов, и адреса e-mail. $zebra_bp — Ветвь ответов. Определяет способ отображения в постере ветви ответов. Варианты: $zebra_bp — — скрыть, отображение ветви ответов запрещается; $zebra_bp — — показать всю ветку, отображает всю ветвь, в которой находится текущий постер, начиная с корневого элемента; при этом для текущего постера определяется дополнительный ключ $active; $zebra_bp — — показать ответы, отображает только ответы на текущий постер; $zebra_bp — — показать нить, отображает ответы на текущий постер и только ту часть всей ветви, в которой находится текущий постер, до корневого элемента; $zebra_bp — — текст, предписывает отобразить текст в ответах на постер; при открытии такого постера становится возможным прочитать всю тему. $zebra_bp При структурировании ответов применяются следующие параметры: $zebra_bp * — — префикс структурирования ответов, фрагмент html-кода, устанавливаемый в начале ветви; $zebra_bp * — — элемент, фрагмент html-кода, устанавливаемый перед каждым элементом; $zebra_bp * — — суффикс, фрагмент html-кода, устанавливаемый в конце ветви. $zebra_bp — Добавлять форму ответа. Предписывает добавлять форму для ответа прямо в постер. Отличается от специального вызова формы отсутствием автоматического квотинга. $zebra_bp — Специфическая подготовка, доработка. Постер может быть подвергнут дополнительной обработке посредством встроенных процедур (см. «Управление данными. Подпрограммы»). Подготовка выполняется перед всеми прочими автозаменами и выделениями, доработка — после них. $zebra_bp * — Форма постера. Описание для формы создания постера или написания ответа. Сопоставляется ключу $showform, рассматриваемому при рендеринге шаблона-сборника. $zebra_bp — Автоподстановка пароля. Определяет возможность автоматической подстановки пароля для зарегистрированных пользователей. При необходимости пользователь может для себя эту опцию отключить. $zebra_bp — Разрешенные типы изображений. Приводится список расширений, которые могут иметь загружаемые вместе с пос+,тером файлы. Например: jpg,jpeg,gif,png. $zebra_bp * — Префикс темы при ответе. При открытии формы для написания ответа на постер в поле темы может быть автоматически добавлено название предыдущего постера, отмеченное при этом префиксом с автоматически увеличиваемым счетчиком. Здесь: $zebra_bp — — инкремент вглубь ветви, определяет необходимость установки счетчика при многоуровневых ответах. $zebra_bp — Цитировать постер при ответе. При ответе на постер в поле формы «Тело» может быть автоматически добавлен текст предыдущего постера. При этом: $zebra_bp — — длина абзаца, не более, определяет максимальную длину абзаца в цитируемом тексте; если длина абзаца превышает указанную, он разбивается на несколько более мелких; $zebra_bp * — — префикс цитируемого текста, определяет фрагмент html-кода, устанавливаемого перед цитатой; именно по наличию префикса перед текстом форум распознает, что это — цитата; $zebra_bp — — подставлять инициалы, рекомендует подставлять перед префиксом инициалы автора предыдущего постера. $zebra_bp — Разрешить дублирование на e-mail. Разрешает автору постера получать ответы на свой постер по электронной почте. $zebra_bp — Требовать указание e-mail. Предписывает форуму проверять наличие адреса электронной почты автора в публикуемом постере, и если таковой отсутствует, публикацию не допускать. $zebra_bp — Шаблон письма ответа. Указывает, какое из системных писем (см. «Ядро. Сетевые параметры») следует использовать для формирования письма с ответом. $zebra_bp — Максимальный срок лимита, с. Форум позволяет устанавливать для каждого постера срок его годности, по истечении которого постер будет автоматически удален. При этом можно задать максимальный срок. Значение указывается в секундах, считается, что в месяце 32 дня. Так, для срока 1 месяц следует указать число 2764800. $zebra_bp * — — Список категорий, список элементов для более удобного указания срока хранения письма. Указывается в формате:
    NN1=xxxx1|NN2=xxxx2|NN3=xxxx3...
    где NN — число, соответствующее количеству секунд в элементе категории, xxxx — наименование. Например:
    60=минут|3600=часов|86400=дней|604800=недель|2764800=месяцев
    $zebra_bp — Пользовательские шаблоны. Определяет, можно ли пользователю указывать шаблоны для создаваемых им постеров, например, во избежание постоянного написания приветствий его можно один раз задать в настройках, и оно будет каждый раз автоматически добавляться в форму. $zebra_bp * — Шаблон просмотра. Описание для просмотра (пред- или пост-) публикуемого постера. Сопоставляется ключу $showpreview, рассматриваемому при рендеринге шаблона-сборника. $zebra_bp — Просмотр перед публикацией. Определяет возможность предварительного просмотра постера без его фактической публикации. Доступно даже в том случае, если постер по каким-то причинам будет отвергнут. Варианты: $zebra_bp — — разрешить, разрешает пользователю делать предварительный просмотр; $zebra_bp — — обязательный, предварительный просмотр является обязательным; при этом если просмотр не сделан, кнопка отправления не отображается. $zebra_bp — Просмотр после публикации. После того, как постер опубликован, форум может отобразить результат пользователю. Варианты те же, что и с предпросмотром. $zebra_bp — Направить после публикации. После публикации постера пользователь может быть автоматически перенаправлен на другие ресурсы. Этими ресурсами могут быть сам опубликованный постер, индексная страница форума, индексная страница форума начального уровня, либо начальная страница всего сайта. Перенаправление осуществляется разными методами в зависимости от параметра «Просмотр после публикации». Кроме того, если просмотр разрешен, устанавливается: $zebra_bp — — задержка, с, по истечении которой будет осуществлено перенаправление. $zebra_bp Для функционирования перенаправлений в описании шаблона просмотра должен быть определен ключ $meta. $zebra_bp * — Служебная форма. Описание сервисной страницы, содержит несколько блоков, реализуемых при различных сервисных случаях. Подробная настройка сервисов описывается ниже. Сопоставляется ключу $showservice, рассматриваемому при рендеринге шаблона-сборника. $zebra_bp — Использовать форму пользователя. Указывает, какую пользовательскую форму нужно использовать при осуществлении индивидуальной настройки форума для пользователя (по поводу форм см. «Управление данными. Параметры пользователя»).
    $zebra_bp 2.4. Параметры сервиса
    $zebra_bp Статистика вызывается запросом форума с параметром адресной строки stat, например: $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?stat=FID $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?stat=FID&sub=1 $zebra_bp http://www.yourhost.com/cgi-bin/zf.cgi?stat=FID&deep=1000 Здесь FID — полный идентификатор форума. Указание параметра sub=1 предписывает считать статистику по всем подфорумам указанного раздела. Параметр deep переопределяет количество постеров, по которым собирается статистика. $zebra_bp — Разрешить генерацию статистики. Разрешает или запрещает отображение статистики. Если статистика запрещена, вызов статистики форума равносилен просто вызову индексной страницы. $zebra_bp — Статистика постеров по дням. Включает или выключает подсчет статистики по дням. При этом: $zebra_bp — — количество, количество дней для вывода статистики. $zebra_bp — Статистика постеров по месяцам. Включает или выключает подсчет статистики по месяцам. При этом: $zebra_bp — — количество, количество месяцев для вывода. $zebra_bp — Статистика постеров по годам. Включает или выключает подсчет статистики форума по годам. При этом: $zebra_bp — — количество, количество лет для вывода. Не рекомендуется указывать слишком большое значение, поскольку это может привести к существенным задержкам при подсчете статистики, либо вообще неверному ее значению. $zebra_bp — Статистика постеров по участникам. Включает или выключает подсчет статистики по участникам. При этом: $zebra_bp — — включать участника при количестве постеров, не менее, критерий, по которому участники включаются в статистику. Если таковых участников не обнаружено, в статистику включаются пять наиболее активных. $zebra_bp — Просмотр вглубь на, постеров. Указывается количество постеров (начиная с самого свежего), которые будут проанализированы для составления статистики. Следует иметь в виду, что указание слишком большого числа генерация статистики может занять слишком много времени. Целесообразное значение — в интервале 1000-10000. $zebra_bp — Критерий масштабирования. Определяет способ отображения статистики. В случае «Выборочно» позиции, в которых нет значений (например, дни, в которые на форум не поступило ни одного постера), не включаются в статистику. В случае «По порядку» статистика отображается по всем дням. $zebra_bp — Разрешить поиск. Включает или выключает возможность поиска по постерам форума. (См. также «Ядро. Параметры индексации».) $zebra_bp — Включить индексирование. Предписывает индексировать публикуемые постеры для возможности дальнейшего поиска по ним (см. &la,-quo;Ядро. Параметры индексации»). По каждому постеру индексируются автор, текст и ссылки, при этом цитаты из индексируемого текста исключаются.
    $zebra_bp 2.5. Модерирование
    $zebra_bp Модерирование форума — ответственная задача, требующая постоянного наблюдения, известного такта и понимания меры нарушений, которую можно допустить со стороны посетителей форума, прежде чем применять модерацию. От модератора во многом зависит, насколько желанным будет посещение форума, ведь игнорирование оскорблений одного участника другим может отвратить взоры прочих посетителей не только от постеров этого участника, но и от сайта вообще. Мол, раз уж тут допускают такое, не буду я сюда ходить... $zebra_bp Zebra Forum предоставляет модератору инструментарий для удобного модерирования форумов как по отдельности, так и всех вместе. Кроме того, возможно определить конфигурацию автоматического модерирования, согласно которым будут сами собой вноситься соответствующие изменения без личного вмешательства модератора. Понятно, что позже он волен некоторые из этих изменений отменить. $zebra_bp По мере развития Zebra Forum возможности автомодератора будут существенно расширяться, перекладывая таким образом рутину на плечи постоянного и неусыпного наблюдателя — Зебры.
    $zebra_bp 2.5.1. Модерирование $zebra_bp По умолчанию модерирование осуществляется только по форуму, являющемуся активным. Для включения модерирования по разделу (всем форумам, являющимся подчиненными текущему, в том числе и далее в глубину) необходимо установить параметр «Учитывать подфорумы» в положение «Да». $zebra_bp Доступны несколько способов поиска модерируемых постеров. Во-первых, можно модерировать по темам, во-вторых, по идентификаторам постеров, в-третьих, по авторам. $zebra_bp Модерирование по темам. Выводится список тем, из которых нужно выбрать модерируемую. Темы в данном случае (в отличие от «корневых постеров» в прочих вариантах) — группы постеров, объединенные общим наименованием. При этом учитываются признаки цитирования и счетчики. $zebra_bp Модерирование по идентификаторам. В предлагаемом поле нужно перечислить идентификаторы постеров, подлежащих модерированию, разделяя их запятой. Можно ввести интервал, например: a13d-a257. $zebra_bp Модерирование по авторам. Предлагается список участников форума, из которых нужно выбрать модерируемого. $zebra_bp В зависимости от выбранного метода модерирования будет отображен список постеров, удовлетворяющих этому методу. Заметим, что методы можно комбинировать, то есть выбирать, например, модерирование по теме и по идентификаторам. Они будут отображаться параллельно. $zebra_bp К постерам можно применить следующие действия: $zebra_bp — удалить постер, при этом удаляется и вся ветка обсуждений, подчиненная этому постеру; $zebra_bp — закрыть постер, после закрытия он будет недоступен для ответов; $zebra_bp — закрыть ветку, подчиненную постеру, то есть будет закрыт каждый постер в этой ветке; $zebra_bp — открыть постер, эта операция применима к закрытым постерам; $zebra_bp — переместить в архив, такие постеры в дальнейшем уже не подлежат открытию; $zebra_bp — переместить в другой форум, при этом предлагается список форумов, в который можно этот постер переместить. $zebra_bp Для применения действия к постерам необходимо специально выбрать это действие индивидуально для каждого отображенного постера. Кроме того, если под это действие подпадают все постеры, можно применить его к ним всем скопом. Для этого присутствует специальный элемент в низу таблицы постеров. $zebra_bp К участнику также можно применить особые действия по модерированию: $zebra_bp — включить в группу постоянных участников, при этом его аккаунт будет включен в группу постоянных участников, соответствующую модерируемому форуму; $zebra_bp — включить в список модераторов, при этом участник получает права модератора форума; $zebra_bp — включить в список администраторов, при этом участник получает права администратора, а в настройках Zebra создается его аккаунт (в отличие от списка модераторов; см. также «Ядро. Лица»); $zebra_bp — включить/выключить режим «только чтение», позволяет перевести участника в режим «только чтение» на модерируемом форуме; $zebra_bp — заморозить/разморозить аккаунт, позволяет объявить данного участника вне закона на сайте (а не только на форуме); $zebra_bp — удалить постеры участника на форуме, позволяет удалить все постеры, написанные данным автором, на модерируемом форуме; $zebra_bp — удалить постеры участника на этом форуме и подфорумах, аналогично предыдущему пункту, но во всех форумах, подчиненных модерируемому; $zebra_bp — удалить постеры участника на всех форумах, аналогично предыдущему, но на всех форумах сайта.
    $zebra_bp Поточное модерирование $zebra_bp Модератор может также открыть сам форум в режиме модерирования. Для этого следует указать параметры адресной строки alogin=LOGIN и apwd=PASSWORD, здесь LOGIN — логин администратора, PASSWORD — его пароль. Например:
    http://www.yourhost.com/cgi-bin/zf.cgi?fid=forum1/internal/forum4&alogin=vova&apwd=fg12yT
    $zebra_bp Тогда индексная страница преобразится, на ней появятся дополнительные элементы, позволяющие модератору отметить отдельные постеры для удаления, закрытия/открытия или прочих операций. Также будет добавлен блок администрирования авторов форума. $zebra_bp Примечание. Поточное модерирование возможно только в том случае, если описание индексной страницы (шаблона $showindex) составлено с учетом такого режима.
    $zebra_bp 2.5.2. Параметры модерирования $zebra_bp — Закрыть тему, если не было ответов, дней. Предписывает автоматически закрывать тему, если ответов в нее не поступало указанное количество дней. Закрытая тема доступна для просмотра, но ответы в нее уже не постятся. В дальнейшем по истечении второго срока закрытые темы перемещаются в архив. Модератор может открыть или закрыть любую тему. Темы из архива открытию уже не подлежат.
    $zebra_bp 2.6. Импорт и экспорт
    $zebra_bp 2.6.1. Импорт форумов
    $zebra_bp Zebra Forum предоставляет возможность конвертирования прежних форумов, работавших на сайте, в свой формат. В процессе импорта сохраняются содержимое постеров, авторы, даты написания, структурирование тем и прочие параметры, присущие форумам. Не конвертируются оформление и (если они были) особые опции участников (например, пароль). Конвертация возможна как прямым чтением с диска, так и по http-протоколу посредством создания виртуального браузера и последовательным чтением всех постеров форума. $zebra_bp Поддерживаются следующие форматы: $zebra_bp — WebBoard, $zebra_bp — WTBoard, $zebra_bp — WTBoard через http. $zebra_bp Количество форматов форумов будет расширяться. $zebra_bp В разделе администрирования «Импорт и экспорт» предлагается указать параметры конвертирования. Zebra Forum может автоматически найти некоторые форумы и предложить их импортировать. Кроме того, можно самостоятельно указать параметры для импорта. $zebra_bp — Существующий форум. Список форумов, найденных Zebra Forum, которые можно импортировать без явного указания путей. $zebra_bp — Источник форума. Указывается путь к форуму. Это может быть ссылка на индексную страницу (если форум конвертируется виртуальным браузером через http), либо путь к конфигурационному или иному (зависит от формата) файлу или каталогу форума. Здесь может быть также указан каталог, содержащий -.файлы постеров форума. $zebra_bp — Формат форума. Указывается формат исходного форума, в соответствии с которым будет проводиться импорт. $zebra_bp — Присоединить к форуму. Выбирается целевой форум, в который будут регистрироваться постеры. Если выбрать вариант «Авто», то Zebra Forum предварительно автоматически создаст форум в начальном разделе. Идентификатор и наименование этого форума будут созданы исходя из параметров форума-источника.
    $zebra_bp 2.6.2. Резервирование и восстановление $zebra_bp Резервирование и восстановление в Zebra выполняются единым образом для всех обозначенных в разделе «Резервирование и обновление» баз данных. Однако такой метод резервирования может быть нецелесообразным в некоторых особых случаях, когда не требуется ежедневно делать полный резерв баз данных, а достаточно добавлять к уже имеющемуся архиву появившиеся за прошедшее с прошлого сеанса резервирования новые объекты. Форумные базы данных — и есть один из таких случаев. $zebra_bp Для включения форумного резервирования баз данных требуется в разделе администрирования «Импорт и экспорт» в секции «Параметры резервирования и восстановления» объявить параметры «Расписание резервирования» (например, #1) и «Таймаут начала нового файла» (например, 7). Расписание резервирования составляется в формате, задаваемом правилами, описанными в разделе «Управление данными. Параметры» . $zebra_bp После этого можно запустить процесс резервирования, выбрав в выпадающем меню «Действие» пункт «Запустить резервирование», чтобы были заререзвированы постеры, уже имеющиеся на форумах. $zebra_bp В случае, если постеров очень много, и длительное резервирование приводит к сбою, рекомендуется провести резервирование в несколько этапов. Для этого обозначены поля «Резервировать интервал (по MID)», в котором можно указать левый и правый пределы резервирования по идентификаторам постеров, а также «Резервировать интервал (по дате)», в котором можно указать левый и правый пределы резервирования по дате. $zebra_bp В случае, если необходимо провести восстановление, удалите с сайта файлы zUSERKEYdan1forum.db и zUSERKEYdan3forum.db (они находятся в каталоге файлов баз данных Zebra). После этого отметьте галочки возле файлов резерва, которые требуется подключить, и нажмите «Процесс». Файлы будут последовательно подключены к базам форума.
    $zebra_bp 3. Сводная таблица ключевых слов списка int для Zebra Forum
    $zebra_bp В таблице приведен полный перечень ключей списка int (см. «Ядро. Основной список int»), формируемых при работе Zebra Forum. $zebra_bp Режим ключа указывает, в каком режиме работы форума он обрабатывается и, соответственно, в контексте какого шаблона рассматривается. Будучи определенным в другом режиме, он может потерять смысл. Возможные значения: $zebra_bp — L, режим просмотра списка подфорумов; $zebra_bp — I, режим просмотра индексной страницы; $zebra_bp — V, режим просмотра постера; $zebra_bp — F, режим формы; $zebra_bp — P, режим предварительного просмотра; $zebra_bp — S, режим статистики; $zebra_bp — E, режим пользовательского модерирования и редактирования постера; $zebra_bp — если не указан, значит, ключ справедлив для всех режимов; кроме того, режим может быть указан специально.

    ./
    Ключ Тип Режим Описание
    Сообщения об ошибках
    fatalerrorОбщая ошибка форума, дальнейшая работа невозможна
    notinfoОперация недоступна
    notforumФорум не существует
    errorFSОшибка при публикации или модерировании постера (устанавливается при любой ошибке режимов F и S)
    notfoundFSVПостер не найден
    alrsentFПостер уже опубликован
    denyattachFС постером загружается файл недопустимого типа
    denyleftFОбнаружено, что отправление постера осуществляется с другого сайта (также устанавливается errorlabel)
    denysizeFС постером загружается слишком большой файл
    denyuploadFС постером загружается файл, но на форуме аплоадинг запрещен
    denywordsFВ тексте встречаются слова, запрещенные к публикации, при этом слова помещаются в значение ключа
    errmoderSОшибка при модерировании постера: указана некорректная информация
    errorlabelFОбнаружено несоответствие меток в форме постера
    errpasswordFУказан неверный пароль
    errtimeoutFНеправдоподобно быстрое написание постера, возможно, это рассылка роботом
    noauthorFПользователь не является автором постера
    notbodyFНе заполнено поле body при публикации постера
    notdelegatedFУ автора нет прав на публикацию на этом форуме
    notemailFНе заполнено поле email при публикации постера
    notlimitFУказан срок существования постера больший допустимого
    notloginFНе указано имя автора при публикации постера
    notpasswordFНе заполнено поле password при публикации постера
    notpictureFВ поле picture указана ссылка на изображение недопустимого типа
    notsubjectFНе заполнено поле subject при публкации постера
    notuserFАвтор не зарегистрирован
    readonlyFАккаунт пользователя находится в режиме «read-only»
    Успешно обработанные ключи
    showindexКонечный контент индексного фрагмента
    showmessageКонечный контент фрагмента по просмотру постера
    showlistКонечный контент фрагмента по списку форумов
    showformКонечный контент фрагмента формы
    showpreviewКонечный контент фрагмента пред- и постпросмотра
    showserviceКонечный контент фрагмента по сервису
    metaДополнительно формируемая вставка для реализации некоторых автоматических действий
    fidПолный идентификатор форума; может быть не определен только на самом верхнем уровне или в случаях notforum, notinfo
    forumНазвание форума; может быть не определено только на самом верхнем уровне или в случаях notforum, notinfo
    byauthor[Фильтр] Устанавливается в случае, если определен параметр командной строки byauthor=USERID
    showbyday[Фильтр] Устанавливается в случае, если определен параметр командной строки day=DD.MM.YYYY, активирующий фильтр индекса форума по указанной дате
    showbyweek[Фильтр] Устанавливается в случае, если определен параметр командной строки week=W.MM.YYYY, активирующий фильтр индекса форума по указанной неделе месяца
    showbymonth[Фильтр] Устанавливается в случае, если определен параметр командной строки month=MM.YYYY, активирующий фильтр индекса форума по указанному месяцу
    fromdate[Фильтр] Устанавливается в случае, если определен параметр командной строки fromdate=XXX, где XXX — дата, указанная в одном из допустимых форматов; активирует фильтр тем по условию «активные или созданные после указанной даты»
    todate[Фильтр] Устанавливается в случае, если определен параметр командной строки todate=XXX, где XXX — дата, указанная в одном из допустимых форматов; активирует фильтр постеров по условию «созданные до указанной даты»
    filteractiveУстанавливается в случае, если определен какой-либо режим особого отбора постеров — по byauthor, showbyday, showbyweek или showbymonth; при этом присваивается значение, соответствующее фильтру (если фильтров несколько, они перечисляются через запятую)
    filterkeyУстанавливается в случае, если определены фильтры, для наследования их в ссылках; дополняется в случае каждого фильтра соответствующим ключом
    orderindexУстанавливается в случае, если в параметрах командной строки указан ключ orderindex=X, определяющий режим сортировки списка постеров (см. выше); содержит значение ключа
    reverseorderУстанавливается в случае, если в параметрах командной строки указан ключ reverseorder=X, определяющий режим направления сортировки; содержит значение ключа, при этом для программы значение 2 равнозначно 0
    addressoptionsУстанавливается в случае, если для форума разрешено настраивать некоторые параметры стиля через командную строку
    searchenabledПоиск по форуму разрешен
    statenabledПросмотр статистики форума разрешен
    usermoderРежим пользовательского модерирования разрешен и активен
    userserviceSРежим «настройки пользователя»
    statserviceSРежим «статистика форума»
    searchserviceSРежим «поиск»
    modermodeFIРежим модератора
    aloginFIИмя модератора
    apwdFIПароль модератора
    editFПризнак режима редактирования постера
    uploadenabledFЗагрузка файлов разрешена
    previewmodeFPАктивен режим предпросмотра
    homelabelFНачальная часть сигнальной метки
    endlabelFЗавершающая часть сигнальной метки
    alloweditFРедактирование постеров разрешено
    loginFЛогин пользователя
    passwordenabledFПарольная защита включена
    password, pwdFПароль пользователя (устанавливается, если разрешена автоподстановка пароля)
    emailFАдрес e-mail пользователя
    emailenabledFДублирование ответов на e-mail разрешено
    replytoemailFУстанавливается в checked, если отмечено «Всегда получать»
    hideannotationFУстанавливается в 1, если отмечено «Убрать аннотацию»
    hideurlFУстанавливается в 1, если отмечено «Убрать поле ссылки»
    hidepictureFУстанавливается в 1, если отмечено «Убрать поле картинки»
    limitlistFУстанавливается поле формы типа select (выпадающий список), в котором перечисляются категории лимита
    limitvalueFВеличина лимита
    previewenabledFПредпросмотр разрешен
    lastvisitLIДата последнего посещения данного раздела пользователем
    newmessagesLIКоличество новых постеров на форуме, появившихся с момента прошлого посещения
    forumsMULTIPLELПеречисление форумов; значение ключа соответствует количеству подфорумов в разделе
    numberforumsLПорядковый номер форума (список сортируется в алфавитном порядке)
    FORUMOPTIONSforumsLСпектр параметров форума
    allowmessagesFПубликация постеров разрешена
    expandIVРазвернуть постеры (показать сокращенный вариант их содержимого)
    activeIVИдентификатор активного постера (или верхнего постера индексной страницы)
    useroptionsIПользовательские настройки разрешены
    hideheaderIУстанавливается в 1, если отмечено «Скрыть статистику форума»
    informationIРасширенная информация о форуме
    forumFORUMOPTIONSIСпектр параметров форума
    directIЛинейка навигации по частям разбитой индексной страницы; определена только в том случае, если разбиение осуществлено
    messagesMULTIPLEIОпределено, если на форуме есть постеры, при этом формирование ключей происходит согласно конфигурации стиля и параметрам форума; значение ключа содержит количество постеров на индексной странице
    MESSAGEmessagesIПолный спектр параметров форума, которые используются при рендеринге индексной страницы
    premodera01tedIPФорум премодерируемый, постер поставлен в очередь на рассмотрение публикации
    enabledpersonalОпределен, если на форуме разрешена публикация персональных постеров
    personalmodeОпределен, если активен режим просмотра персональных постеров
    personalmessagesОпределен, если на форумах имеются новые персональные постеры; в значение устанавливается количество этих постеров
    previewMESSAGEPСпектр параметров постера при предварительном или постпросмотре; например: previewlimitlongdate, previewAUTHOR
    service_openmesSАктивирован режим открытия постера и всей его ветки (параметр адресной строки open=MID)
    service_closemesSАктивирован режим закрытия постера и всей его ветки (параметр адресной строки close=MID)
    service_deletemesSАктивирован режим удаления постера и всей его ветки (параметр адресной строки delete=MID)
    userserviceSАктивирован режим настройки параметров пользователя
    useroptions_forumSСгенерированная форма параметров пользователя (какая именно — определяется в конфигурации стиля)
    statserviceSАктивирован режим вывода статистики
    mergesubforumsSОпределен, если выполняется одно из условий: — включен параметр «Объединить индексы вложенных форумов»; включен параметр «Разрешить настройку через адресную строку» и в адресной строке присутствует ключ sub=1. Если параметр mergesubforums определен, то сбор и подготовка статистики осуществляются по всем подфорумам раздела.
    statscaleSЗначение критерия масштабирования статистик
    DATEforumbeginSВсе ключи, соответствующие времени начала функционирования форума
    DATEstatbeginSВсе ключи, соответствующие времени, начиная с которого подсчитывается статистика (точка отсчета изменяется в зависимости от глубины анализа и определяется наиболее старым проанализированным постером)
    totalrcounterSОбщее количество корневых постеров (тем) на форуме
    totalallrcounterSОбщее количество корневых постеров, опубликованных на форуме с момента начала его работы (включая удаленные и архивированные)
    totalcounterSОбщее количество ответов на форуме
    totalallcounterSОбщее количество ответов, опубликованных на форуме с момента начала его работы (включая удаленные и архивированные)
    totalpcounterSОбщее количество постеров на форуме
    totalallpcounterSОбщее количество постеров, опубликованных на форуме с момента начала его работы (включая удаленные и архивированные)
    totalrequestsSКоличество запросов, сделанных на форум (суммарное количество чтений индексной страницы и постеров)
    totalrwidthSСчетчик тем (корневых постеров), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    totalallrwidthSСчетчик всех опубликованных тем (корневых постеров), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    totalpwidthSСчетчик постеров, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    totalallpwidthSСчетчик всех опубликованных постеров, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    totalwidthSСчетчик ответов, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    totalallwidthSСчетчик всех опубликованных ответов, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    statservice_daysMULTIPLESОпределен блок статистики по дням; в значение ключа вносится количество дней, по которым сформирована статистика
    D12ATEstatservice_daysSВсе ключи, соответствующие времени, для режима statservice_days
    rcounterstatservice_daysSСчетчик тем (корневых постеров), опубликованных за день
    pcounterstatservice_daysSСчетчик всех постеров, опубликованных за день
    rwidthstatservice_daysSСчетчик тем (корневых постеров), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    pwidthstatservice_daysSСчетчик постеров, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    statservice_hoursMULTIPLESОпределен блок статистики по времени суток — подсчитывается количество постеров, опубликованных на форуме, по часам
    hourstatservice_hoursSЧас
    hhourstatservice_hoursSЧас, учитывая ведущий нуль
    rcounterstatservice_hoursSСчетчик тем (корневых постеров), опубликованных в течение этого часа (за все дни)
    pcounterstatservice_hoursSСчетчик всех постеров, опубликованных в течение этого часа (за все дни)
    counterstatservice_hoursSСчетчик ответов, опубликованных в течение этого часа (за все дни)
    rwidthstatservice_hoursSСчетчик тем (корневых постеров), опубликованных в течение этого часа (за все дни), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»), уменьшенному вдвое
    pwidthstatservice_hoursSСчетчик постеров, опубликованных в течение этого часа (за все дни), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»), уменьшенному вдвое
    widthstatservice_hoursSСчетчик ответов, опубликованных в течение этого часа (за все дни), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»), уменьшенному вдвое
    statservice_months MULTIPLESОпределен блок статистики по месяцам; в значение ключа вносится количество месяцев, по которым сформирована статистика
    DATEstatservice_months SВсе ключи, соответствующие времени, для режима statservice_months
    rcounterstatservice_monthsSСчетчик тем (корневых постеров), опубликованных за месяц
    pcounterstatservice_monthsSСчетчик всех постеров, опубликованных за месяц
    rwidthstatservice_monthsSСчетчик тем (корневых постеров), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    pwidthstatservice_monthsSСчетчик постеров, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    statservice_yearsMULTIPLESОпределен блок статистики по годам; в значение ключа вносится количество лет, по которым сформирована статистика
    DATEstatservice_yearsSВсе ключи, соответствующие времени, для режима statservice_years
    rcounterstatservice_yearsSСчетчик тем (корневых постеров), опубликованных за год (но не дальше, чем глубина подсчета)
    pcounterstatservice_yearsSСчетчик всех постеров, опубликованных за год (но не дальше, чем глубина подсчета)
    rwidthstatservice_yearsSСчетчик тем (корневых постеров), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    pwidthstatservice_yearsSСчетчик постеров, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    statservice_usersMULTIPLESОпределен блок статистики по авторам; в значение ключа вносится количество авторов, по которым сформирована статистика
    DATEstatservice_usersSВсе ключи, соответствующие времени, для режима statservice_users
    AUTHORstatservice_usersSСпектр параметров соответствующего пользователя
    rcounterstatservice_usersSСчетчик тем (корневых постеров), начатых автором (но не дальше, чем глубина подсчета)
    pcounterstatservice_usersSСчетчик всех постеров, опубликованных автором (но не дальше, чем глубина подсчета)
    rwidthstatservice_usersSСчетчик тем (корневых постеров), опубликованных автором, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    pwidthstatservice_usersSСчетчик постеров, опубликованных автором, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    searchwordsSСлова, переданные для поиска
    searchresultSОпределено, если поиск уже произведен
    searchtype_XSКритерий поиска «искомый слова»: X=0 — любое слово, X=1 — все слова
    searchplace_XSКритерий поиска «где искать»: X=0 — в текущем форуме, X=1 — в группе форумов, X=2 — во всех форумах
    searchbegdateSКритерий поиска «искать, начиная с даты»
    searchenddateSКритерий поиска «искать до даты»
    searchauthorSКритерий поиска «искать постеры автора»
    searchdestinationSКритерий поиска «искать ответы пользователю»
    searchviewtype_XSКритерий отображения: X=0 — выводить сжато, X=1 — выводить подробно
    searchviewsort_XXXSКритерий сортировки результата, XXX — способ сортировки: relevance — по релевантности, createdate — по дате публикации, modifydate — по дате изменения постера, length — по размеру постера
    searchviewnum_NNSКритерий количества отображаемых результатов поиска на одной странице, NN — число результатов
    adequateSКоличество найденных постеров, полностью соответствующих запросу (если в запросе несколько слов)
    allfoundSВсего найдено постеров, полностью или частично удовлетворяющих запросу
    searchignoredSПроигнорированные при поиске слова
    toomanyresultsSНайдено слишком много документов, требуется сузить поиск
    foundMULTIPLESОпределено, если поиск успешен; в значение ключа вносится количество найденных постеров, удовлетворяющих запросу
    numberfoundSПорядковый номер найденного ресурса в отсортированном по установленному критерию списке
    relevancefoundSРелевантность постера (соответствие условиям поиска)
    hreffoundSСсылка на найденный постер
    MESSAGEfoundSСпектр параметров постера
    AUTHORfoundSСпектр параметров автора постера
    searchviewtypefoundSКритерий отображения: 0 — сжатый, 1 — подробный
    lessfoundSОпределено, если в постере найдены не все слова из запроса
    findfoundSКоличество найденных из запроса слов
    findwordsfoundSСлова из запроса, найденные в постере
    lengthfoundSРазмер полезного текста в постере
    descfoundSОписание постера, сохраненное в базе индексов Zebra
    searchpreviousSПорядковый номер предыдущей страницы с результатами поиска
    searchnextSПорядковый номер следующей страницы с результатами поиска
    searchpagesMULTIPLESОпределено, если число найденных по запросу поисков превышает значение, установленное параметром searchviewnum
    activesearchpagesSОпределено, если совпадает с тек34ущей частью результатов поиска
    number, searchviewbeginsearchpagesSПорядковый номер страницы результатов поиска
    Параметры форума (FORUMOPTIONS)
    fidПолный идентификатор форума
    forumНаименование форума
    descriptionКраткое описание форума
    administrators, forumadministratorsСписок администраторов форума
    moderators, forummoderatorsСписок модераторов форума
    beginDATEСпектр параметров категории DATE, соответствующих началу работы форума
    presentsubforumsОпределен, если имеются подфорумы, при этом в значение заносится количество подфорумов
    grouprequestsОбщее количество запросов, сделанное к форумам и подфорумам ветки
    grouprequestmidИдентификатор последнего запрошенного постера из ветки
    grouprequestsubjectТема последнего запрошенного постера из ветки
    grouprequestAUTHORСпектр параметров посетителя, сделавшего последний запрос в форумах и подфорумах ветки
    grouprequestDATEСпектр параметров категории DATE, соответствующих последнему запросу в форумах и подфорумах ветки
    groupmessagesОбщее количество постеров в форумах и подфорумах ветки
    groupallmessagesОбщее количество постеров в форумах и подфорумах ветки, опубликованных за все время работы
    groupmidИдентификатор последнего опубликованного постера в ветке
    groupsubjectТема последнего опубликованного постера в ветке
    groupAUTHORСпектр параметров пользователя, опубликовавшего последний постер в форумах и подфорумах ветки
    groupDATEСпектр параметров категории DATE, соответствующих публикации последнего постера в форумах и подфорумах ветки
    grouprootmessagesОбщее количество тем (корневых постеров) в форумах и подфорумах ветки
    groupallrootmessagesОбщее количество тем (корневых постеров) в форумах и подфорумах ветки, опубликованных за все время работы
    grouprootmidИдентификатор последней начатой темы в ветке
    grouprootsubjectТема последней начатой темы в ветке
    grouprootAUTHORСпектр параметров пользователя, начавшего последнюю тему (корневой постер) в форумах и подфорумах ветки
    grouprootDATEСпектр параметров категории DATE, соответствующих публикации последней темы в форумах и подфорумах ветки
    grouprepliesОбщее количество ответов в форумах и подфорумах ветки
    groupallrepliesОбщее количество ответов в форумах и подфорумах ветки, опубликованных за все время работы
    groupreplymidИдентификатор последнего ответа в форумах и подфорумах ветки
    groupreplysubjectТема последнего ответа в форумах и подфорумах ветки
    groupreplyAUTHORСпектр параметров пользователя, опубликовавшего последний ответ в форумах и подфорумах ветки
    groupreplyDATEСпектр параметров категории DATE, соответствующих публикации последнего ответа в форумах и подфорумах ветки
    rootmessagesКоличество тем (корневых постеров) на форуме
    allrootmessagesКоличество тем (корневых постеров) на форуме, опубликованных за все время работы форума
    rootmidИдентификатор последней созданной темы (корневого постера)
    rootsubjectТема последней созданной темы (корневого постера)
    rootAUTHORСпектр параметров автора последней начатой темы
    rootDATEСпектр параметров категории DATE, соответствующих публикации последней темы (корневого постера)
    messagesКоличество постеров на форуме
    allmessagesКоличество постеров на форуме, опубликованных за все время работы форума
    midИдентификатор последнего опубликованного постера
    subjectТема последнего опубликованного постера
    AUTHORСпектр параметров автора последнего опубликованного постера
    DATEСпектр параметров категории DATE, соответствующих публикации последнего постера на форуме
    repliesКоличество ответов на форуме
    allrepliesКоличество ответов на форуме, опубликованных за все время работы форума
    replymidИдентификатор последнего опубликованного ответа
    replysubjectТема последнего опубликованного ответа
    replyAUTHORСпектр параметров автора последнего ответа
    replyDATEСпектр параметров категории DATE, соответствующих публикации последнего ответа
    requestmidИдентификатор последнего запрошенного постера
    requestsubjectТема последнего запрошенного постера
    requestAUTHORСпектр параметров посетителя, сделавшего последний запрос
    requestDATEСпектр параметров категории DATE, соответствующих последнему запросу форума (индекса или постеров)
    requestsКоличество запросов форума (индексной страницы и постеров в сумме)
    changeroots_XXXКоличество корневых постеров, появившихся на форуме за последние XXX дней; при этом XXX может быть любым, и таких ключей может быть несколько с разными значениями XXX
    changemessages_XXXКоличество постеров, появившихся на форуме за последние XXX дней; при этом XXX может быть любым, и таких ключей может быть несколько с разными значениями XXX
    Спектр параметров постера (соответственно MESSAGE)
    midИдентификатор постера
    midhrefСсылка на постер, сгенерированная форумом
    title, subjectНазвание (тема) постера (в режиме I может быть укорочено в соответствии с конфигурацией выбранного стиля)
    authoridИдентификатор автора постера
    authoripIP-адрес, с которого был отправлен постер
    AUTHORСпектр параметров автора постера
    isadminОпределено, если автор постера является администратором форума
    ismoder, ismoderatorОпределено, если автор постера является модератором форума
    invalidationАвтор постера не подтвержден
    personalОпределено, постер является персональным (отображается только для автора и адресата)
    createDATEСпектр параметров категории DATE, соответствующих публикации постера
    limitDATEСпектр параметров категории DATE, соответствующих предельному сроку существования постера
    closeDATEСпектр параметров категории DATE, соответствующих дате закрытия постера (также признак закрытия)
    annotationFPVАннотация на постер
    bodyFPVТело постера, отформатированное в соответствии с конфигурацией выбранного стиля (в режиме F может быть дополнено символами квотинга)
    treebodyIVТело постера, приведенное в соответствие с режимом «Развернуть текст»
    treemorebodyIVУстанавливается в 1, если treebody не совпадает с body
    pictureFPVСсылка на картинку постера
    titlepictureFPVНазвание файла ссылки на картинку
    urlFPVВнешняя ссылка, сопоставленная постеру
    urltitleFPVНаименование внешней ссылки
    activeИдентификатор постера, являющегося началом темы
    rootmidИдентификатор постера, являющегося началом темы (если текущий постер сам по себе является началом темы, ключ не определен)
    roothrefСсылка на постер начала темы
    rootsubjectНазвание постера начала темы
    parentmidИдентификатор постера, на который текущий является ответом
    parenthrefСсылка на отвечаемый постер
    parentsubjectНазвание отвечаемого постера
    parentAUTHORСпектр параметров автора постера, на который текущий является ответом
    parentDATEСпектр параметров категории DATE, соответствующих публикации постера, на который текущий является ответом
    modifyAUTHORСпектр параметров редактора постера
    modifyDATEСпектр параметров категории DATE, соответствующих дате изменения постера
    replyAUTHORСпектр параметров автора ответа на подчиненную постеру ветку
    replycounterСчетчик ответов на постер
    replyDATEСпектр параметров категории DATE, соответствующих публикации ответа в подчиненную постеру ветку
    prevmidИдентификатор предыдущего постера (если есть)
    nextmidИдентификатор следующего постера (если есть)
    sizeРазмер постера (текста)
    requestcounterСчетчик запросов постера
    requestrootСчетчик запросов постера и всех постеров подчиненной ему ветки
    emptymessageОпределено, если size равно нулю
    alloweditПостер разрешено редактировать
    newmessageДанный постер является новым для посетителя
    repliesMULTIPLE VОпределено, если на постер есть ответы; в значение ключа вносится количество элементов ветки
    treebeginrepliesVНачало структурирования ветки ответов
    treeelementrepliesVЭлемент структурирования ветки ответов
    treeendrepliesVЗавершение структурирования ветки ответов
    MESSAGErepliesVСпектр параметров сообщения, перечисленных в шаблоне showmessage
    activemidrepliesVОпределен, если постер элемента ветки совпадает с активным
    Спектр параметров пользователя (соответственно AUTHOR)
    authorИмя автора последнего постера
    authorcityМесто жительства автора последнего постера
    authoremailАдрес e-mail автора последнего постера
    authorinitialsСодержит инициалы пользователя в стиле квотинга
    authorXXXПрочие параметры пользователя, здесь XXX — мнемонический идентификатор параметра
    personИмя автора последнего постера, совмещенное со ссылкой на «кабинет» пользователя
    readonlyУстанавливается в 1, если пользователь находится в режиме «read-only»
    Спектр параметров категории DATE (соответственно DATE)
    dateДата в стандартном формате: DD/MM/YYYY HH:MM:SS
    shortdateДата в адаптированной форме: если находится в пределах текущего дня, устанавливается только время в формате HH:MM:SS, если соответствует более раннему сроку, устанавливается только дата (исключая время) в формате DD/MM/YYYY
    longdateДата в формате, определенном пользователем в конфигурации Zebra (см. «Ядро. Основные параметры»)
    sec, min, hour, day, month, year, fullyear, wday, wmonthСекунды, минуты, часы, день, месяц и год в двух- и четырехзнаковой форме, а также названия дня недели и месяца, соответствующие обозначенному времени и дате
    ssec, mmin, hhour, dday, mmonthСекунды, минуты, часы, день и месяц, соответствующие обозначенной дате, в двухзнаковой форме, с ведущим нулем (если это необходимо)
    todayОпределено, если дата соответствует сегодняшнему числу; при этом значение устанавливается по формату DD.MM.YYYY
    yesterdayОпределено, если дата соответствует вчерашнему числу; при этом значение устанавливается по формату DD.MM.YYYY
    dyesterday, ddyesterdayОпределено, если дата соответствует числу позавчера или два дня назад; при этом значение устанавливается по формату DD.MM.YYYY
    thisweekОпределено, если дата соответствует числу в пределах семи дней
    Линейка навигации по частям индексной страницы
    firstmidIИдентификатор верхнего постера первой части
    lastmidIИдентификатор верхнего постера последней части
    nextIИдентификатор верхнего постера следующей части
    prevIИдентификатор верхнего постера предыдущей части
    partsMULTIPLE IОпределено, если страница разбита на части по причине большого количества постеров в форуме; значение ключа соответствует количеству частей
    currentmidpartsIОпределен, если элемент соответствует текущей странице
    partpartsIПорядковый номер части
    midpartsIВерхний постер части
     
    $zebra_bp При разработке шаблонов форума рекомендуется воспользоваться готовыми шаблонами, в которых ключи установлены в полном соответствии с условиями и правилами Zebra Forum. Эти шаблоны расположены в дистрибутиве в каталоге dsc и имеют в названии префикс f.s (от forum.style). $endbody_years

    SСчетчик тем (корневых постеров), отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    pwidthstatservice_yearsSСчетчик постеров, отмасштабированный по «Критерию масштабирования» (см. «Параметры сервиса»)
    statservice_usersMULTIPLESОпределен блок статистики по авторам; в значение ключа вносится количество авторов, по которым сформирована статистика
    DATEstatservice_usersSВсе ключи, соответствующие времени, для режима statservice_users
    AUTHORstatservice_usersSСпектр параметров соответствующего пользователя
    Zebra
    $zebra_bp ...В Юго-Восточной Африке, не далее 33-34o восточной долготы, южнее озера Виктория, встречаются стада красивых, быстрых животных, известных еще древним под именем гиппотигров, те есть тигровых лошадей. $zebra_bp «Трудно вообразить себе, — говорит Zebra Гаррис, — существо прекраснее этого сильного, дикого, быстрого обитателя пустыни. Далеко кругом глаз охотника встречает только песчаную равнину, красноватый цвет которой местами прерывается более темными пятнами выжженной солнцем травы и скудно оттеняется одиноко стоящими группами перистолистных мимоз. Вдруг среди этого безотрадного ландшафта появляется темное облако пыли, подвигающееся все ближе и ближе; наконец, оно превращается в целое стадо великолепно окрашенных полосатых животных, которые вскачь несутся на вас, гремя своими копытами, подобно кавалерийскому полку. Это — табун тигровых лошадей. С беспорядочной поспешностью мчатся они, подняв вверх головы и хвосты. Впереди, с раздутыми ноздрями, развевающейся гривой и хлеща себя по бедрам хвостом, выступает старый жеребец — вожак стада...» Среди стада этих странных животных можно встретить и разных жвачных, например, буйволов, гну, антилоп, затем Zebra — быстроногих страусов. Охотнику на хорошей лошади нетрудно догнать сомкнувшийся тесными рядами табун тигровых лошадей, но одиночную лошадь не догнать ни за что, — до того быстры эти животные. $zebra_bp В настоящее время насчитывается пять видов тигровых лошадей, именно: квагга, дау, зебра, тигровая лошадь Шапмана и зебра Греви. $zebra_bp Первый вид, квагга, походит на лошадь, Zebra только — с короткой, прямо стоящей гривой; хвост длиннее, чем у других тигровых лошадей, но короче лошадиного. Волосы короткие. Основной цвет шерсти — гнедой, на голове темнее, на спине и боках — светлее, а на животе — чисто-белый. На голове, шее и плечах тянутся беловато-серые, с рыжим оттенком, полосы, а вдоль спины идет черно-бурая полоса. Размер — до 1 сажени, хвост — 60 см, высота у загривка — 1,3 м. Водится в восточных частях Капской области, к северу пустыни Калахари и некоторых других странах Южной Африки. $zebra_bp Дау, или буршелева лошадь, почти такого же роста, как квагга, но гораздо красивее и Zebra благороднее. Грива поднимается в виде гребня на 13 см вышины, хвост почти до корня покрыт волосами. Мягкая, гладко лежащая шерсть наверху светло-рыжая, внизу — белая. По ней идут черные узкие полосы, посредине спины идет также черная полоса, окаймленная белым. Водится ближе к реке Замбези. Там же встречается, в общем очень похожая на дау, тигровая лошадь Шапмана, цвет которой колеблется между желтым с шоколадными Zebra полосами и белым с почти черными полосами. $zebra_bp Напротив, зебра, или горная лошадь, более походит на осла, именно джугстая: хвост покрыт короткими, только на конце удлиненными волосами, как у ослов, грива густая, но очень короткая. По белому или желтоватому фону тянутся от самой морды до копыт (что отличает зебру от других тигровых лошадей) косые полосы блестящего черного или рыжевато-бурого цвета. Вдоль спины идет темно-бурая полоса. Очень похожа на нее и зебра Греви, только полосы у нее многочисленнее и уже. $zebra_bp Первые зебры встречаются в горных странах Капской области, около Бенгуелы и к востоку до 12o южной широты, Зебра Греви — на полуострове Сомали. $zebra_bp Относительно пищи все тигровые лошади не очень прихотливы. Zebra В случае недостатка пищи они, подобно многим другим животным, предпринимают временные путешествия и в это время часто причиняют большой ущерб колонистам, вытаптывая их поля. Голос полосатых животных мало напоминает ржание лошади. Квагга издает несколько раз повторяемый ею звук «ква, ква», чем и объясняется готтентотское название этого животного; дау испускает короткие звуки, вроде «го, го», зебра, по словам Пехуэль-Леше, кричит, как возбужденный жеребец. Геккель же пишет: Zebra «Южная квагга лает и тявкает почти как собака; северная же положительно ревет и голосом напоминает льва; вообще в ярости тигровая лошадь кричит, как хищное животное, что часто вводило нас в обман...» $zebra_bp Все внешние чувства полосатых коней очень развиты, особенно зрение и слух; в умственном же отношении они отличаются свободолюбием, дикостью, мужеством и иногда коварством. Из зверей разве только могучий лев является страшным врагом для этого храброго и быстрого животного. Но самый свирепый враг — человек, преследующий их из-за красивого меха и вкусного, по крайней мере для туземцев, мяса. $zebra_bp По-видимому, тигровые лошади не только хорошо переносят неволю, но и приручаются, хотя опыты с укрощением их и не всегда удаются...

    А. Э. Брэм. Жизнь животных. Т. 1. Млекопитающие. М.: Терра, 1992.
    Иллюстрации взяты с сайта The Zebra Photo Gallery
    $endbody>
    grouprepliesОбщее количество ответов в форумах и подфорумах ветки
    groupallrepliesОбщее количество ответов в форумах и подфорумах ветки, опубликованных за все время работы
    groupreplymidИдентификатор последнего ответа в форумах и подфорумах ветки
    groupreplysubjectТема последнего ответа в форумах и подфорумах ветки
    groupreplyAUTHORСпектр параметров пользователя, опубликовавшего последний ответ в форумах и подфорумах ветки
    groupreplyDATEСпектр параметров категории DATE, соответствующих публикации последнего ответа в форумах и подфорумах ветки
    rootmessagesКоличество тем (корневых постеров) на форуме
    allrootmessagesКоличество тем (корневых постеров) на форуме, опубликованных за все время работы форума

    $zebra_bp Содержание раздела: $zebra_bp 1. Внешняя работа с Zebra Site $zebra_bp 2. Внутренняя работа с Zebra Site (администрация) $zebra_bp 2.1. Параметры $zebra_bp 2.1.2. Описание активации $zebra_bp 2.1.3. Описание аутентификации $zebra_bp 2.2. Редактирование страниц $zebra_bp 2.2.1. Свойства групп $zebra_bp 2.2.2. Автоматическое деление больших страниц $zebra_bp 2.2.3. Выбор страницы $zebra_bp 2.2.4. Добавление страницы $zebra_bp 2.2.5. Редактирование страницы $zebra_bp 2.3. Автоматическое добавление $zebra_bp 2.4. Схемы форматирования $zebra_bp 2.5. Описание страницы $zebra_bp 2.5.1. Процедура $zebra_bp 2.5.2. Ссылка $zebra_bp 2.5.3. Запись $zebra_bp 2.5.4. Условная инструкция $zebra_bp 2.5.5. Ключ
    $zebra_bp Модуль Zebra Site является компонентом комплекса Zebra, отвечающим за поддержку работы сайта. Он обеспечивает генерацию и возврат страниц из базы, обработку дополнительных условий и событий.
    $zebra_bp 1. Внешняя работа с Zebra Site
    $zebra_bp Внешний файл модуля называется zs.cgi. Кроме того, трансляция запроса ему же осуществляется интегрирующими модулями zebra.cgi и z.cgi при условии указания параметра z=s (см. ниже). $zebra_bp Вызов страницы осуществляется любым из следующих вариантов: $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?p=NAMEPAGE $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?NAMEPAGE $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?p=NAMEPAGE&l=ru $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?p=NAMEPAGE&l=ru&f=alt $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?p=NAMEPAGE&lang=ru $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?NAMEPAGE&lang=ru $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?NAMEPAGE&lang=ru&prof=alt $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?lang=ru&NAMEPAGE $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?lang=ru $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?list=NAMELIST $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi?NAMEPAGE&statistic=off $zebra_bp http://www.yourhost.com/cgi-bin/zs.cgi $zebra_bp Здесь NAMEPAGE — идентификатор страницы. $zebra_bp Если указан параметр l (он же lang), ищется вариант ресурса для обозначенного языка, при отсутствии возвращается вариант по умолчанию. Если указан параметр f (он же prof), ищется вариант для соответствующего профиля. При отсутствии возвращается вариант для профиля по умолчанию. $zebra_bp В том случае, если указаны и l, и f, поиск страницы производится в порядке, установленном согласно правилам, описанным в главе «Ядро. Разделение ресурсов». Как только обнаруживается страница для очередной комбинации, она считается соответствующей запросу и обрабатывается. $zebra_bp Таким же образом выполняется поиск всех языко- и ресурсозависимых параметров, используемых Zebra. $zebra_bp Параметр командной строки p (он же page) указывает наименование страницы, которую нужно возвратить по запросу. Аргумент p= указывать не обязательно, если в строке обнаруживается значение без ключа, оно автоматически считается наименованием страницы. Однако в некоторых случаях это может не сработать, поэтому для гарантированного возврата запрошенной страницы рекомендуется параметр устанавливать. $zebra_bp Отсутствие наименования страницы, равно как и полное отсутствие параметров считается вызовом страницы с идентификатором index. Locale и профиль при этом определяются согласно правилам, описанным в главе «Ядро. Разделение ресурсов». $zebra_bp Если в командной строке определен параметр list=NAMELIST, формируется список страниц из группы, обозначенной наименованием NAMELIST. $zebra_bp Если страница или группа с идентификатором NAME отсутствует во всех проверяемых вариантах l и f, возвращается ресурс notfound. $zebra_bp Дополнительный параметр командной строки statistic=off служит для отключения вывода статистики внизу страницы и справедлив в том случае, если статистика разрешена. $zebra_bp Кроме прямого вызова zs.cgi из командной строки, можно воспользоваться следующими вариантами: $zebra_bp zebra.cgi?z=s&COMMAND $zebra_bp z.cgi?z=s&COMMAND $zebra_bp Здесь COMMAND — параметры запуска для zs.cgi. Кроме того, вызову zs.cgi?index однозначно соответствуют: $zebra_bp zebra.cgi $zebra_bp z.cgi $zebra_bp index.cgi $zebra_bp Для неявного вызова модуля можно воспользоваться трансляцией контента через shtml-файл (этот способ, в частности, применяется при эмуляции ЧПУ, см. «Управление данными. ЧПУ»). Например, имеем файл index.shtml следующего содержания:
    ------begin of index.shtml-------
    <!--#include virtual="/cgi-bin/zs.cgi"-->
    -------end of index.shtml--------

    $zebra_bp Тогда, положив его в корневой каталог сайта http://www.yourhost.com/, получим те же результаты следующим образом: $zebra_bp http://www.yourhost.com/?p=NAMEPAGE&l=ru $zebra_bp http://www.yourhost.com/index.shtml?NAMEPAGE&l=en $zebra_bp http://www.yourhost.com/?list=NAMELIST&l=ru&statistic=off $zebra_bp Если же определить немного иначе:
    ------begin of index.shtml-------
    <!--#include virtual="/cgi-bin/zs.cgi?p=NAMEPAGE&l=ru&statistic=off"-->
    -------end of index.shtml--------

    то параметры командной строки на результат влиять не будут.
    $zebra_bp * Сводный список параметров вызова Zebra Site $zebra_bp — p, page — идентификатор запрашиваемой страницы; по умолчанию index $zebra_bp — list — идентификатор запрашиваемой группы страниц $zebra_bp — l, lang — явное указание locale для запрашиваемого ресурса $zebra_bp — f, prof — явное указание профиля запрашиваемого ресурса $zebra_bp — statistic=off — предписание отключить вывод статистики внизу страницы
    $zebra_bp Кроме того особо обрабатываются следующие команды: $zebra_bp — passwordrequest=1 — запрос формы на восстановление пароля; $zebra_bp — activate=KEY — вызов процедуры активизации внесенных изменений (см. «Описание активации»); $zebra_bp — search=WORDS — запрос на поиск по сайту (подразумевает также наличие дополнительных опциональных параметров, подробнее см. «Параметры»).
    $zebra_bp 2. Внутренняя работа с Zebra Site (администрация)
    $zebra_bp Доступ к администрированию осуществляется посредством интегрирующего административного модуля ze.cgi либо напрямую вызовом административного модуля Zebra Site zse.cgi. При запуске запрашивается авторизация, для доступа к администрированию администратор должен иметь права с префиксом S. Доступ осуществляется пораздельно, таким образом, администраторы с разными правами могут иметь доступ в разные части Zebra Site. Полный доступ к разделам определяется правами Sa либо # (о разделении прав администраторов подробнее см. «Ядро. Администраторы»). $zebra_bp В полном меню администрирования Zebra Site присутствуют следующие пункты: $zebra_bp — параметры $zebra_bp — редак9:тирование $zebra_bp — схемы форматирования
    $zebra_bp 2.1. Параметры
    $zebra_bp Включить прегенерацию ресурсов. Включает механизм прегенерации ресурсов. В этом случае они, будучи однократно сгенерированы, записываются в файл на сервере, и в дальнейшем осуществляется возврат именно этого файла. Изменение ресурса влечет за собой перегенерацию файла. При этом учитываются динамические вставки (встроенные процедуры и т.д.) путем создания дополнительных cgi- и иных файлов. При прегенерации снижается нагрузка на сервер и Zebra. Отметим также, что Zebra генерирует отдельные ресурсы для каждого языка и профиля. $zebra_bp Прегенерация по расписанию. Задается расписание, согласно которому будет производиться полная перезапись всех прегенерируемых ресурсов. Данное действие является страховочным на случай, если какое-либо изменение влияющих ресурсов прошло незамеченным. $zebra_bp Записывать ресурсы в формате. Вариант «text/plain» рекомендует записывать прегенерируемые ресурсы в виде обычных текстовых файлов, при возврате которых пользователю отображается их содержимое в неформатированном виде; «text/html» — в форматированном, но без учета динамики; «text/shtml» — в форматированном виде с учетом динамических вставок. Наиболее полноценный образ прегенерируемых ресурсов получается при выборе «text/shtml» (при этом на сервере должен быть включен механизм обработки SSI). $zebra_bp В данной версии прегенерация ресурсов не реализована. $zebra_bp — Делить длинные страницы на выводе. Если размер конечного ресурса превышает некий заданный, Zebra автоматически разобьет его на части и снабдит линейкой навигации. Доступ к разным частям осуществляется указанием в адресной строке параметра part=N, здесь N — порядковый номер части, к которой запрашивается доступ. Разбиение осуществляется нечетко, то есть если конец текущей части приходится на середину предложения, Zebra найдет конец предложения, и только тогда оборвет фрагмент. Параметр «Делить длинные страницы на выводе» позволяет отключить механизм разбиения. Кроме того, можно индивидуально для каждого ресурса отключить разбиение, если в его описании указать специальный ключ $nosplit. Такое ограничение целесообразно применять к ресурсам, разбиение на части которых способно серьезно нарушить структуру страницы. $zebra_bp — — при длине более, байт. Указывает размер, при превышении которого слишком объемные страницы будут подвергаться разбиению на части. $zebra_bp — * Шаблон навигации по частям. Линейка навигации, включаемая в разбиваемые ресурсы для произвольного доступа к фрагментам. Подразумевает наличие следующих специально обрабатываемых ключей: $zebra_bp — — $prev, номер предыдущего фрагмента; $zebra_bp — — $next, номер следующего фрагмента; $zebra_bp — — $last, номер последнего фрагмента; $zebra_bp — — кроме того, для шаблона определяется набор ключей типа MULTIPLE, содержащий следующие элементы: $zebra_bp —— $part, номер текущего фрагмента; $zebra_bp Пример шаблона навигации по частям:

    ПРИМЕР ШАБЛОНА
    $zebra_bp Во избежание нарушений дизайна в ресурсах возможно явно указать местоположение линеек навигации при помощи ключей-комментариев <!--beginpaged-->, <!--linkpaged-->, <!--endpaged--> (подробнее см. «Автоматическое деление больших страниц»). $zebra_bp — * Общий шаблон списка. Zebra позволяет получить список подгрупп и ресурсов группы, причем подобающе оформленный. Для оформления задается описание (шаблон) списка, который можно также переопределить для каждой группы индивидуально. Шаблон списка предполагает использование следующих специальных ключей: $zebra_bp — — $recentgroup, наименование цитируемой группы $zebra_bp — — $recentlist, собственно список $zebra_bp Список можно задать двумя способами. $zebra_bp 1. $zebra_bp 2. $zebra_bp Поддерживаются следующие специальные ключи для списка: $zebra_bp — — $number, порядковый номер ресурса в списке (итерируется автоматически; если есть деление на списка на части, нумерация сохраняется) $zebra_bp — — $pagename, идентификатор ресурса $zebra_bp — — $pagetitle, наименование ресурса $zebra_bp — — $counter, счетчик обращений к ресурсу $zebra_bp Индексирование. Позволяет установить тип индексирования ресурсов (см. «Ядро. Параметры индексации»). «Системные настройки» — принимается общая конфигурация Zebra для индексирования. «Полнотекстовое» — без учета системной конфигурации индексирования проводить полный анализ ресурса. $zebra_bp * Включать только слова. Справедливо при полнотекстовом режиме. Индексирует ресурс только по тем словам, которые указаны в данном списке. $zebra_bp * Исключать слова. Справедливо при полнотекстовом режиме. Указывает список слов, по которым индексация ресурса не проводится. $zebra_bp * Шаблон вывода результатов. Описание ресурса, который будет представлять результаты поиска, а также формы запроса на поиск. Шаблон предполагает использование следующих специальных ключей: $zebra_bp — $found, количество найденных ресурсов $zebra_bp — $..., ... $zebra_bp Результаты поиска заносятся в ключи типа MULTIPLE. Определяются следующие ключи: $zebra_bp — $href, ссылка на найденный ресурс; $zebra_bp — $name, наименование найденного ресурса; $zebra_bp — $adequate, адекватность ресурса запросу (определено, если ресурс полностью соответствует критериям запроса); $zebra_bp — $find, слова из запроса, найденные в ресурсе; $zebra_bp — $less, определено, если не все слова из запроса найдены в ресурсе; значение ключа перечисляет не найденные слова; $zebra_bp — $ignorewords, перечисляет слова, проигнорированные при поиске (например, слишком короткие); $zebra_bp — $relevance, релевантность (соответствие условиям поиска) найденного ресурса; $zebra_bp — $createdate, дата создания ресурса; $zebra_bp — $modifydate, дата последней модификации ресурса; $zebra_bp — $desc, описание ресурса или фрагмент его содержимого; $zebra_bp — $length, размер ресурса; $zebra_bp Сортировка найденных ресурсов осуществляется по критерию сортировки, указанному параметром searchsort, либо в порядке приоритета:
    Релевантность > Дата модификации > Дата создания
    $zebra_bp Примечание. Релевантность подсчитывается, исходя из количества и частоты повторения запрошенных слов в ресурсе. Наибольшую релевантность имеют ресурсы, в которых встречаются все найденные слова.
    $zebra_bp 2.1.2. Описание активации
    $zebra_bp В процессе работы с сайтом посетитель может проделать несколько разных финтов ушами. Два из них связаны с внесением кардинальных изменений в параметры пользователя, которые могут обрабатываться Zebra особым образом. Это регистрация пользователя и изменение активного адреса e-mail. При внесении таких изменений в базе пользователей Zebra осуществляются временные модификации, обозначаемые уникальным ключом. Этот ключ отправляется на приведенный адрес электронной почты, и если пользователь после этого проделает действия, направленные на активацию изменений, сопоставленных с ключом, изменения активируются. В противном случае они:; через некоторое время (соответствующее параметру ожидание верификации, сут, см. «Управление данными. Параметры настройки») будут объявлены недействительными, и тогда уже даже подоспевший ключ активации не поможет. $zebra_bp Для пользователя активация осуществляется открытием в браузере адреса:
    http://www.yourhost.com/cgi-bin/zs.cgi?activate=KEY
    Здесь KEY — ключ активации (он может быть двадцати- или болеезначным). Ситуация, когда в адресной строке встречается параметр activate, обрабатывается Zebra особо, поэтому вместо zs.cgi может быть zf.cgi, zm.cgi и т. д. После активации пользователю возвращается системный ресурс, определенный параметрами шаблон системного сообщения и информация о внесении пользовательских изменений (см. «Ядро. Дизайн»). Если посетитель проводил процедуру регистрации, то в отдельных случаях возможна ситуация, что его последний запрос, инициировавший регистрацию, был сохранен во временном аккаунте, и после регистрации принят к дальнейшей обработке.
    $zebra_bp 2.1.3. Описание аутентификации
    $zebra_bp К некоторым ресурсам Zebra может быть установлен конфиденциальный доступ различных уровней. Во-первых, для доступа может потребоваться только регистрация. Во-вторых, регистрации может быть недостаточно — аккаунт пользователя должен быть включен в группу, имеющую привилегии относительно запрашиваемого ресурса. Все эти действия обрабатывает система аутентификации Zebra. Она же при необходимости инициирует процедуру регистрации. $zebra_bp Zebra автоматически переходит в режимы регистрации, аутентификации или сохранения пользовательских параметров, если в передаваемых от пользователя данных встречаются некоторые особо обслуживаемые ключи. $zebra_bp — authorize, активирует процедуру аутентификации пользователя, при этом рассматриваются значения параметров login, email, password (или pwd); его можно установить как скрытый элемент формы, либо как кнопку, например: $zebra_bp <input type="hidden" name="authorize" value="1"> $zebra_bp <input type="submit" name="authorize" value="Войти"> $zebra_bp <input type="image" name="authorize" src="/pics/enter.gif" width="60" height="15"> $zebra_bp — edituser, активизирует процедуру редактирования пользовательских параметров, при этом используется системная форма настроек пользователя (см. «Управление данными. Параметры пользователя»), а на этапе сохранения происходит верификация указанных значений и внесение изменений в базу, либо возврат сообщения об ошибке; $zebra_bp — registration, активизирует процедуру регистрации пользователя, при этом используется системная форма настроек пользователя (см. «Управление данными. Параметры пользователя»), а на этапе сохранения действует согласно настройкам о регистрации новых пользователей сайта; $zebra_bp — saveuser, активизирует процедуру верификации и сохранения внесенных изменений (возможно, создания временного или постоянного аккаунта для нового пользователя); вместе с элементом saveuser должен быть в скрытом поле формы установлен определитель действия (registration или edituser), в соответствии с которым будут осуществляться изменения. Если произведена попытка применить edituser к несуществующему аккаунту, это может привести к ошибке.
    $zebra_bp 2.2. Редактирование страниц
    $zebra_bp В Zebra Site можно создать неограниченное количество ресурсов (страниц), которые будут обрабатываться согласно обычным правилам Zebra. Во избежание нагромождений ресурсы можно объединять в группы, группам присваивать общие для всех подчиненных ресурсов свойства, часть этих свойств можно также индивидуально установить для отдельных ресурсов. Вложенность групп не ограничена. Полный идентификатор ресурса, включенного в группу, будет составлен из полного идентификатора группы и личного идентификатора ресурса в данной группе. В пределах одной группы не может быть двух ресурсов или двух групп с одинаковыми идентификаторами. Однако группа и страница одинаковые идентификаторы иметь могут. $zebra_bp При входе в группу дается сводная статистика подгрупп и ресурсов (идентификатор, locale и профиль, наименование со ссылкой для быстрого перехода на страницу, даты создания и последнего обновления, размер и счетчик запросов) и несколько параметров, определяющих поведение zs.cgi при обработке страниц. При этом не отображаются страницы, недоступные для администрирования активному администратору.
    $zebra_bp 2.2.1. Свойства групп
    $zebra_bp Идентификатор. Сокращенный идентификатор группы. Полный идентификатор группы образуется слиянием с идентификаторами родительских групп. Например, для группы ресурсов library, находящейся внутри группы content, полный идентификатор будет выглядеть как content/library (а для всех ресурсов, включенных в группу, идентификаторы будут выглядеть как content/library/NAMEPAGE), и обращение к группе будет, например, таким:
    http://www.yourhost.com/cgi-bin/zs.cgi?list=content/library
    $zebra_bp Название группы. Название, под которым группа будет фигурировать на сайте. $zebra_bp Каталог для прегенерации. При включенной прегенерации ресурсов можно явным образом задать каталог, в который будут записываться прегенерированные файлы этой группы. Если каталог не задан, используются установки по умолчанию. $zebra_bp Доступ к ресурсам группы. Вариант «По регистрации» проверяет, зарегистрирован ли посетитель на сайте, и если нет, то предлагает пройти регистрацию. Зарегистрированные посетители беспрепятственно допускаются к просмотру ресурсов в группе. Доступ к ресурсам группы с режимом «Конфиденциальный» разрешается только зарегистрированным пользователям, включенным в пользовательские группы, которые обозначены как валидные для данной группы. Вариант «Иерархический» предписывает ориентироваться на соответствующие параметры родительских групп. $zebra_bp — включить группу пользователей и исключить группу пользователей позволяют оперировать группами пользователей, которые имеют доступ к ресурсам группы. $zebra_bp Разрешить формирование списка. Можно запретить формирование списка ресурсов группы, если это по каким-то причинам нецелесообразно. В таком случае на пришедший от посетителя запрос списка будет возвращаться страница notfound. $zebra_bp — включать в список, указывает, какие из элементов группы следует включать в список; $zebra_bp Построение списка по группе осуществляется в соответствии с шаблоном recentpage (см. «Дизайн». $zebra_bp Получение списка реализуется стандартным вызовом головного модуля Zebra Site:
    http://www.yourhost.com/cgi-bin/zs.cgi?list=GROUP
    Здесь GROUP — идентификатор группы.
    $zebra_bp 2.2.2. Автоматическое деление больших страниц
    $zebra_bp Zebra Site может автоматически делить слишком большие страницы и выдавать их пофрагментно. Применимы два варианта: $zebra_bp — делить любые страницы, длина которых превышает максимальную заданную $zebra_bp — делить только страницы, в которых присутствуют метки деления $zebra_bp Если реализуется первый вариант, но страница имеет метки, она обрабатывается как страница с метками. $zebra_bp Что такое «метки»? Допустим, страница состоит из трех логических фрагментов: заголовок (сколь уго;<дно большой), собственно содержимое, подвал (тоже сколь угодно большой и навороченный). Если размер собственно содержимого превышает максимальный, то можно предписать его разбиение на фрагменты, указав в html-коде страницы следующие комментарии: $zebra_bp <!--linkpaged--><!--beginpaged--> — в начале делимого $zebra_bp <!--endpaged--><!--linkpaged--> — в конце делимого $zebra_bp Критериями начала и конца фрагмента являются beginpaged и endpaged, а linkpaged реализует добавление строчки для навигации по разделенным фрагментам. Шаблон строки навигации предполагает наличие следующих ключей: $zebra_bp $first — ссылка на первый фрагмент страницы $zebra_bp $last — ссылка на последний фрагмент страницы $zebra_bp $prev — ссылка на предыдущий фрагмент страницы $zebra_bp $next — ссылка на следующий фрагмент страницы $zebra_bp Основной блок строки навигации реализует условная инструкция multiple: $zebra_bp %multiple{<a href="$command"> $part </a>%separator{|}separator%}multiple%
    здесь: $zebra_bp $command — ссылка на соответствующий фрагмент страницы $zebra_bp $part — порядковый номер этого фрагмента $zebra_bp Инструкция multiple повторяется столько раз, сколько это требуется для полного перечисления фрагментов страницы. Инструкция separator задает символ или строку для разделения ссылок на фрагменты. $zebra_bp Ключ linkpaged может быть установлен любое количество раз в любое место страницы за пределами ограничителей beginpaged и endpaged. $zebra_bp При разбиении «любых» страниц страницы, не содержащие метки, подвергаются разбиению целиком. При этом на выводе в начало добавляются наименование страницы в базе (в качестве титула), ключи $begbody и linkpaged, а в конец — ключи linkpaged, $endbody и статистика (если ее вывод разрешен). $zebra_bp Разбиение страниц осуществляется «щадящим» способом — если текст, отрезанный на очередном этапе, не является законченным, производится дальнейший анализ фрагмента до обнаружения явного завершения логики текста, то есть либо до символа конца абзаца, либо до конца всего фрагмента. Таким образом, предложения будут не обрываться на середине слова, а аккуратно завершаться в текущем же фрагменте. В редких случаях это может привести к отсутствию значимого текста в последнем фрагменте. Тогда просто постарайтесь оптимизировать делимое содержимое страницы, чтобы исключить такую возможность.
    $zebra_bp 2.2.3. Выбор страницы
    $zebra_bp Выбор страницы на редактирование осуществляется установлением нескольких параметров в верхнем меню раздела. Если вы собираетесь редактировать страницы для языка или профиля, отличного от текущего, установите сначала язык и профиль, после чего найдите нужную вам страницу. Выбор любого из пунктов меню страниц ведет к автоматическому переходу на редактирование этой страницы (при включенном JavaScript), поэтому его следует делать в последнюю очередь. $zebra_bp Если количество страниц превышает заданный размер списка (см. «Администраторы»), Zebra Site осуществляет разбиение списка на несколько страниц. Перемещаться по ним можно, используя кнопки << и >>, возникающие соответственно случаю. Кроме того, указав в поле ввода слева от выбора языка некий фрагмент, можно отфильтровать список. Будут выведены только те страницы, идентификаторы (а при отображении названий также и названия; см. «Администраторы») которых содержат указанный фрагмент. Если первым символом фильтра поставить %, отбор будет производиться с использованием регулярных выражений.
    $zebra_bp 2.2.4. Добавление страницы
    $zebra_bp Выбор в меню «Страницы» пункта «Добавить» предписывает создать новую пустую страницу, в которую администратор может внести нужные ему данные. Поскольку действия в данном случае отличаются от редактирования страницы только полным отсутствием значений в полях и скрытием некоторых полей, подробно рассматривать этот вариант не будем.
    $zebra_bp 2.2.5. Редактирование страницы
    $zebra_bp Элементы. $zebra_bp — Идентификатор. Один из самых важных параметров страницы, реализует ссылку на страницу в командной строке zs.cgi и в прочих параметрах Zebra. $zebra_bp — Название страницы. Второстепенная характеристика, используется при именовании элемента в меню, а также при генерации страницы в том случае, если в коде страницы не определены теги <title> и </title>. $zebra_bp — Источник. Параметр, содержащий информацию о ресурсе, из которого было взято содержимое страницы. Если было использовано несколько ресурсов, запоминается последний. Не отображается в случае явного задания кода страницы. $zebra_bp — Регулярно обновлять. Предписывает осуществлять обновление страницы из указанного источника согласно указанной регулярности (см. «Формат расписания»). $zebra_bp — HTML-код. Здесь должно содержаться описание страницы (см. «Описание страницы»), которое после рендеринга будет возвращаться клиенту в виде конечной страницы, либо одна из следующих команд: $zebra_bp http://www.anywherehost.com/anywherepage.htm $zebra_bp location: http://www.anywherehost.com/anywherepage.htm $zebra_bp То есть, если в первой строке кода начиная с первого символа обнаруживается одна из указанных комбинаций, то производится переадресация на обозначенный URL. $zebra_bp — Взять из файла на сайте. В этом поле можно указать название файла, из которого будет считано содержимое страницы и предложено для сохранения на следующем этапе. По умолчанию файлы берутся из директории, заданной параметром pathsite (см. «Ядро. Основные параметры»). Если ввести URL, будет произведена попытка получить соответствующий ресурс из Интернета с последующей обработкой. $zebra_bp — Взять из файла на диске. В качестве кода можно также передать на сайт файл с собственного жесткого диска. Для этого необходимо указать полный путь к нему. $zebra_bp Если задействован один из этих двух пунктов, сохранение страницы не производится, однако осуществляются все необходимые манипуляции и преобразования, после чего код предлагается на правку и дополнение параметров. Дальнейшее сохранение уже собственно сохранит страницу. Внимание: если html-код уже был определен, и вы указали новый источник, старый код будет потерян. $zebra_bp — Кодовая страница источника. Позволяет явно задать кодовую страницу источника. После получения ресурса он будет соответственно перекодирован из указанной кодировки в Windows-1251 (внутренняя кодировка Zebra). $zebra_bp — Предварительная обработка. Позволяет указать подпрограмму для обработки полученного ресурса. Таким образом можно, например, получать новости из новостных строк, анализируя появивишиеся с предыдущего сеанса и сохраняя их. В список подпрограмм обработки включаются процедуры, имеющие соответствующий признак (см. «Управление данными. Редактирование процедур»). $zebra_bp — Схема форматирования. Можно выбрать одну из определенных вами схем форматирования документа (см. «Схемы форматирования»), при этом информация о выбранной схеме будет сохранена, и при дальнейших обновлениях документа автоматически примен<=яться без необходимости явного указания. $zebra_bp — Прегенерация страницы. Указывает прегенератору, подлежит ли данная страница обработке при прегенерации сайта в html-режим. Следует отметить, что в случае прегенерации страниц, включенных в закрытые группы, парольная защита на них действовать не будет. Поэтому такие страницы рекомендуется запрещать для прегенерации. $zebra_bp — Счетчик. Указывает счетчик запросов редактируемой страницы. Заметим, что счетчик страницы (а также всего сайта) не задействуется при использовании прегенерации страниц (если только вызов счетчиков не определен дополнительно каким-либо образом). $zebra_bp — Параметры: язык, профиль. Действуют для текущей страницы. Если у уже имеющейся страницы изменить эти параметры и сохранить страницу, будет создана новая страница с указанными locale и профилем. $zebra_bp Кнопка «Сохранить» действует соответственно текущей ситуации — либо сохраняет страницу, либо производит анализ и обновление страницы для дальнейшей правки. Кнопка «Обновить» производит анализ и обновление страницы согласно имеющейся информации об источнике. «Удалить» удаляет страницу. $zebra_bp Примечание. Один из самых простых способов создать новую страницу на основе уже имеющейся — изменить у текущей страницы идентификатор. При этом рекомендуется поменять также название, чтобы не перепутать ресурсы в дальнейшем.
    $zebra_bp 2.3. Автоматическое добавление
    $zebra_bp Автоматическое добавление страниц — мощный механизм для пакетного преобразования вашего html-варианта сайта в сайт, поддерживаемый Zebra. $zebra_bp В первую очередь нужно указать каталог на сервере, из которого будут конвертироваться файлы, а также маску для фильтрации списка файлов. Далее будет предложена таблица с найденными файлами, сводной статистикой и параметрами для добавления. $zebra_bp Файл считается уже добавленным, если существует ресурс с идентификатором, совпадающим с его именем (за вычетом расширения). Тогда галочка для добавления файла не ставится. В остальных случаях такая галочка устанавливается автоматически. В графе «Регистрация» для зарегистрированных файлов отображается дата последней модификации соответствующей страницы. $zebra_bp В качестве параметров добавления можно определить целевой язык, профиль и схему форматирования (см. «Схемы форматирования») для каждого файла. $zebra_bp После принятия отображается сводная таблица результатов сохранения. Прямо отсюда можно отправиться на страницу, полученную конвертацией файла. Новые ресурсы можно уже и редактировать (см. «Редактирование страницы»). $zebra_bp Если количество найденных файлов больше 20, просмотр их осуществляется постранично, при этом в нижней правой части таблицы появляются кнопки навигации. Передвижение по страницам не применяет установленные галочки на файлах текущей страницы, за это ответственна только кнопка «Отправить».
    $zebra_bp 2.4. Схемы форматирования
    $zebra_bp Схемы форматирования определяют большинство параметров, в соответствии с которыми будут осуществлены преобразования полученных ресурсов. Основная схема — default, ее характеристики можно изменить. Если вас не удовлетворяют значения, обозначенные в схеме по умолчанию, вы можете добавить другие схемы, придав им различные наименования для успешного различения. Новые схемы изначально имеют характеристики, совпадающие со схемой по умолчанию.
    $zebra_bp Элементы $zebra_bp — Схема. Идентификатор схемы. Схемы форматирования не имеют своих наименований или комментариев, поэтому старайтесь делать идентификаторы наиболее осмысленными (придерживаясь при этом, однако, пункта «Ядро. Наименования»). $zebra_bp — Осуществить преобразование: $zebra_bp — — ссылок, предписывает конвертировать явные ссылки на файлы в том же каталоге, что и источник, в фрагменты вида %link%, которые при генерации страницы заменяются на стандартные ссылки Zebra Site; $zebra_bp — — концов строк в теги, например, если в качестве источника выступает простой текстовый файл, лишенный html-форматирования, Zebra может установить фрагменты конца и начала абзаца вместо символов конца строки; $zebra_bp — — пробелов в обязательные, во избежание потери специфического форматирования в подобных же текстовых файлах Zebra может преобразовать несколько последовательных пробелов в комбинации типа &nbsp;, которые, как правило, отображаются браузерами как обязательные пробелы; $zebra_bp — — тире, при наличии этого параметра знаки дефиса - в местах, контекстно соответствующих символу тире , будут заменены на тире; $zebra_bp — — кавычек, обычные кавычки " будут преобразованы в парные « и »; хотя при этом используется максимально адаптированный алгоритм, в некоторых случаях он может работать неправильно, поэтому проверяйте корректность преобразования в конечном описании ресурса; $zebra_bp — — абзацных тегов, предписывает заменить все возможные не соответствующие установленным теги начала и конца абзаца на определенные в данной схеме форматирования. $zebra_bp — Признаки начала и завершения абзаца. Здесь, собственно, устанавливаются эти самые теги начала и конца абзаца. $zebra_bp — Удалить: $zebra_bp — — заголовки страниц, при считывании источника Zebra Site выделяет заголовок страницы из тегов <title> и </title> и полагает его новым наименованием страницы, при этом из кода оно вместе с тегами может быть удалено; $zebra_bp — — теги <body>, поскольку Zebra использует собственный код для установления тегов <body> и </body>, целесообразно применять удаление таких тегов в страницах; при этом теги не просто удаляются, а заменяются на ключи $begbody и $endbody; $zebra_bp — — разделы <head>, а вот они ничем не заменяются, просто удаляются; $zebra_bp — — мета-теги, аналогично; $zebra_bp — — множественные пробелы, случай, практически противоположный преобразованию пробелов в обязательные — если там необходимо было сохранить форматирование при помощи хитрого преобразования пробелов, то данный пункт направлен на оптимизацию кода путем удаления повторяющихся пробелов, чем — чего греха таить — часто страдают начинающие веб-мастеры. $zebra_bp — Удалить весь код до фрагмента. Если в тексте, полученном из источника, будет найден указанный фрагмент, все содержимое до него будет уничтожено. Рассматриваются регулярные выражения. $zebra_bp — Удалить весь код после фрагмента. Аналогично, но содержимое будет уничтожено после найденного фрагмента. Рассматриваются регулярные выражения. $zebra_bp — Предварительная обработка. Здесь можно определить процедуру конвертирования источника, аналогично «Предварительной обработке» из «Редактирования страницы». Определение в схеме форматирования конвертора имеет меньший приоритет по сравнению с «Редактированием страницы».
    $zebra_bp 2.5. Описание страницы
    $zebra_bp Приступим к самому главному разделу данной главы. То, для чего, в общем-то, существует Zebra Site, — рендеринг (генерация) страниц в соответствии с описанием, хранящимся в базе страниц сайта. $zebra_bp Итак, что такое «описание страницы»? В предельно простом варианте — обычный html-код. В таком сл=>учае он будет возвращаться практически без изменений (разве что с некоторыми модификациями общего плана, см. «Дизайн»). Однако такой сайт будет просто являться cgi-версией обычного html-сайта. Что, очевидно, особой выделки не стоит. $zebra_bp Истинная мощь Zebra проявляется при создании сложных страниц с использованием записей, встроенных подпрограмм и условных инструкций. В результате отработки отслеженных событий одна и та же страница может приобрести совершенно иной вид для двух разных пользователей. Что, в общем-то, и является одной из основных целей не только Zebra Site, но и всей Zebra. $zebra_bp Zebra на уровне описания страниц оперирует следующими простейшими понятиями: $zebra_bp — процедура $zebra_bp — ссылка $zebra_bp — запись $zebra_bp — условная инструкция $zebra_bp — ключ
    $zebra_bp 2.6.1. Процедура
    $zebra_bp Процедура — встроенная подпрограмма (см. «Управление данными. Подпрограммы»), ссылка на которую особым образом встраивается в код: $zebra_bp %#function#% $zebra_bp %#function(arg1,arg2...)#% $zebra_bp Если в описании страницы встречается фрагмент такого вида, то выполняется специфицированная процедура. Если определены аргументы, они передаются в качестве параметров вызова. В случае, если процедура возвращает какое-либо значение, оно вставляется вместо указанного фрагмента, если нет — фрагмент просто удаляется. В случае ошибки выполнения вместо фрагмента записывается сообщение об ошибке. $zebra_bp Процедуры могут использовать все стандартные ресурсы Zebra, а также, посредством запуска runfunc — и другие встроенные подпрограммы (см. «Руководство по API»). Процедуры могут применяться для различных вставок, требующих предварительного вычисления и нетривиальной модификации.
    $zebra_bp В стандартном варианте Zebra поставляется несколько процедур. $zebra_bp — count(name). Возвращает число — количество запросов страницы name. Если name не указан, возвращается значение для текущей страницы. Значение подсчитывается для страниц с идентификатором name во всех вариантах locale и профилей. Если name=site, возвращается глобальный счетчик сайта. $zebra_bp — createdate(name). Возвращает строку, содержащую дату создания страницы name в установленном формате. Если name не определен, возвращается значение для текущей страницы. $zebra_bp — accessdate(name). Возвращает строку, содержащую дату последнего доступа к странице name в установленном формате. Если name не определен, возвращается значение для текущей страницы. $zebra_bp — modifydate(name). Возвращает строку, содержащую дату последней модификации страницы name в установленном формате. Если name не определен, возвращается значение для текущей страницы. $zebra_bp — currentdate. Возвращает строку, содержащую текущую дату в установленном формате.
    $zebra_bp 2.6.2. Ссылка
    $zebra_bp «Ссылка» применяется для упрощения создания ссылок на документы, генерируемые Zebra. Синтаксис:
    %name%
    $zebra_bp Здесь name — идентификатор страницы, на которую делается ссылка. При рендеринге производится соответственная замена ссылки на обычный линк с подстановкой объявленного идентификатора, а также добавлением указания языка и профиля ресурса, дабы переход осуществлялся с сохранением установленных параметров.
    $zebra_bp 2.6.3. Запись
    $zebra_bp Запись применяется для уменьшения трудозатрат при создании повторяющихся фрагментов кода в разных страницах или в одной и той же. Запись может также служить для хранения текстового наполнения сайта, в таком случае в функции редактора сайта будет входить только изменение соответствующих записей. Синтаксис:
    $name
    $zebra_bp Здесь name — идентификатор записи. Запись должна быть определена через соответствующий пункт администрирования (см. «Управление данными. Записи»), потому что тогда она вносится в реестр записей. Если же она в реестре записей не специфицирована, то считается ключом, а ключи обрабатываются уже иначе. $zebra_bp При обнаружении записи, соответствующей name, найденный фрагмент заменяется на ее содержимое. Запись, в свою очередь, может содержать другие вложения, соответствующие ссылкам, процедурам, записям или ключам — все они будут обрабатываться до тех пор, пока не останется ни одного вложения. Крайне не рекомендуется использовать рекурсивные вложенности (то есть, например, ссылку в записи на саму себя), поскольку в таком случае вы рискуете получить длительную задержку и в результате ошибку по таймауту. $zebra_bp Некоторую информацию о вложениях и зависимостях в сложной записи можно получить, нажав на кнопку с символом «@», расположенную слева от кнопки «Сохранить» в разделе редактирования записей.
    $zebra_bp 2.6.4. Условная инструкция
    $zebra_bp Условная инструкция — предельно простой, но мощный инструмент для генерации зависимого контента. Синтаксис: $zebra_bp %name{some text}name% $zebra_bp %name{some text}name{other text}name% $zebra_bp %REVERSEname{some other text}name% $zebra_bp %REVERSEname{some other text}name{more other text}name% $zebra_bp %MULTIPLEname{some other text}name% $zebra_bp Здесь name должно совпадать с одним из ключей списка int (см. «Ядро. Основной список int»). Если такой ключ существует и не равен нулю, аргумент инструкции, заключенный в фигурные скобки, высвобождается и обрабатывается как обычный текст. Код инструкции при этом удаляется. Если ключ не определен или равен нулю, инструкция удаляется полностью. $zebra_bp Префикс REVERSE инвертирует действие инструкции, то есть в случае, когда ключ существует и не равен нулю, инструкция удаляется полностью, в противном случае — аргумент остается. $zebra_bp Если инструкция состоит из двух частей, разделенных фрагментом }name{, то вторая часть рассматривается как альтернативное условие и выполняется при ложном значении первой. $zebra_bp Префикс MULTIPLE предписывает произвести многократную обработку фрагмента, обозначенного условием, с целью установления множественных однотипных данных. Подробнее об организации такой обработки см. «Руководство по API». $zebra_bp Условные инструкции предусматривают также следующие зарезервированные операторы: $zebra_bp — file. Синтаксис: %file{fullpath}file%. Предписывает поместить вместо инструкции содержимое файла, обозначенного аргументом. $zebra_bp — exec. Синтаксис: %exec{fullpath}exec%. Предписывает выполнить внешний перловый скрипт. Если произошла ошибка выполнения, аргумент заменяется сообщением об ошибке, иначе никаких значений вместо аргумента не устанавливается. $zebra_bp — rem (синоним: comment). Синтаксис: %rem{text of commentary}rem%. Отмечает фрагмент, являющийся комментарием. При генерации страницы удаляется без каких-либо условий. Наличие префикса REVERSE значения не имеет. $zebra_bp — embed. Синтаксис: %embed{object;arg1;arg2;arg3...}embed%. Внедряет объект, заданный параметром object, при этом могут учитываться объектно-зависимые аргументы arg1, arg2, arg3 и т. д. Тип объекта определяется конкретными настройками Zebra, в >частности, установленными модулями. $zebra_bp — userform. Синтаксис: %userform{formname}userform%. Генерирует форму пользовательских параметров formname в соответствии с текущими условиями и помещает ее в указанную позицию.
    $zebra_bp 2.6.5. Ключ
    $zebra_bp Замена ключей — предпоследний уровень преобразований, проводимых над страницей. Заменяются все ключи, описанные списком int. Синтаксис:
    $name
    ${name}
    $zebra_bp Второй вариант можно использовать в тех случаях, когда невозможно отделить ключ от следующего после него текста без того, чтобы не нарушить структуру или логику кода.
    $zebra_bp Последний уровень преобразований — конвертация последовательностей &#36; и &#37; в символы $ и % соответственно. Ранее они были приведены к такому виду во избежание неверной трактовки во время рендеринга страниц, поскольку являются техническими символами для определения процедур, ссылок, записей и ключей. Заметим, что неверная трактовка не обязательно возможна, но более или менее вероятна. Правда, есть случаи, когда она произойдет обязательно — например, при использовании знака доллара $. $zebra_bp Необходимо также отметить, что особым образом обрабатываются следующие ключи: $zebra_bp — $dcolor, в соответствии с которым осуществляется перебор цветов согласно заданному порядку (см. «Ядро. Дизайн»); $zebra_bp — $nostatistic, запрещающий отображение статистики для этой страницы (см. «Ядро. Основные параметры»); $endbody частям осуществляется указанием в адресной строке параметра part=N, здесь N — порядковый номер части, к которой запрашивается доступ. Разбиение осуществляется нечетко, то есть если конец текущей части приходится на середину предложения, Zebra найдет конец предложения, и только тогда оборвет фрагмент. Параметр «Делить длинные страницы на выводе» позволяет отключить механизм разбиения. Кроме того, можно индивидуально для каждого ресурса отключить разбиение, если в его описании указать специальный ключ $nosplit. Такое ограничение целесообразно применять к ресурсам, разбиение на части которых способно серьезно нарушить структуру страницы. $zebra_bp — — при длине более, байт. Указывает размер, при превышении которого слишком объемные страницы будут подвергаться разбиению на части. $zebra_bp — * Шаблон навигации по частям. Линейка навигации, включаемая в разбиваемые ресурсы для произвольного доступа к фрагментам. Подразумевает наличие следующих специально обрабатываемых ключей: $zebra_bp — — $prev, номер предыдущего фрагмента; $zebra_bp — — $next, номер следующего фрагмента; $zebra_bp — — $last, номер последнего фрагмента; $zebra_bp — — кроме того, для шаблона определяется набор ключей типа MULTIPLE, содержащий следующие элементы: $zebra_bp —— $part, номер текущего фрагмента; $zebra_bp Пример шаблона навигации по частям:
    ПРИМЕР ШАБЛОНА
    $zebra_bp Во избежание нарушений дизайна в ресурсах возможно явно указать местоположение линеек навигации при помощи ключей-комментариев <!--beginpaged-->, <!--linkpaged-->, <!--endpaged--> (подробнее см. «Автоматическое деление больших страниц»). $zebra_bp — * Общий шаблон списка. Zebra позволяет получить список подгрупп и ресурсов группы, причем подобающе оформленный. Для оформления задается описание (шаблон) списка, который можно также переопределить для каждой группы индивидуально. Шаблон списка предполагает использование следующих специальных ключей: $zebra_bp — — $recentgroup, наименование цитируемой группы $zebra_bp — — $recentlist, собственно список $zebra_bp Список можно задать двумя способами. $zebra_bp 1. $zebra_bp 2. $zebra_bp Поддерживаются следующие специальные ключи для списка: $zebra_bp — — $number, порядковый номер ресурса в списке (итерируется автоматически; если есть деление на списка на части, нумерация сохраняется) $zebra_bp — — $pagename, идентификатор ресурса $zebra_bp — — $pagetitle, наименование ресурса $zebra_bp — — $counter, счетчик обращений к ресурсу $zebra_bp Индексирование. Позволяет установить тип индексирования ресурсов (см. «Ядро. Параметры индексации»). «Системные настройки» — принимается общая конфигурация Zebra для индексирования. «Полнотекстовое» — без учета системной конфигурации индексирования проводить полный анализ ресурса. $zebra_bp * Включать только слова. Справедливо при полнотекстовом режиме. Индексирует ресурс только по тем словам, которые указаны в данном списке. $zebra_bp * Исключать слова. Справедливо при полнотекстовом режиме. Указывает список слов, по которым индексация ресурса не проводится. $zebra_bp * Шаблон вывода результатов. Описание ресурса, который будет представлять результаты поиска, а также формы запроса на поиск. Шаблон предполагает использование следующих специальных ключей: $zebra_bp — $found, количество найденных ресурсов $zebra_bp — $..., ... $zebra_bp Результаты поиска заносятся в ключи типа MULTIPLE. Определяются следующие ключи: $zebra_bp — $href, ссылка на найденный ресурс; $zebra_bp — $name, наименование найденного ресурса; $zebra_bp — $adequate, адекватность ресурса запросу (определено, если ресурс полностью соответствует критериям запроса); $zebra_bp — $find, слова из запроса, найденные в ресурсе; $zebra_bp — $less, определено, если не все слова из запроса найдены в ресурсе; значение ключа перечисляет не найденные слова; $zebra_bp — $ignorewords, перечисляет слова, проигнорированные при поиске (например, слишком короткие); $zebra_bp — $relevance, релевантность (соответствие условиям поиска) найденного ресурса; $zebra_bp — $createdate, дата создания ресурса; $zebra_bp — $modifydate, дата последней модификации ресурса; $zebra_bp — $desc, описание ресурса или фрагмент его содержимого; $zebra_bp — $length, размер ресурса; $zebra_bp Сортировка найденных ресурсов осуществляется по критерию сортировки, указанному параметром searchsort, либо в порядке приоритета:
    Релевантность > Дата модификации > Дата создания
    $zebra_bp Примечание. Релевантность подсчитывается, исходя из количества и частоты повторения запрошенных слов в ресурсе. Наибольшую релевантность имеют ресурсы, в которых встречаются все найденные слова.
    $zebra_bp 2.1.2. Описание активации
    $zebra_bp В процессе работы с сайтом посетитель может проделать несколько разных финтов ушами. Два из них связаны с внесением кардинальных изменений в параметры пользователя, которые могут обрабатываться Zebra особым образом. Это регистрация пользователя и изменение активного адреса e-mail. При внесении таких изменений в базе пользователей Zebra осуществляются временные модификации, обозначаемые уникальным ключом. Этот ключ отправляется на приведенный адрес электронной почты, и если пользователь после этого проделает действия, направленные на активацию изменений, сопоставленных с ключом, изменения активируются. В противном случае они