Changelog of Communiware
Changelog of Communiware
Внимание! Свежая информация об изменениях теперь находится в книге "Справочник
по Communiware" на http://docs.communiware.org
Версия 0.9696
- Актуализирована схема работы single-backend для использования с
custom-frontend.
- Изменён способ отдачи файлов в случае, если не используется стандартный
backend.
- В схеме с frontend файл httpd переименован в cmw-frontend. В схеме
single-backend файл httpd переименован в cmw-httpd. Это же касается всех
служебный файлов (pid, scoreboard, logs).
- В утилиту cmwenv добавлена возможнось загружать параметры окружения из файлов
$cmwetc/env/$cmwid.
- Поправлена ошибка с постоянной подменой base значения на value у узла в
cmw.conf, в том случае если base был равен с value.
- Количество аргументов у функции CONTENT_TYPE может быть 0 или 1.
- cmwenv: поправлен формат строки в oratab. В идентифекаторе инстанца может
быть '_'.
- load_meta: убраны многочисленные коммиты, оставлен только коммит секции
Ontology.
- standard.xml: в стандартную онтологию добавлены типы связи ATTACH и SOURCE, а
также виртуальная страницa *help (в будущем она заменит help_book).
- Умолчательное значение LogLevel для backend - info.
- Скрипты linkedit и showlinks переработаны. Много оптимизаций, также теперь
они должены работать на обоих поддерживаемых sql-серверах.
- В SQL/.pm добавлен метод для обращения к хранимым процедурам для работы с
метасвязями.
- Скрипт show_filters переработан: актуализирован для новой версии движка,
улучшены внешний вид, переводы, добавлено отображение флага rewritable.
- Скрипт filter переработан: поправлена ошибка с подстановкой CURRENT_SERVER
(#182568), перегруппированы поля, устранена проблема с умолчательным фокусом
на "Удалить" (#182570), добавлено отображение флага rewritable, починен вывод
плана выполнения фильтра под Postgresql (#182572).
- Переписан sql/Pg/Makefile: структуирован, убраны лишние файлы, вызов внешних
программ выполнятся корректно.
- Типу айтема SERVER добавлен статус PACKAGE.
- Утилита load_meta переписана: использовано стандартый api для работы с
транзакциями.
- Исправлено несколько мелких ошибок.
Версия 0.9695
- Добавлена поддержка параметров связей:
- Возможность установки параметров в постингах.
- Автоматическая установка и поддержка дат.
- Функции контекста LINK_DATE & LINK_PARAMS для работы с параметрами связей.
- DE::Lib теперь проверяет наличие в конткексте атрибутов LIB_ANTICACHE и
ANTICACHE и в случае если один из них определён добавляет параметр ac=hhmmss,
для предотвращения кеширования библиотек на стороне браузера.
- В дистрибутив добавлено несколько 3rdparty патчей: - Патч для pg_wrapper, для Debian. Без которого не работает backup_communiware.
- Patch для Image::Size, отключающий AutoLoad в этом модуле. C AutoLoad,
модуль не корректно работает с sgid-скриптами, в частности с cmwmaild.
- backup_communiware: исправление - убраны ненужные определения PATH, ENV,
BASH_ENV и PG_DATA.
- Возвращены к жизни скрипты pictures, item_edit (замена для moderates).
- По умолчанию Restrict-Templates выставляется в 1 для всех типов айтемом
(раньне умолчательное значение для AUTHOR было 0).
- DE::EditField теперь может автоматически подставлять умолчательное значение
(из базы данных) для полей, с перечислимыми значениями.
- Утилита runsql может на ходу переключать кодировку (для Pg) (функциональность
представлена к рассмотрению).
- Изменены описания нескольких атрибутов: исправлены ошибки, внесены улучшения
и сокращения.
- Атрибут NO_SEND теперь имеет таблицу значений.
- Исправлена ошибка с подстановкой неверного SERVER_ID при редактировании
айтемов с другого сервера. Подставлялся SERVER_ID текущего сайта, сейчас
подставляется SERVER_ID из текущего контекста формы.
- Поправлены ошибки с автоматическим определением representation для TEXT.
- Исправлена ошибка с определением representation после submit-ошибки.
- Генерируемые URL избавлены от лишних идентификаторов сервера (в случае
генерации ссылки на сервер) и шаблона (в случае если это шаблон, назначенный
для айтема на который генерится ссылка).
- Исправлена ошибка с игнорированием нулевого ordnum, при установке "обратных"
связей.
- У умолчательный robots.txt добавлена директива 'Host: основное домменое имя
сайта'.
- load_item теперь может принимать данные в utf-8.
- load_meta теперь может обновлять описания атрибутов.
- В load_meta добавлены умолчательные значения для опций key и descr
конструкции valuesTable.
- В DE::EditField добавлена специальная обработка для атрибута TEMPLATE_ID,
теперь он выводит список доступных для данного айтема шаблонов.
- DE::List и DE::Loop после себя оставляют в атрибуты LAST_SEQ_NO и
LAST_TOTAL_SEQ_NO.
- DE::Continuation теперь умеет генерировать ссылку на предыдущую страницу
списка, ключ 'prev'.
- Поправлена ошибка в DE::List и DE::Loop: при пропуске страниц не учитывались
строки выключенные с помощью DE::Skip.
- Добавлена функция Communiware::init, с дополнительным парамером инициализации
loglevel (функциональность представлена к рассмотрению).
- В Communiware::Cmdline добавлена умолчательная поддержка поддержка опции
--verbose.
- Переписана Communiware::Cmdline::say - добавлена возможность указания
файлового дескриптора.
- Добавлена защита от ошибок во время импортирования атрибутов при создании
контекста формы.
- Добавлена утилита cmwenv. В качестве аргумента этой утилите передается
CMWID-идентификатор экземпляра Communiware, на основе которого утилита
настраивает переменные окружения (CMWHOME, CMWID, PATH) из запускает новый
shell.
- Убрано добавление действия DUMPED в dump айтема утилитой dump_item. Это
сильно мешало использованию cvs-like систем для отслеживания изменений на
сайтах.
- Добавлена опция altitem в DE::Image - алтернативный айтем для поиска
картинки, в том случае если она не нашлась в item или *pictures (#179086).
- Добавлена опция talt в DE::Image - позволяет назначать alt и title
одновременно (#178902).
- Добавлена опция altitem в DE::Lib - алтернативный айтем для поиска
библиотеки, в том случае если она не нашлась в item или *pictures.
- Добавлена функция контекста PIC_URL, принимающая в качестве аргумента
название картинки (возможен pattern в extension), айтем в котором следует
искать картинку и альтернативный айтем, в котором делается поиск если первая
попытка была неудачной (#179090).
- Добавлена функция контекста ALTERNATE_ITEM, принимающая в качестве аргумента
item_id, alternate_item_id и picname (возможен pattern в extension). В
скалярном контексте функция возвращает item_id, в котором была найдена
картинка, в списковом кроме item_id также возвращается имя найденного файла.
picname может быть опущено, в этом случае функция возвращает item_id первого
айтема, который существует.
- Дистрибутив вычищен от чахлых зачатков поддержки Informix.
- Closed bugs:
? #179104: load_meta: не создавались и не обновлялись виртуальные страницы если
сайт уже загружалась отнотогия для уже существующего сайта.
#179875: <:Header Set-Cookie ... :> приводит к 500 ошибке.
#179160: <:Lib:> иногда не вставляет ссылку на указанный файл
#181859: DE::Lib: указание пустого имени файла: однако данное поведение пока не изучено.
#180015: Проблема с извлечением значений расширенных атрибутов типа DATE
внутри <:Loop:>.
#180013: EditField не сохраняет значения для атрибутов типа DATE.
#179999: <:ItemLink:> - нужна проверка, что подставляемый шаблон не
является шаблоном по умолчанию.
#179985: Отваливается WYSIWYG при ошибке постинга.
#179444: <:Image:> не умеет отображать swf.
#179084: Хочется уметь получать в шаблоне префикс текущего контейнера
постинга.
Версия 0.9694 - очередной пререлиз 0.97, 01.05.2006
- Closed bugs:
#178865: Не работает фильтр ::Random
#178628: Ошибка 500 в шаблоне с ::Random
#178768: Подключение WYSIWYG - Внутренняя ошибка сервера при пустом тексте
#178820: <:MailTo:> - непонятное сообщение об ошибки при указании несуществующего шаблона
#178603: Несмотря на включенный WYSIWYG, текст отдается в своем SRC_REPR, а не в HTML
#178607: Привести все свойства атрибута-cookie WYSIWYG в порядок
#178822: <:MailTo:> - сообщение об ошибке при указании пустого фильтра
#178747: USER_LOGIN: не выдается сообщение об ошибке при логине "чужого" пользователя
#178829: load_meta: ошибка при заливке расширенных атрибутов со списком значений
- Добавлена поддержка уникальных LOGIN в пределах одного cmw-сервера. При этом
логины пользователей, которые зарегистрированны на сайте 'default' работают и
на всех остальных серверах.
- В умолчательную конфигурацию apache frontend добавлены модули auth, env,
setenvif.
-!Утилиты load_meta & dump_meta теперь работают с атрибутом status для site.
- Утилита load_meta теперь умеет обновлять определение valuesTable, а также
изменять состав ключей в этих таблицах.
- Утилита load_meta теперь умеет обновлять определение виртуальных страниц.
- Добавлен механизм для полключения WYSIWYE-редакторов.
-!Приглажено определение псевдо-атрибута WYSIWYG. Добавлено новое значение "Нет
для текста". Т.е. для случая если html представим как text.
- Добавлена виртуальная страница *wysiwyg, назначенный на эту страницу шаблон
вызывается DE::EditField для включения WYSIWYG-редактора. В качестве
агрументов передаются имя поля для которого подключается редактор (вместе с
префиксом постинга), признак включения редактора (расчитывается на основе
параметра wysiwyg DE::EditField и значения атрибута-куки WYSIWYG), и
представление (representation) выводимых данных.
- Добавлена опция LISTEN - список комбинаций ip-адрес:порт, на которых будет
слушать frontend. Виртуальные хосты теперь полностью name-based. Это
исключает сбои в работе системы из за изменений в name-зонах.
- Убран параметр конфигураци PGDATA.
- В файлы конфигурации apache frontend & backend добавлены директивы для
подключения локальных конфигураций без модификации автоматически-генерируемых
файлов.
- Ужесточена проверка загружаемых (upload) текстов. Теперь понимается большее
количество форматов картинок, которые иногда пытаются загрузить вместо
текстов.
- Приглажен формат вывода html-текста в диалогах редактирования (<:EditField
TEXT:>).
- Детектор html теперь понимает файлы с <?xml?>-заголовками.
- cmwmaild. Добавлен атрибут DIGEST_VARIANT_ID - идентификатор обрабатываемого
digest variant, а также DIGEST_VARIANT_TITLE - заголовок digest variant
(замена для устаревшего DIGEST_TITLE). Добавлены параметры --addressee,
--item, --variant, --period. Для остальных параметров также введен
gnu-формат.
- Для cmwcronrunner добавлена возможность передачи коммандно-строчных опций
cron-задачам.
- Исправлен репортинг при обработке ошибок при выполнении откомпилированного
кода шаблонов.
- Добавлены процедурные вставки Params::split и Params::join, для работы с
псевдоатрибутами, сохраняемымы в атрибутах контекста или реальных атрибубутах
айтемов.
- Добавлена функция контекста SUBSTR для работы со строками: выделения
подстроки из переденной строки, замены подстроки в переданной страке.
- Добавлена функция контекста MATCH для проверки соответствия строки указанному
шаблону. При этом, функция может возвращеть список совпадений.
- Изменен синтаксис вызова агрегатных функций контекста. Теперь фильтр, должен
полностью помещаться во второй аргумент функции, т.е. если фильтр содержит
запятые, необходимо заключать его в кавычки.
- Возвращены к жизни скрипты virtual, virtedit, typeedit.
- Возвращены к жизни утилиты cmwdu, clearpictures.
Версия 0.9693 - очередной пререлиз 0.97, 01.03.2006
- Добавлен механизм подавления кеширования в случае работы авторизованного
пользователя.
- Исправлены ошибки из за которых нельзя было загрузить файлы с расширением
tiff.
- Исправлена ошибка при определении корректного back url для форм.
- Исправлена ошибка обработки Exception в постингах.
- Добавлена оболочка для psql - cmwpsql, подставляющая все реквизиты базы
данных для вызова psql.
- Исправлен формат вывода http-заголовков Last-Modified & Expires, теперь он
соответствует формату http-date.
- Портирована функциональность из no_tc, для кастомизации ответа robots.txt,
ответ строится на основе шаблона назначенного для виртуальной страницы
-robots_txt. Только для сайтов со статусом OWNS_ROOT.
- Добавлена обработка запросов файла /favicon.ico, файл ищется в DISIGN_LIBRARY
назначенного для виртуальной страницы -pictures. В случае если виртуальная
страница не определена отдаётся умолчательный robots.txt. Только для сайтов
со статусом OWNS_ROOT.
- Умолчательное значение глобального атрибута NO_CACHE изменено с 1 на 0.
- Добавлена функция контекста MAXLEN - возвращает максимально возможную длину
для UPDATABLE атрибутов.
- Добавлена функция контекста REPLACE для применения регулярных выражений к
атрибутам контекста или константным строкам.
- Добавлены submit-time атрибуты для загруженных файлов xSIZE & xORIGNAME для
получения информации о размере файла в байтах и для получения оригинального
(до переименования) имени файла.
- Введен новый синтаксис именование атрибутов для загрузки картинок:
UPLOAD_PIC_id, где id - комбинация цифр и латинских букв.
Переменная для переименования файлов выглядит как UPLOAD_PIC_id_NAME.
Остальные submit-time переменные, по аналогии: UPLOAD_PIC_id_WIDTH,
UPLOAD_PIC_id_HEIGHT, UPLOAD_PIC_id_FORMAT, UPLOAD_PIC_id_ORIGNAME,
UPLOAD_PIC_id_SIZE.
Версия 0.9692 - очередной пререлиз 0.97, 10.01.2006
- Максимальная длина item_id увеличена с 20 до 64 символов.
- Функция SYSDATE заменена функцией NOW, для поддержания совместимости SYSDATE
пока оставлена, но объявляется устаревшей.
- fix: при переименовании айтемов с типом контента Binary не правилась сама
ссылка на файл.
- fix: не латинские символы в OLD_URL эскейпятся, что позволяет адресовать
файлы с такими символами в именах.
Версия 0.9691 - очередной пререлиз 0.97
- Добавлены магические атрибуты CURRENT_ITEM_ID и CURRENT_TYPE_ID.
- Исправлена проблема с правами доступа при создании директорий картинок
и при редактировании cmw.conf пользователем из группы ADMGROUP.
- Реализована выдача имени шаблона и номера строки, в которой произошла
ошибка при Error 500.
- Переопределение атрибута совпадающего по имени с атрибутом итема в
Define признано легальным, т.к. в новой системе контекстов это не
предотвращает доставание атрибута итема (буде у итема такой имеется)
из базы.
- При включенном атрибуте DEBUG теперь в получаемом коде отмечаются начало и
конец выполняемого шаблона и итем, для которого он выполняется.
- Починены баги с хранением и установкой параметров каталога ndmm.h,
порта бакенда и DEVELOPMENT_SERVER.
Версия 0.969 - технологический пререлиз 16 января 2003 г
- Полностью переработан интерпретатор шаблонов. Теперь шаблоны
компилируются в код на Perl, что позволило достичь ускорения работы
интерпретатора шаблонов в несколько раз.
- Большая часть ошибок времени выполнения шаблоне сейчас приводит
к ошибке 500. Текст сообщения об ошибке пока попадает только в
error.log сервера. В дальнейшем планируется для пользователей с
правами разработчика и на серверах разработки выводить это сообщение
в ErrorDocument.
- Полностью переработана система контекстов. Теперь все операции,
необходимые и в процессе визуализации, и в процессе обработки
постинга, выполняются через единый API объекта Communiware::Context
и его наследников.
Таким образом появляется уровень абстракции, применимый для разработки
всех возможных расширений к Communiware на Perl (Custom Dynamic
elements, perl filters, процедурные вставки) рабоающий примерно в тех
же терминах, в каких работает язык шаблонов.
- Часть данных, за которыми ранее требовалось неоднократное обращение в
базу в процессе генерации одной страницы, теперь кэшируется.
- Введено (и поддержано на уровне объектой модели в перловом коде)
понятие документа. Документ это HTML/XML документ, отдаваемый
пользователю + заголовки протокола, по которому он отдается.
Один HTTP запрос может привести к формированию нескольких документов,
например странички, отдаваемой пользователю и письма, посылаемого
по электронной почте с помощью DE MailTo.
- Усовершенствован механизм включения JS-кода WYSIWYG плагина. Теперь
гарантируется включение этого кода один раз на документ.
- В API контекста включен механизм для генерации уникальных для всего
документа идентификаторов, который используется при автоматическом
формировании идентификаторов форм постинга и полей ввода текста,
используемых WYSIWYG-плагином.
- Введена опция конфигурационного файла DEVELOPMENT_SEVRER. При установке
этой опции в ненулевое значение отключается долгоживущий кэш байткода
скомпилированных шаблонов. В случае если эта опция выключена, после
изменения шаблона требуется перезапуск бэкэнда для того, чтобы
изменения вступили в силу, но заметно возрастает производительность.
- Выделены специальные контексты сайта, текущего пользователя,
текущего шаблона, итема документа и глобальный, и предусмотрена
возможность прямого обращения к их атрибутам, как из языка шаблонов
(синтаксис ATTR#S,ATTR#U, ATTR#T, ATTR#D, ATTR#G) так и через
интерфейс объекта Communiware::Context (метод special_context)
- В стэке контекстов при обработке шаблона письма, рассылаемого через
DE MailTo доступен контекст обработки формы/постинга, в которой был
указан этот динамический элемент. Т.е. из письма можно дотянуться до
всех введенных в форму данных.
- С целью оптимизации групповые атрибуты при компиляции транслируются
в вызовы агрегатных функций. В данном месте в preview-релизе возможны
некоторые проблемы. Если у вас не отрабатывают групповые атрибуты со
сложными подстановками в аргументах, попробуйте переписать их на
эквивалентные агрегатные функции вручную. Но обязательно пришлите
нам пример неработающего вызова, чтобы мы учли этот вариант при
подготовке production релиза.
- Объеденены в единое понятие логические и арифметические выражения.
Все они теперь транслируются в выражения языка Perl (при сохраненнии
старого синтаксиса) Благодаря этому появилась возможность
использования логических операций || и && в качестве рудиментарной
формы условного оператора в DE Use.
- Добавлены новые функции контекста PREFIX, STATUS_VALUE (порядковый
номер статуса) и SELF_URL (URL текущей страницы).
- Атрибуты URL_PREFIX, PIC_PREFIX и FILE_PREFIX теперь транслируются
в функцию контекста PREFIX на этапе компиляции шаблона.
- Реализована возможность явной сортировки списка вариантов в
<:Input popupmenu:> и ему подобных вариантах Input.
- Из релиза исключены все скрипты уровня пользователя. Работа с опросами
переписана на процедурную вставку. В production релизе планируется
включение универсального шаблона редактирования, полностью заменяющего
функциональность скрипта moderate, но пока пакет de на совместимость
с новым релизом не тестировался.
В связи с этим исключены динамический элемент Referer и тип script
у динамического элемента Form.
- Исключен специальный атрибут POSTPROCESS. Вызов процедурных вставок
производится только через динамический элемент Do
- Более не поддерживается синтаксис 6-го параметра ItemLink (и
соответствующих параметров LinkBox и Script) не в виде
name=value,name=value. Ранее список из единственного элемента без
знака равенства там воспринимался как значение атрибута class.
Теперь, аналогично всем другим подобным спискам, это воспринимается
как атрибут с таким именем из текущего контекста.
- Динамические элементы Subscribe и Mailto, а также установка кук
в <:Form type=context:> и в формах созданных с помощью HTML-тэга
<form> не поддерживается. Используйте <:Form type=special:>
- Изменена работа с представлениями. Теперь исходное представление
запоминаемого текста итема сохраняется в атрибуте SRC_REPR. Функции
Communiware::Datatype::-::representations позволяют узнаь допустимые
представления для каждого возможного SRC_REPR. Семантика
representation=auto (или representation= ) в DE EditField изменена,
теперь это значит "показать текст в том представлении, в котором он был
исходно запощен". Атрибут FORMATTING перестал использоваться.
- Вероятно (не тестировалось) отпала необходимость патчить CGI.pm
для корректной работы с Сommuniware в perl 5.6.x
Версия 0.96 от 1 ноября 2002 года
Новая функциональность:
- Добавлено использование mod_accel в качестве кеша на frontend. Теперь
страницы, сгенерированные на бэкэнде агрессивно кэшируются с учетом
personality пользователя и параметров настройки.
В связи с этим появился новый атрибут у итема SERVER DEFAULT_EXPIRES,
который позволяет установить время (число секунд) устаревания страницы
в кэше по умолчанию. per-шаблон настройка осуществляется выдачей
HTTP-заголовка X-Accel-Expires значение которого - время устаревания в
секундах.
- Добавлен атрибут FILESIZE, хранящий для итемов с CONTENT_TYPE Binary
размер файла, а для Html - cуммарный размер иллюстраций.
- Работа с картинками и файлами теперь имеет транзакционный интерфейс,
т.е при неудачном постинге изменения, которые успели произойти в
картинках, тоже откатываются.
- Добавлена утилита sbin/cmwfsize, выдающая отчеты по используемому
объему в области картинок а также корректирующая ошибки данных в поле
ITEM.FILESIZE.
- В утилиту cmwctl добавлена команда dbgstart, которая запускает
фронтенд и бакенд в "single mode", т.е. с ключом -X.
- Оживлена возмодность работы фронтенда на порту, отличном от 80.
- Утилита cmwpkginst стала понимать в datafiles суффикс .sh, и выполнять
эти файлы как шелловские скрипты.
- Усовершенствовано представление книг для печати.
- Из интерфейса редактора убраны все ссылки на scripts/moderate
- Переработан интерфейс работы с правами доступа. Теперь для всех
итемов, для которых возможно явно назначать права, показывается ссылка
[права], при этом в шаблоне access_rights показываются чекбоксы только
для тех прав, которые можно реально назначить в данной ситуации.
- Отладочный режим PROFILE=2 теперь показывает более осмысленный вывод,
позволяющий локализовать в шаблоне то место, где реально тратится
время.
- Предусмотрена возможность переопределения атрибута TYPELIST
(используемого при выводе меню рубрик и карты сайта) в любом шаблоне
обрамления.
Исправленные ошибки.
- Исправлена ошибка в Posting.pm, из-за которой при постинге лишний раз
выполнялось ToInternal для RICHTEXT-полей.
- Исправлена ошибка с заливкой стоп-слов под PostgreSQL в неправильной
кодировке.
- ORDNUM стало считаться в <:Attr :> именем атрибута.
- Добавлена функциональность <:Define ... append:>
- Исправлено на FRONTENDCACHEDIR забитая гвоздями в tools/writehttpdconf
/var/communiware/cache.
- Исправлена ошибка в cmwpkginst, связанная с невключением опций
пакета в .config и cmw.conf.
- При попытке залить картинку через поле для аплоада текста выдается
более внянное сообщение об ошибке.
- Исправлена ошибка в скрипте typeedit, из-за которой для редактирования
онтологии через web-интерфейс требовались права разработчика на сайте
default. Теперь достаточно прав разработчика на любом сайте.
- Исправлена генерация ссылок на продолжение списка в стандартных
шаблонах. Теперь надписи на ссылках соответсвуют реальности.
- На странице материала с дискуссией теперь также показываются ссылки
на продолжение.
- При извлечении переписываемым фильтром любого атрибута типа RICHTEXT
теперь извлекается и LANG, который используется при выводе этого
атрибута на правильном языке.
- При создании сайта с копированием вариантов подписки с прототипа,
корректно провязываются связи у этих вариантов подписки
- Ликвидирована security hole связанная с неоправданным ослаблением
проверко прав доступа при операции BELONGS--> в унифильтрах.
Версия 0.9521 от 16 октября 2002 года
- Заткнута неочевидная проблема вокруг кривого воркэраунда с заполнением
глобального стека вызовов шаблонов.
- make_transl теперь пишет комментарии, откуда он взял ту или иную фразу и
пропускает заголовки шаблонов не типа PAGE
Версия 0.952 от 10 октября 2002 года
Новая функциональность:
- Все атрибуты типа RICHTEXT (кроме основного содержимого итема, доступного
иногда как атрибут TEXT) перед выводом переводятся через все тот же механизм
переводов на язык итема, который запрашивался в HTTP-запросе.
- Утилита make_transl теперь вытаскивает для перевода еще и все атрибуты TITLE
из указанных дампов.
- Введена виртуальная страница -login - шаблон страницы логина. Употребляется в
том числе и ядром при принудительном логине.
Исправленные ошибки:
- Переводы заливались не туда и без диагностики. Теперь для новых сайтов будут
заливаться туда. Для апгрейда старых надо вручную отрывать виртуальную
страницу -translation.
- Язык для -top в форме ввода нового итема определялся неправильно.
- При копировании сайтов не провязывались связи к вариантам подписки от
шаблонов дайджестов и типов итемов.
- После того, как qualified attributes стали по умолчанию считаться только по
текущему сайту, шаблон вывода реплики стал считать, что реплика, написанная
пользователем с другого сайта, в том числе и анонимная. Поправлено глобально
указанием во всех qualified attributes по связям AUTHOR и
INCLUDED_USER_GROUP, что поиск надо вести по всем сайтам.
- При принудительной сильной аутентификации во время попытки что-либо
отредактировать, шаблон редактирования считал, что пользователь пришел с него
самого.
- Исправлена ошибка, из-за которой портилось значение атрибута AGENT_IDENT при
заходе краулера в случае соответствия регулярному выражению.
Версия 0.9513 от 2 октября 2002 года
- Кэш виртуальных страниц приводил к тому, что cmwmaild мог генерировать
неправильные заголовки List--
- Удален итем HTTP-агента a_digext, ошибочно считавший некоторые сборки MSIE
краулерами. Правильно, в общем, считал, но юзера обижаются.
- Заведено правило удаления временных HTTP-агентов.
Версия 0.9512 от 30 сентября 2002 года
- Исправлена ошибка, приводившая к неработе WYSIWYG-редактора
- Проблема со сборкой mnogosearch под Oracle исправлена
- Исправлен скрипт typeedit
Версия 0.9511 от 23 сентября 2002 года
- Исправлена ошибка, связанная с тем, что при count_attrs терялся стек вызовов
шаблонов.
Версия 0.951 от 18 сентября 2002 года
- <:Input submit:> научился выставлять более чем по одной куке за запрос (это
касается всех способов выставления кук, кроме <:Header Set-Cookie:>, где они
и раньше обрабатывались отдельно).
- Добавлен перевод запроса авторизации из формы.
- Проверка RIGHTS(WRITES) делалась напрямую, а не через allow_write, что
приводило к возможности редактировать все группы, в которые входишь.
Исправлено.
- Реплику теперь можно запостить, попутно аутентифицировавшись.
- Удавлены русские буквы из CmwConfig.pm, криво попадавшие в cmw.conf.
- Забытый пароль теперь высылается в письме с Content-Type: text/plain. Чтобы
не считали спамом.
- При ошибке в одном из регулярных выражений у типа HTTP_AGENT в кэш не
грузились все следующие за ним в порядке ответа на запрос. Теперь не грузится
только этот с руганью в лог.
- use integer в HttpAgent.pm приводил к тому, что в диапазон
0.0.0.0-255.255.255.255 не попадал ни один IP-адрес.
- Включен профайлинг с честной обработкой вложений. Теперь профайлится весь
запрос, за исключением начальной стадии (пока не обработаны куки). Указание
PROFILE=2 теперь приводит к отслеживанию профайлером последовательности
вызова, что дает более детальную, но менее читаемую картину.
- Статистика на страницах теперь показывается только при включении настроечной
куки SHOWSTATISTICS. По этому поводу починена работа настроек.
- При отдаче страницы краулеру не отдается Pragma: no-cache, а Expires и
Last-Modified, соответственно, отдаются.
- Картинки могут иметь расширение jpeg
- Исправлена ошибка неправильной отработки рекурсивно вызываемого шаблона.
- Исправлена ошибка с незакрытием трех файлхэндлов в Parse::RecDescent,
что приводило к "плохой демонизации" бакенда.
- У DE Surround исчезла возможность указать логическое выражение, в зависимости
от которого будет происходить его включение.
- Исправлена ошибка с неправильным переопределением параметров
SPELLD- после переконфигурации.
- Обращение к readline::readline из Config модифицировано так, что можно
корректно использовать промпты длиннее текущей ширины экрана.
- При выполнении backup_communiware в дамп данных теперь явно дописывается
set CLIENT_ENCODIND в кодировку дампа, что приводит к загрузке этого
дампа restore_communiware-м также в правильной кодировке.
- Опция ARCHIVER сделана мутабельной, соответственно изменен код
cmwrotatelogs.PL
- Исправлена ошибка с неустановкой prerequired модулей из root.pl.
- У дизайнера появилась возможность управлять размерами WYSIWYG-контейнера при
редактировании текста. Отдельная благодарность Дмитрию Симонову
- Утилита cmwpkginst научена загружать файлы переводов - -.transl - из
состава пакетов.
- Добавлена функция контекста CONTENT_TYPE(item_type), возвращающая Html,
Template, Code, None... т.е. тип содержимого для указанного типа итемов.
- Добавлена функция контекста LINK(linkname), возвращающая либо SIMPLE,
HIERARCHY, META в зависимости от типа связи, или undef если аргумент - вообще
не имя типа связи.
- Исправлена ошибка генерации RewriteRule для robots.txt в случае сайта с
пустым префиксом.
- В DE EditFields добавлена опция options, которая позволяет передавать в
одном параметре несколько опций.
- Исправлена ошибка в унифильтрах, из-за которой неправильно транслировались
фильтры с условиями, наложенными на расширенные атрибуты.
- Удален скрипт su.
- Изменен синтаксис групповых атрибутов. Теперь при инсталляции можно
указать, будут ли групповые атрибуты считаться только по текущему сайту или
по всему серверу (по умолчанию статистика ведется только по текущему сайту).
Для статистики по всему серверу введен синтаксис +LINKNAME.
- Исправлена работа с workflow - теперь для суперюзера workflow игнорируется.
- Добавлена утилита cmwcronrunner, все вызовы в кронтабе Communiware
делаются только через нее. "Из-за этого" ликвидирована проблема с незакрытым
логом кроновского задания во время ротации лога.
Версия 0.95 от 14 августа 2002 года
- Добавлена поддержка ядром атрибута LOGIN (login name) у AUTHOR
- Исправлена ошибка в Communiware::Unifilters из-за которой
выражения вроде PUBLISHED > 'non data string' или
PUBLISHED > NON_DATA_ATTR воспринимались как нормальные.
- Исправлена ошибка в Communiware::Filters::is_in_filter из-за
которой неверно работала конструкция
is_in_filter('value:ATTRNAME', {unifilter text}).
- Исправлена проблема с запросом пароля при просьбе напомнить пароль.
- Добавлен интерфейс из языка шаблонов к агрегатным функциям над
произвольными фильтрами см. раздел AGGREGATE FUNCTIONS в документации
на Communiware::Context
- Восстановлено тестирование групповых атрибутов в attredit
- Скрипт filters теперь умеет работать с фильтрами, использующими
атрибуты из нескольких вложенных контекстов.
- Исправлена ошибка с затиранием "пакетных" сообщений для gettext при
повторной инсталляции Communiware.
- Изменена работа confinst-а так, что теперь при инсталляции Communiware
не затирается имеющаяся информация о пакетах в "старом" cmw.conf-е.
- Удален шаблон logout_t. Теперь вместо него используется параметр LOGOUT=1 в
запросе. Если у кого-то был такой расширенный атрибут - звыняйте...
- Полностью изменена схема авторизации
- Утилита runsql перенесена из bin в sbin.
- Постпроцессор Thubmnail теперь поддерживает больше вариантов
спецификации размеров генерируемой картинки
- Добавлен фильтр ::Random
Версия 0.9442 от 31 июля 2002 года
- Исправлена ошибка в конвертере rtf2html из-за которой выводилось
сообщение "Unknown output spec".
- Доработан конвертер rtf2html для случая, когда данные картинки хранятся
в rtf-файле с помощю команды \bin
- Исправлена работа с сообщениями и много прочей мелочи в онтологических скриптах.
- Исправлена выдача лишних закрывающих тэгов при группироваи списка по
тэгам
- Исправлена неочистка полей ввода при успешном завершении постинга
- Восстановлено создание типов итемов через скрипт typeedit.
- Добавлен корректный вывод диагностики при создании нового типа итема через скрипт typeedit.
- Исправлено определение допустимого параметра перловых фильтров. Теперь допустимы параметры вида param=filter
- Восстановлено сломанное в 0.944 преобразование RTF
- Восстановлена и оттестирована функциональность MAILLIST
- Модули, применяемые для тестирования (TBone и CMWTBone) сделаны
устанавливаемыми в дереве модулей Communiware. CMWTBone переименован
в TestCase.
Версия 0.9441 от 16 июля 2002 года
- В дистрибутив добавлена документация разработчика про опросы.
- Переработан механизм определения текущего сервера при обработке сообщения об ошибке. Теперь текущий сервер определяется из URL ErrorDocument, а не из URL, вызвавшего ошибку.
- Исправлена ошибка при работе с бинарными файлами, внесенная в версии 0.944
Версия 0.944 от 15 июля 2002 года
- Исправлена ошибка в Config, приводившая к невозможности использования cmw.conf из текущей директории в perl 5.6+
- Исправлена ошибка в cmwopt, из-за которой неверно выставлялись пермиссии и
владелец файла конфига после его редактирования.
- Исправлена ошибка в Unifilters: атрибуты вроде DISTANCE ошибочно определялись
как расширенные, в результате неправильно собирался sql-запрос.
- Исправлена ошибка в Config: при неиспользовании фронтендом статики
он собирался без mod_rewrite, необходимого для /pictures и /scripts.
- Из-за remote exploit и некорректной отдачи Cookie в Apache < 1.3.26 в Config добавлена проверка на то, что версия Apache не ниже 1.3.26
- Изменен механизм хранения картинок по директориям. Теперь в директории pictures хранятся директории с двухсимвольными именами, в которых уже хранятся директории картинок конкретных итемов, идентификаторы которых начинаются с этих двух букв. Картинки итемов с односимвольными именами хранятся по-прежнему.
- Исправлена ошибка, приводившая к сбою сообщений статусов при совпадении названия статусов разных типов.
- Исправлена ошибка, когда при указании TYPE_ID = 'const' и затребовании расш.
атрибута из другой таблицы генерился корректный запрос, который, однако,
гарантированно не возвращал ни одной записи. Теперь в такой ситуации запрошенные атрибуты просто игнорируются. Дописан тест.
- Сделана мутабельной опция XARGS
- Добавлен "затравочный" набор HTTP-агентов
- Исправлена ошибка в определении remote IP.
- Добавлены параметры конфигурирования доступа внешних поисковых машин - максимальное LA, при котором страницы отдаются, минимальное и максимальное время, через которое поисковым машинам предлагается перезапросить страницу при большом LA сервера.
- Исправлена ошибка в скрипте filter, из-за которой выводились неправильные
ссылки с таблицы результатов работы фильтра.
Версия 0.943 от 10 июня 2002 года
- Радикально переработано взаимодействие с http-протоколом. Убрана
проблема, приводившая к неработе с Apache 1.3.24
- Убран script subscribe как несоответствующий текущей реализации
подписки.
- Начальные параметры кэша унифильтров сделаны конфигурируемыми
(UNICACHE_MINEL & UNICACHE_MAXEL).
- Имя схемы поисковых данных стало конфигурируемым (опция MNOGOUSER).
- Изменен диалог при скрипта Config при обнаружении нескольких
требуемых программ в PATH, теперь умолчанием чвляется значение
из "старого" конфига, если такое было.
- Добавлена утилита sbin/restore_communiware.
Версия 0.942 от 24 мая 2002
- Изменены названия расширенных атрибутов итема типа SEARCH_ENGINE
во избежание конфликта с магическим атрибутом USER_AGENT
- Дополнен набор параметров DE Text
- Изменена структура таблицы TR_TERMS - увеличена максимальная
длина интернационализированного сообщения. После make dbupgrade
требуется переустановка всех пакетов, содержащих
интернационализированные шаблоны.
- При трансляции унифильтров как ошибочная воспринимается ситуация, когда
используется и не определен хоть один из атрибутов контекста ITEM_ID,
CURRENT_ITEM_ID, CURRENT_SERVER, CURRENT_TEMPLATE, TYPE_ID и SERVER.
- Добавлен динамический элемент Skip, который позволяет
пропустить элемент списка, удовлетворяющий этому условию и корректно
взаимодействует с разбиением списков на страницы.
- Переделана система make database c целью повышения надежности
установки. Не производится поиск по PATH утилиты createlang
в случае установки под Postgres. В некоторых случаях возможен
перезапуск make database с середины после ошибок.
- В Makefile.PL удалено сканирование файлов в развернутом дистрибутиве.
Это делает возможным выполнение Makefile.PL при наличии развернутых
дистрибутивов Apache и mod_perl в рабочей директории.
- Исправлена ошибка в функции dump_values, из-за которой не работал скрипт
dump_passwords
- Утилита backup_communiware теперь сохраняет поисковые данные (схема
mnogosearch для Oracle или содержимое соответствующих таблиц для Pg)
в отдельном файле, что дает больше возможностей при выполнении восстановления
данных.
- Преобразование wmf-файлов, извлекаемых их запощенных rtf-ов
переведено на использование только программы convert из ImageMagick.
Удален модуль RTF::Wmf2 и утилита wmfs2pngs.
- Добавлены функции контекста ANCESTOR и DESCENDANT, проверяющие наличие
пути от текущего итема к указанному.
- Добавлена функция контекста DOM_ID. Возвращает преобразованный в целях браузерной совместимости идентификатор итема или идентификатор текущего постинга. Подробности см. в документации.
- Изменен алгоритм поиска переводов. Теперь при отсутствии перевода на текущем сайте при совпадении сайта, которому принадлежит исполняемый шаблон, с текущим, перевод ищется на сайте default, иначе - на сайте, которому принадлежит исполняемый шаблон.
- При загрузке переводов отрываются досовские концы строк
- Изменен порядок инициализации БД и загрузки итемов из
seed_base. Теперь итемы загружаются после create cpnstraint
и в алфавитном порядке -.dmp файлов и каталогов, содержащих
items.list.
- Исправлена ошибка в DE If, из-за которой русский текст не
соответствовал проверке на вхождение пустой строки.
- Исправлена ошибка в скрипте make_userpasswds.sh
- Добавлена загрузка дампов из seed_base/doc_dir при make database /
make dbupgrade
Версия 0.94 от 30 апреля 2002 г.
- Исправлена ошибка, из-за которой шаблоны, добываемые <:Include:> и
<:Surround:>, "залипали" в кэше. А заодно и ошибка, которая ею маскировалась
и приводила к неправильному кэшированию шаблонов, при обработке которых
извлекались фрагменты.
- Добавлена утилита ручной загрузки переводов для многоязычных сайтов
- Изменен на более secure & robust формат обращения к индексатору
в унифильтрах - на contains 'stringliteral' или contains CTX_ATTR.
- Изменен формат дампов. Теперь css и js файлы можно редактировать
прямо в дампе. load_item от старых версий Communiware не будет
понимать таких дампов, но совместимость старых дампов с новым
load_item сохранена
- Исправлена ошибка из-за которой зарегистрированный пользователь
без права WRITES не мог воспользоваться формой с authtype=anon
- Исправлена ошибка распознавания атрибутов в функции Context::check_param
Версия 0.937 от 24 апреля 2002 г.
- Поправлена обработка атрибута типа ERROR в DE Attr (он теперь ничем
не отличается от остальных атрибутов типа STRING)
- Поправлена обработка атрибутов RICHTEXT и строковых атрибутов,
содержащих специсимволы в параметре alt DE Image.
- Поменялся интерфейс парсера шаблонов. Модуля Communiware::Parser
больше нет, есть класс объектов Communiware::Template.
Если у вас есть custom динамические элементы, их придется
модифицировать.
- Устранены потери времени на сбор данных профайлинга при отключенном
профайлинге.
- Добавлен экспериментальный механизм поддержки многоязычных шаблонов.
- Значение атрибута PICNAMEx при использовании его в Use Check и др.
теперь считается пустым, если в соответствующее поле PICn не загружена
картинка.
- Исправлены ошибки в Communiware::Context которые иногда
позволяли изменить атрибуты итема
- Измен механизм трансляции унифильтров при извлечении
расширенных атрибутов для увеличения скорости работы получаемого
sql-запроса.
Версия 0.9361 от 11 апреля 2002 г
- Исправлена работа с атрибутами типа RICHTEXT в постинге.
- Исправлена работа с пустыми значениями атрибутов типов
отличных от RICHTEXT в динамическом элементе Input в постинге.
Теперь пустое значение из базы имеет больший приоритет,
чем занчение по умолчанию, заданное в шаблоне. Для RICHTEXT
это не так, поэтому для него следует использовать EDITFIELD
- Исправлена ошибка 502 при отдаче защищенных файлов.
- Исправлен тест на cmwmaild, который раньше вел себя странно
при не совпадении cmw.conf в дистрибутиве и в инсталлированной
версии. Теперь там специальный тест, который специально
отваливается в случае такого несовпадения.
- В профилировщик добавлено профилирование арифметических
и логических выражений.
- Communiware/Postprocess/Thumbnail.pm сделан не-препроцессируемым
для того, чтобы программа convert осталась опциональной при конфигурации
Communiware.
- Исправлена ошибка трансляции унифильтров, содержащих виртуальные
страницы в условиях.
Версия 0.936 от 5 апреля 2002 г.
- При редактировании итема существующие значения атрибутов имеют приоритет над
значениями по умолчанию, заданными в шаблоне
- Исправлена ошибка при вводе вопроса о нешифрованных паролях
в скрипте Config.
- Добавлена функция контекста VIRTUAL позволяющая раскрывать
виртуальные страницы в тех контекстах, где раньше этого было нельзя.
- Исправлена ошибка в Config, приводившая к неправильной работе
при отсутствии одной из программ преобразования графических файлов и
продолжении конфигурирования.
- Передизайнены стандартные шаблоны
- Добавлен атрибут глобального контекста CURRENT_ITEM_ID
- Добавлена проверка на соответствие картинок декларируему формату
- В ядро добавлена работа со внешними поисковыми машинами.
- В параметре submitto динамического элемента Form для type=context
и type=special раскрываются виртуальные страницы.
- в DE Input добавлена возможность указывать в качестве меток выпадающих
меню и списков, атрибуты, не извлекаемые фильтром, в том числе функции
контекста. Это дает возможность использовать интернационализированные
названия типов, статусов и других перечислимых атрибутов с явно
заданными списками значений.
- Добавлена поддержка со списочными атрибутами в унифильтрах. Теперь при подстановке из контекста атрибута, определенного как список в DE Define, он корректно раскрывается в унифильтрах.
- Отрефакторен Context.pm - getattr теперь представляет собой обертку вокруг метода getattrlist, и возвращает undef, получив пустой спиок из getattrlist, или join по запятой.
- Добавлена поддержка списочных атрибутов в DE Define и Attr
- Добавлены тесты для Define и Subst
- Исправление в постинге. Теперь при мультипостинге при удалении,
заданном в качестве глобальной акции, при наличии пустого контейнера
на создание нового ITEM ошибки не возникает.
Версия 0.9351 от 13 марта 2002 г.
- Генерация make dbupgrade в Makefile.PL обучена взведению rollback при
неудаче. Есть надежда, что ничего от этого не сломалось... Если сломалось -
следует явно вставлять commit;
- Добавлены фильтры UserSubscriptionsOf и ItemSubscriptions, используемые в
шаблонах подписки.
Версия 0.935 от 12 марта 2002 г.
- Добавлены шаблоны, позволяющие модератору сайта управлять
подписками других пользователей.
- Исправлена проблема в системе рассылок из-за которой
связанные итемы могли не извлекаться, даже если у подписавшегося
пользователя были права на них (только для персональных рассылок)
- Улучшена работа cmwctl при запуске демонов.
- Корректная работа с контекстом в процедурных вставках периода PostPost
- Мелкие багфиксы системы работы с подписками.
- Добавлен констрейнт на непустой Content-Type у типа итема
- Исправлены ошибки с правами доступа на страничке пользователя.
- Добавлен специальный тип итема DESIGN_LIBRARY, к которому принадлежат
итемы -pictures
- Исправлена работа утилит dump_subs и load_subs, написаны тесты.
Версия 0.9341 от 1-го марта 2002 г
- Доведен до логической законченности объектный интерфейс контекстов
для использования в процедурных вставках. См.
Communiware::Context::Posting и Communiware::Context::Template.
- Добавлена возможность переименования итемов (действие RENAME в постинге)
см. шаблон rename_page
- Добавлена возможность самоудаления пользователя (шаблон delete_self)
- Исправлены проблемы с тем что под Perl 5.6.1 некоторые сообщения
выводятся в utf-8. См. также README.perl.5.6.1-utf8
- Появилась возможность задания пустого значения в Input date
- Исправлен ряд критичных ошибок в унифильтрах.
- Исправлена проблема с извлечением
старого значения неиерархических связей в контекст изнутри Include.
- Исправлены ошибки в cmwctl, приводившие к невозможности
запуска процесса из-под не-суперюзера и к остановке HTTPD
при попытке переконфигурирования из web-интерфейса.
- Появилась возможность управления переписыванием фильтров
из шаблона при помощи хинтов (см. документацию на
Communiware::Filters)
- Переработана система работы с кодировками. Теперь шаблоны в
хранятся в кодировке windows-1251. Кроме того, все кроновские
задания работают в кодировке сервера (выбранной при конфигурирования)
независимо от установок Environment, а у dump_item/load_item
появилась возможность явного задания кодировки дампа.
- Полностью переделана система подписок. Теперь шаблон почтовой рассылки
это отдельный тип DIGEST_TEMPLATE и существует тип DIGEST_VARIANT,
объединяющий несколько представлений одинаковых наборов итемов.
make dbupgrade выполняет полуавтоматическую конвертацию существующих
шаблонов рассылки, создавая DIGEST_VARIANT для каждой группы шаблонов
рассылки с одинаковым фильтром подписки. Полностью (несовместимым
образом) изменен синтаксис DE Subscribe.
- Все скрипты и команднострочные утилиты протестированы на совместимость
с Unix(tm) (в инкарнатции Solaris)
- Система тестов избавлена от привязок к party.ice.ru и сделана
более толератной к допустимым разногласиям в генерируемом CGI.pm
HTML-е
- Добавлена возможность указания действительного (а не целого) числа
в качестве второго слагаемого в условиях даты в унифильтрах.
- Исправлена ошибка смены сайта при заливке дампа (load_item -S)
- Исправлена ошибка в унифильтрах. Теперь при выборке доступных
потомков незащищенного ITEM проверка прав выполняется.
- Исправлена работа со статусами сервера с пустым urlprefix. Теперь
такой сервер может иметь статусы OWNS_ROOT, HIDDEN или DELETED
- Добавлен шаблон delete_self для удаления пользователя. При этом
информация об авторстве материалов на сайте сохраняется.
- Исправлена ошибка с неротацией логов во фронтенде и бакенде, и
наведенная ею ошибка с непроавильным рестартом бакенда после ротации
логов.
- Исправлена опечатка, приводившая к тому, что у атрибута TEXT тип
воспринималcя как STRING вместо правильного RICHTEXT
- В постинге появилась возможность перееменовывания итемов. Соответствующий шаблон rename_page добавлен в дистрибутив.
Изменение в версии 0.933 от 28 января 2002 года
- ВНИМАНИЕ! При апгрейде коммунивер-сервера на POSTGRESQL требуется
полный дамп базы средствами Communiware и make database.
- Исправлена ошибка, приводившая к многократному созданию каталога
blib.
- Добавлен скрипт version для просмотра версий установленных пакетов.
- Утилита confinst перенесена из tools в sbin и устанавливается
при make install - для использования при установке пакетов.
- Из скрипта pictures удалены явные упоминания /pictures.
Добавлена ссылка на валидатор css
- Исправлена некорректная обработка параметра submitto в DE Form
если тип формы не указан явно.
- В унифильтры добавлена возможность указывать условие contains -
полнотекстовый поиск.
- Поправлена обработка HTML-entities в заголовках HTTP и MIME
Изменения в версии 0.932 от 18 января 2002 года.
- В динамическом элементе If первый параметр не интерпретируется
как имя переменной, если первое условие взято в скобки.
(ранее первое условие в скобах выдавало ошибку)
- Исправлена ошибка в DE EditField, приводившая к неработе под Pg
при указании опции filter при редактировании связей [LINK]_FOR
- Исправлена ошибка обработки флаговых опций в методе
Communiware::Config::toxml.
- Исправлено не-препроцессируемое указание имени схемы БД cmw
в sql/Oracle/mnogosearch.sql.PL
- Добавлена возможность выполнять команды ОС, вызываемые из cmwctl,
под uid-ами, отличными от root. spelld теперь запускается под
uid-ом WEBUSER-а.
- Исправлена ошибка в Makefile.PL приводившая к загрузке Changes
и Deprecated в неправильной кодировке при кодировке БД отличной
от koi8-r.
- Исправлена ошибка ввода значений из "недозаполненного" (например
после прерывания по ^C) файла cmw.conf при повторных запусках
Config.
- Изменена логика работы опросов со статусом STANDARD. Теперь вместо
кук VOTED@ITEM_ID со значением времени голосования выдается одна
кука VOTED, значение которой - список опросов по которым голосовал
данный пользователь. Шаблон poll_t и скрипт POLL продолжают
узнавать старые куки.
- Добавлены проверки прав при отсылке нешифрованных паролей.
- Добавлено рзервное копирование файла нешифрованных паролей.
- Добавлена поддержка работы с паролями пользователей на уровне хранения.
Администратор может включить опцию хранения нешифрованных паролей
при установке Communiware. При этом старым пользователям (заведенным до
включения этой функциональности) и пользователям со статусом SUPERUSER
напоминание невозможно.
- Убрана поддержка атрибута default_user_status при создании пользователя
- Исправлена ошибка генерации файла httpd.conf.svr, приводившая к
предупреждению насчет виртуальных хостов с указанными портами и без них.
- Утилите load_item добавлены ключи S (разрешение менять сервер, по
умолчанию запрещено) и С (запрет обновлять итемы) при загрузке из дампа
- Исправлена ошибка раскрытия коммуниверных ссылок (cmw:) при hostname,
не совпадающем с hostname по умолчанию.
- При индексировании итемов, содержащих бинарные данные, добавлено
индексирование "объемлющего" итема, т.е. его TITLE, ABSTRACT, KEYWORDS
и т.п.
- Исправлена ошибка валидации унифильтров в DE Loop.
- Из постпроцессоров для переконфигурации теперь вызывается утилита
cmwctl, а не cmwactl, как раньше.
- Прекращено использование программы ispell для нормализации слов при
поиске. Вместо этого для нормализации слов применяется демон spelld
из состава поисковой системы mnogosearch. Управление этим демоном
добавлено в файл cmw.conf.
- Вывод отладочных сообщений из ядра переведен на <span class=formError>
- Добавлена проверка нахождения динамических элементов, могущих
находиться только внутри контейнера постинга, на нахождение внутри
контейнера постинга.
- Исправлены шаблоны add_server_p и del_server_p
- Исправлена работа create_item/update_item с явной передачей
информации о последнем редакторе итема.
- В онтологию добавлена связь INHERIT_RIGHTS, входящая в BELONGS,
и обеспечивающая наследование прав и шаблонов между сайтами.
- При создании ITEM через вебмастерскую модератор части сайта, не
являющийся модератором сайта или суперюзером, не имеет права создать
ITEM, не привязанный простой связью, принадлежащей к BELONGS, к части,
куда у него есть права на запись.
- В унифильтры добавлена возможность указания квантора all перед
списком итемов в linkop-ах. Семантика: "найти итемы, связанные со
всеми (а не с любым, как происходит по умолчанию) итемами из
заданного списка.
- Изменена проверка прав редактирования для групп пользователей
(USER_GROUP). Группой пользователей считается тип ITEM, который может
быть пассивным в связи INCLUDED_USER_GROUP. Права редактирования
теперь имеют модераторы сайта, и люди, непосредственно привязанные
авторизующей связью, входящей в метасвязь WRITES, к соответствующему
ITEM.
Изменения в версии 0.931 от 26 декабря 2001 года.
- Исправлена ошибка в Oracle-версии фильтра SortedForum
- Реализовано хранение истории измения итема, в том числе и информации
об удаленных итемах. См шаблоны show_history и show_deleted.
Необходимо выполнение make dbupgrade. На время dbupgrade
рекоменудется остановить сервер и все cron-овские задания.
На серверах с сотнями тысяч итем апгрейд может занять заметное время.
- Исправлена ошибка при работе с подписками, делавшая невозможным
управление подписками при использовании стандартных шаблонов.
- Разрешено передавать в позиционных параметрах фильтра текст,
содержащий сбалансированные скобки
- Исправлена ошибка в проверке прав доступа при трансляции унифильтров,
когда производилась проверка не наличие любой авторизующей метасвязи,
а только на ALLOWEDUSERS.
- Добавлена возможность индексирования документов в форматах
MS Excel (.xls) и MS PowerPoint (.ppt). Для реализации этой
возможности ребуется наличие утилиты xlhtml с www.xlhtml.org.
Патч для корректной поддержки старых (до 97) версий excel
находится на ftp://ftp.ice.ru/pub/freeware/communiware-support
Изменения в версии 0.93 от 20 декабря 2001 года.
- Исправлены проверки прав доступа в Communiware::DB при работе
из интерфейса модератора.
- Проправлена работа с условием sameserver в унифильтрах
- Исправлена группировка в фильтрах.
- Исправлена обработка дополнительных атрибутов тэга a в item_link.
Теперь он не пытается засунуть гиперссылку внутрь атрибута title
- Добавлена заглушка bytes.pm для случая использования perl с версией
меньше 5.006
- Исправлена настройка и установка indexer-а для индексации не-текстовых
файлов (rtf, postscript,...)
- Исправлено поведение DE Form - теперь при type=context не требуется
аутентикации
- Исправлена обработка ErrorDocuments при неправильном имени шаблона
- Скрипт poll исправлен для совместимости с PostgreSQL
- В скрипт filter добавлена возможность выполнения / тестирования
фильтра под AUTHOR_ID отличным от текущего.
- Групповые атрибуты теперь реализованы через унифильтры.
Следует ОБЯЗАТЕЛЬНО ПЕРЕЗАЛИТЬ стандартную онтологию, иначе все
статистические атрибуты перестанут работать
- Исправлена ошибка в порядке проверки прав доступа при работе
унифильтра - отмена проверки при наличии linkop по связи BELONGS
срабатывает только при неанонимности.
- Динамический элемент Lib теперь понимает ссылки на виртуальные страницы
- При постинге итема теперь можно назначить его виртуальной страницей
на текущем сайте.
- Динамический элемент Input checkboxgroup научился отличать отсутствие
результатов постинга от явным образом снятой пометки по умолчанию.
- Исправлена ошибка в Makefile.PL, приводившая к тому, что при make test
не находились модули Apache.pm etc, расположенные в нестандартном каталоге
(например в /usr/local/communiware/perllib).
- ITEM типа BINARY при сохранении через load_item теперь получают
относительные, а не абсолютные имена путей. Может потребоваться
переделка шаблонов.
- Вырожденные фильтры теперь игнорируют пустые элементы.
- Исправлена проблема в переписывалке фильтров, из-за которой
фильтры отваливались в ситуации когда один и тот же атрибут
требовалось указать и в шаблоне и в критерии сортировки.
- В аргументах функций контекста RIGHTS, ACTIVE и PASSIVE можно
виртуальные страницы.
- В унифильтрах при поиске по связям можно использовать ссылки на
виртуальные страницы. В отличие от ссылок на явно указанные итемы,
они должны быть БЕЗ АПОСТРОФОВ, например {TOPIC <- -top} - поиск
всех подрубрик корня сайта.
- При задании связей (но не _FOR) в формах постинга можно указывать
не только идентификаторы итемов, но и ссылки на виртуальные страницы
например <:Use TOPIC -top:>
- Реализован параметр filter в динамическом элементе Subscribe
При указании его среди прочих параметров в шаблоне добавляется выпадающее
меню, из которого можно выбрать только один пункт. Меню описывает шаблон
подписки, по которому будет подипсан пользователь. Пользователь может
быть подписан одновременно только по одному шаблону из меню.
- Исправлена ошибка в load_item, приводившая к неправильной работе
с ключом -r
- Исправлен скрипт dump_server для сохранения связей LASTEDITED
- Появился динамический элемент Form. Формы подписки и отсылки писем
теперь могут содержать Use, Check и тому подобное.
Формы, отправляемые на скрипты и формы поиска теперь не нуждаются
в генерации тэга <form> посредством <:Subst:>
- Все стандартные шаблоны не используют виртуальных страниц
page_top и page_bottom, script_top и script_bottom. Вместо них
используюется decor и script_decor.
- Реализованы в полном объеме процедурные вставки времени постинга.
- Проверка условий в контейнерах Item реализована до выполнения всех
остальных стадий. Теперь Check MailTo, Subscribe и процедурные вставки,
описанные в контейнерах, пропущенных из-за невыполнения этого условия,
выполняться не будут.
- В контексте формы имя связи как имя атрибута доступно всегда, даже
если на стадии count_attrs не удалось определить необходимость оной
связи.
- EditField text правильно формирует ссылку на документацию языка шаблонов
- Добавлен тип ERRMSG, предназначенный для коммуниверных сообщений
об ошибках. Следует изменить тип всех итемов, связанных с корнем
связью HTTP_ERROR на ERRMSG.
- Добавлена поддержка списка разрешенных типов при дампе и загрузке
онтологии
- Добавлено раскрытие виртуальной страницы в DE Subscribe
- Из dump_meta изъята поддержка версий, более ранних, чем 0.8
- При включенном DEBUG выдается сообщение об ошибке при невозможности
определения ITEM, соответствующего виртуальной странице.
- Типу SERVER добавлен статус DELETED
- Добавлен шаблон del_server_p, удаляющий сервер.
- Добавлен постпостер, удаляющий все сервера, помеченные как DELETED,
и выполняющий переконфигурирование апача.
- Исправлена ошибка определения time zone в cmwsidx, приводившая к
повторной переиндексации итемов. Также исключена повторная
переиндексация ErrorDocuments.
- Исправлена ошибка, приводившая к Proxy Error в конфигурации с
фронтендом, отсутствием собственных ErrorDocuments у виртуального
сервера, и наличием ErrorDocuments у сервера с пустым urlprefix
- Исправлена ошибка приводившая к неработе документированного
способа защиты от одновременного изменения итема двумя пользователями
- Переработан код утилиты cmwactl для более надежного контроля
успеха запуска / останова серверов.
- Исправлена ошибка в Communiware::Config, приводившая к неправильной
работе утилиты cmwopt при установленном sgid.
- В функцию Communiware::Init добавлена проверка на неизменение
значений иммутабельных опций в файле cmw.conf.
- Добавлена функция контекста VALUE(значение), позволяющая получить
значение атрибута, имя которого хранится в другом атрибуте.
- Добавлен параметр substalt в динамический элемент Image, который
вызывает вывод значения alt-атрибута текстом, если не найдена
картинка.
- ErrorDocuments теперь видны пользователям даже на закрытых сайтах.
- В дистрибутив добавлена утилита просмотра / изменения опций файла
конфигурации Communiware - bin/cmwopt.
- В унифильтры добавлено автоматическое добавление условия sameserver
при отсутствии условий связи (linkop-ов).
- В семантику унифильтров добавлено использование умолчаний для
(не)выполнения проверки. Условия проверки переименованы в
include-forbidden и allowed-only.
- Закрыта security hole, образованная скриптом pictures, который
ранее при неуказании ITEM_ID показывал списко всех итемов, имевших
картинки
- Произведена глобальная замена "старых" имен опций (-database) на
"новые" (DBNAME).
- Инсталляция конфигурационных файлов производится с помощью утилиты
tools/confinst, которая проводит диалог с оператором при наличии старой
версии устанавливаемого файла.
- Ключ -p у dump_item объявлен устаревшим. Теперь по умолчанию дампятся
шифрованные пароли авторов. Отменить это можно с помощью нового ключа
-P
- В дистрибутиве ограничен набор статусов пользователей. Оставлены
статусы LOCKED, NEWCOMER, MODERATOR и SUPERUSER. Упоминания о
статусах, отличных от LOCKED, NEWCOMER, и SUPERUSER убраны из ядра и
стандартных шаблонов.
- Исправлены стандартные шаблоны подписки.
- Из числа индексируемых документов изъяты сообщения об ошибках
- Пользователю mnogosearch добавлен синоним на таблицу item_link
- Исправлен механизм прописывания ORDNUM для LINKS_FOR при множественном
постинге.
- Изменен механизм передачи параметров при множественных значениях через
PassParams
- Дописаны тесты на функции контекста
- В функцию контекста RIGHTS добавлена возможность указания Item, с
которым проверяется связь.
- Исправлена ошибка в утилите cmwcronctl, из-за которой эта утилита
не работала под SystemV.
- Получение плана выполнения sql-оператора вынесено в отдельный метод
подкласса Communiware::SQL::Server
- Исправлена работа утилиты cmwrotatelogs, теперь при ошибках рестарта
отстается доступной последняя копия логфайлов.
- runtime-конфиг Communiware полностью переведен на XML, элиминирован
файл конфигурации Communiware.config.
- Радикально переработана модель проверки ограничения на запись и на
чтение итемов. Переделаны стандартные шаблоны.
Для проверки наличия прав доступа в шаблонах надо применять следующие
конструкции:
<:If RIGHTS(имя права):>
где имя права это либо слово ACCESS, эквивалентное вышеописанному
праву на чтение, либо имя конкретной (не обязательно авторизующей)
связи.
В отличие от ранее применявшейся конструкции If имя-права
эта конструкция может применяться в любой части логического выражения
(например
<:If RIGHTS(WRITES) || @RIGHTS(AUTHOR):>)
а также в любых динамических элементах, использующих логические
выражения (Cond/Case, Input, Surround, Item, Check etc)
- Удалена циклическая зависимость между Communiware::Auth и
Communiware::Context (через DB и Date)
Осталось использоватние Date $Communiware::CGI и Auth
$Communiware::dbh, Communiware::Attrs и Communiware::set_cookie
- Процедура Communiware::Context::selectrow_cached перенесена
в Communiware::SQL::Server и сделана методом.
Добавлены туда же методы cache_query, cache_handle и get_cached.
- В Communiware::Context(пока) добавлены процедуры check_link
и check_path
- Вынесена в отдельный модуль система профилирования.
- Изменен алгоритм провязывания дефолтных шаблонов при создании типа,
исправлен алгоритм формирования меню, добавлено прописывание записи в
subs_item_type.
- Добавлен логгинг в error.log всех 403 ошибок с указанием
имени пользователя, итема и шаблона.
- Изменена семантика контекст-функции RIGHTS -для авторизующих
связей наличие связи с корнем сайта эквивалентно наличию этой
связи с любым итемом сайта
- Добавлен динамический элемент Lib, формирующий ссылки на
CSS и JavaScript-файлы.
- Изменен формат вызова индексатора из утилиты cmwsidx. Бывший формат
вызова вызывал переиндексацию всех итемов каждый раз и разбухание
логов.
- Изменен алгоритм разбора параметров динамических элементов,
имеющих вид списка пар имя=значение через запятую.
Теперь в них можно подставлять значения атрибутов, содержащие запятые,
равно как и использовать защищенные бэкслэшом запятые. Подробности
(в частности о том, как подставить из атрибута готовый список пар)
в документации на модуль Context
- Исправлена ошибка в унифильтрах, из-за которой не приписывался вызов
tdate() для аргументов хранимого унифильтра при сравнении с аргументом
итема типа DATE.
- Исправлен скрипт attredit - теперь при создании куки ей прописывается
по умолчанию значение 0.
- Добавлен динамический элемент Authorize - аналог Authentify, но
проверяющий не вхождение AUTHOR_ID в фильтр, а произвольное логическое
выражение
- Исправлена ошибка в Makefile.PL приводившая к неправильной работе
make install при необходимости инициализации таблицы crontab.
Изменения в версии 0.923 от 2 октября 2001 г.
- Изменен механизм дампа онтологии сайта.
- Добавлена дополнительная валидация фильтров при загрузке онтологии.
- Исправлена ошибка в Posting.pm, приводившая к неправильной обработке
итемов с точкой в идентификаторе
- Исправлена ошибка в утилите cmwhttpdconfig, из-за которой
генерируемый конфиг воспринимался, как ошибочный при отсутствии
статического контента у фронтенда.
- Исправлена ошибка из-за которой парсер шаблонов не пропускал
древовидную сортировку по убыванию (t:ITEM_ID,PARENT_ID,-PUBLISHED)
и еще одна, из-за которой она реально не работала.
- При смене непустого префикса сайта на пустой ранее некорректно
работали url с item_id совпадавшим со старым префиксом сайта
(до первого жесткого рестарта). Теперь перекеширование происходит
корректно и при мягком рестарте
- Изменен API базы данных. Теперь процедура update_item ОБЯЗАТЕЛЬНО
требует указания параметра -type (как правило, во всех контекстах,
где происходит вызов update_item тип обновляемого итема известен)
- Теперь Communiware трактует заголовок Host с указанием порта 80 точно
так же как заголовок без указания порта. Это исправляет проблему с
выкачиванием коммуниверных сайтов wget.
- При старте cmwactl теперь выполняется проверка прав, с которыми он
работает. В случае недостаточных прав выдается сообщение о двух
возможных причинах данной проблемы.
- Переработан атрибут RESTRICT_TEMPLATES, введена поддержка доверенных
сайтов, по шаблонам с которых можно показывать итема с текущего сайта.
Внесены соответствующие изменения в шаблон add_server_p
- Исправлена ошибка, связанная с разными значениями регистра ключей,
возвращаемыми Image::Size
- Исправлена ошибка в Copysite, возникавшая при копированиии шаблонов по
умолчанию, приписанных к некопируемой рубрике.
- Добавлены атрибуты HITSTOTAL и HITSTFIRSTDATE.
- Исправлена ошибка в работе утилиты cmwlogger.
- Работа индексатора cmwsidx переведена в пакетный режим, что значительно
сократило общее время индексирования. Кроме того для конфигурации
с PostgreSQL индексатор переведен на прямой доступ к базе данных,
минуя http.
- Добавлен fallback, прописывающий datasize при отсутствии такового при
создании нового ITEM
- Исправлено преобразование типографских символов при редактировании
атрибутов типа RICHTEXT
- Улучшена проверка возможности преобразования html-текста в текст
с разметкой без потерь информации.
- Исправлена ошибка при копировании сайта
- Исправлена функция tree_sort. Теперь в сортируемых данных корректно
обрабатываются записи, имеющие более одного предка.
- Исправлена ошибка, приводившая к тому, что не прописывались размеры
картинкам при сохранении материала, даже если они были на сервере,
при редактировании через плагин.
Изменения в версии 0.9221 от 6 сентября 2001 г.
- Убрано ограничение длины поля ввода в DE <:EditField:> для неиерархической
связи в 20 символов по умолчанию.
- Исправлена ошибка, приводившая к отравке подписок в варианте plain text
вне зависимости от формата, выбранного пользователем.
- Добавлена подстановка виртуальной страницы в первый аргумент DE LinkBox
- Исправлены ошибки в putitem.
- Исправлена ошибка в typeedit, приводившая к невозможности удалить тип
айтема при наличии шаблона по умолчанию через web-интерфейс
Изменения в версии 0.922 от 5 сентября 2001 г.
- В функцию DB::create_item добавлен еще один способ определения шаблона
для создаваемого ITEM, если указан шаблон по умолчанию для вышележащей
рубрики и не указан шаблон для создаваемого ITEM.
- Функция Communiware::Datatype::Html::normalize_html исправлена для
корректного преобразования текста, содержащего HTML-entities.
- Утилита sbin/cmwhttpdconfig доработана для кофигурации Communiware
без фронтенда.
- В dump_item добавлена опция -l, дающая возможность дампа нередактируемых
связей. В список итемов, получаемый при наличии опций -e -s sitename
теперь добавляются авторы, имеющие подписку на этом сайте и шаблоны,
которые используются при этой подписке.
- При выполнении Config проверяется, чтобы пользователь WEBUSER
входил в группу CONTOWNERS.
- При старте Communiware cmwactl проверяет - не используются ли уже
порты, необходимые для работы.
- В Config добавлены проверки введенного defaulthost - на разрешимость
имени в IP-авдрес и на несовпадение с 127.0.0.1
- Исправлена функция Communiware::Format::Text::fixurl для случая серверов
с пустым UrlPrefix. Дописаны тесты, проверяющие преобразование html -> text.
- Переделана система подписок. Теперь анонимные подписки рассылают защищенные
итемы (естественно, только тем, кто имеет право их читать)
Любой шаблон типа MAIL с непустым OLD_URL рассматривается как шаблон
списка рассылки. (ему можно поставить статус HOURLY, DAILY и т.д)
и он будет посылаться
- Заведена виртуальная страница subscribe, ссылку на котороую cmwmaild
прописывает в List management information
- MailTo использует те же внутренние механизмы генерации писем, что и cmwmaild
Появилась возможность указать в MailTo что посылаемое письмо нужно
конвертировать в текст перед отправкой.
- В MailTo можно указать логическое выражение, невыполнение которого
приводит к не-отправки письма.
- Изменена система авторизации Ontology Development Kit. Добавлена
связь DEVELOPER, дающая право WRITES и дающая доступ к ODK.
- Исправлена бага в edit_template которая не давала приписать шаблон к типу
SERVER
- Исправлена бага в форматировании RICHTEXT из-за которой при задании
параметра p не удалялись тэги <p> с непустым списком атрибутов.
Также поправлена обработка параметра l и i.,
- Результат перлового фильтра теперь можно сортировать обычным способом
(только по возвращенным фильтром атрибутам)
- Исправлены ошибки в работе с параметрами групповых атрибутов.
Теперь групповые атрибуты работают в соответствии со спецификацией.
- Исправлена ошибка, приводившая к отказу рассылки писем по шаблонам,
использующим древовидную сортировку.
- Исправлены ошибки в утилите tools/writecmwconf
- Динамический элемент Define при определении атрибута типа дата, теперь
автоматически приводит дату к корректному формату, т.е. при задании
значения можно опускать часы, минуты и секунды.
- Исправлена ошибка - отсутствие периода monthly в cmwcronctl
- Добавлен динамический элемент Image
- Поправлена бага из-за которой в текущий контекст постинга не попадали
списки связанных итемов (а были доступны только Input-ам)
- load_doc теперь ставится без sgid.
- Добавлены динамические элементы Surround и Content и template type
CONTAINER
Изменения в версии 0.921 от 13 августа 2001 г.
- Исправлена проблема (размазанная по Posting.pm, Context.pm и шаблону
edit_template) из-за которой не работала привязка типов к шаблону.
- Исправлена проблема в DE::MailTo из-за которой не позволялось
использовать виртуальные шаблоны и подстановку атрибутов в параметре
template
- Исправлена проблема в DE::Input из-за которой не работа параметр
disable=1 или 0
- Добавлен ключевой параметр DE <:Counter:> NONZERO=1. При указании
этого параметра при нулевом значении подставляемого параметра
соответствующая запись не выводится.
- Добавлена возможность задавать пустые (/) url-префиксы при
создании Communiware-серверов.
- В генерируемый Makefile добавлена цель dbupgrade, при выполнении
которой в БД заливается только онтология и дампы, но сама структура
БД не пересоздается.
- При выполнении Config и при использовании фронтендом
статического контента отдельно запрашивается расположение
каталогов htdocs и cgi-bin.
Изменения в версии 0.92 от 7 августа 2001 г.
- make cleandb теперь можно выполнять из top-level директории,
независимо от используемого SQL-сервера.
- Исправлена ошибка в Context.pm приводившая к неверному вычислению
Last-Modified для страницы.
- В стандартную поставку добавлены образцы кастомизированных
сообщений об ошибках
- При выполнении Config задается вопрос о том, нужно ли автоматически
инициализировать таблицу crontab-а при make install.
- При инсталляции под PostgreSQL в случае, когда указанная БД уже
существует задается вопрос: может быть при make database загружать
только онтологию и шаблоны не выполняя пересоздание самой БД.
- Появился новый скрипт для просмотра списка атрибутов
- Добавлено явное указание порта, на котором слушает фронтенд при
конфигурировании.
- Исправлена ошибка конфигурирования mnogosearch - теперь корректно
проверяется наличие ispell.
- Используется "свой" каталог локалей, CMWHOME/locale а не системный.
- Добавлена проверка используемого perl на поддержку suid-скриптов.
Если такие скрипты не поддерживаются - выдается предупреждение,
после чего либо прекращается конфигурирование, либо при инсталляции
не устанавливаются su-биты ни для каких выполнимых файлов.
- В дистрибутив добавлен патч к модулю Locale::gettext содержащий
тест этого модуля. При установке Locale::gettext через root.pl
патч автоматически накладывается, и модуль не устанавливается
при ошибке тестирования.
- Исправлен парсинг ключевых слов - добавлена проверка на уникальность.
- Исправлена ошибка в viitem, приводившая к вызову неправильной копии
load_item при работе с копией коммунивера, не установленной как
используемой по умолчанию.
Изменения в версии 0.9196 от 3 августа 2001
- Изменен алгоритм нормализации некорректных HTML - добавлено
принудительное закрыте опциональных тегов.
- Обработка опции disabled=значение в Input checkbox производится
следующим образом: Если значение - истина, то помимо добавления
опции disabled в html-текст, добавляется onclick="return false"
что обеспечивает запрет чекбокса в Netscape 4.x со включенным
javascript, а в случае если значение равно 0 или пустой строке,
опция disabled удаляется.
- Добавлена опция confirm="сообщение" в Input sumbit
- Стандартные шаблоны приведены в соответствие с новым синтаксисом
Input checkbox
- Исправлена ошибка в парсере, из-за которой в сообщении об ошибке
не показывался правильный номер строки
- Исправлена ошибка в CmdLine.pm из-за которой не работала опция -h
в sgid-скриптах.
- Значение по умолчанию в <:Input checkbox и Input radio
теперь задается не пустой/непустой строкой, а логическим выражением.
Это может привести к несовместимости если последний аргумент
(дополнительные параметры тэга) задается через Define-нный атрибут.
Для того, чтобы дополнительный параметр был распознан правильно,
в тексте шаблона он должен иметь вид имя=значение
- Поведение Input radio приближено ко всем остальным разновидностям
Input, как в смысле обработки наличия значения в контексте, так и в
смысле дополнительных атрибуотв тэга.
- Добавлены некоторые синтаксические проверки (баланс скобок и др)
в арифметических и логических выражениях. Благодаря этому фильтры,
используемые в условии значение IN Filter теперь помещаются в список
используемых фильтров
Изменения в версии 0.9195 от 26 июля 2001
- Добавлен перловый фильтр ::Calendar
- Изменения в модуле Communiware::Date. Теперь корректно
считаются дни недели для любой даты нашей эры, а не только в интервале
1901-2038
Для инсталляции теперь требуется модуль Date::Calc
- В дистрибутив включены книги "Язык шаблонов Communiware",
"Руководство по разработке фильтров", "Командно-строчные утилиты"
"Онтологическая модель Communiware"
- Добавлена поддержка Oracle 9i
- Добавлен статус пользователя LOCKED и его системная поддержка.
Пользователь с таким статусом не может зарегистрироваться.
- "Вырожденный" фильтр (a,b,c) умеет теперь возвращать заданные
значения не только как ITEM_ID, но и как произвольный именованный
атрибут (a,b,c):ATTR
- Можно проверять значение на вхождение в фильтр не только как ITEM_ID,
но и как любой атрибут, напр TOPIC:TYPE_ID in PassiveLinked(TOPIC)
проверит наличие итема типа TOPIC среди подрубик (от значения,
проверяемого таким образом требуется чтобы оно удовлетворяло шаблону \w+)
- Атрибут HOSTNAME у итема server теперь имеет непустое значение,
даже если соответствующее поле в таблице SERVER пусто. В этом случае
возвращается значение DEFAULTHOST из Communiware.config
- Функция TXT теперь позволяет расшифровать константное значение как
значение указанного атрибута. Синтаксис
TXT(константа:атрибут). Т.е. TXT(ARTICLE:TYPE_ID) будет выдавать
название типа ARTICLE на текущем языке, независимо от значения
атрибута TYPE_ID в текущем контексте.
- Атрибут CURRENT_TEMPLATE сделан глобальным, т.е. доступным во всех
контекстах. Его значением по-прежнему является id шаблона, указанного
в URL (или шаблона по умолчанию для итема, указанного в URL, если
никакой итем не указан).
Изменения в версии 0.9193 от 17 июля 2001 г
- Исправлена ошибка в sql-файлах для PostgreSQL которая приводила
к неправильному отказу от создания базы на Solaris
- Исправлена ошибка в DE Source, которая не позволяла использовать
его в контектсте списка или постинга.
- Исправлена ошибка из-за которой при dump_meta -s не учитывались
нестандартные типы виртуальных страниц, исплользуемые на сервере
- Полностью переделаны скрипты просмотра информации о типах item
и типах связей
- Добавлена для совместимости функция interval. Пользователям Oracle
надо перезагрузить файл sql/Oracle/compat.sql для корректной работы
cmwmaild
- Исправлен dump_meta - теперь он дампит используемые типы виртуальных
страниц при дампе сервера.
- Постпроцессинг keywords внесен в Communiware::DB c сохранением
существующей функциональности. Постпроцессор Keywords объявлен
устаревшим и используется только для совместимости с прошлыми
шаблонами.
- Для совместимости с текущим боевым сервером размер поля TITLE увеличен
до 300 символов.
Изменения в версии 0.9192 от 12 июля 2001 г от 12 июля 2001 г.
- Authentify теперь безусловно пускает суперюзера
- При копировании сайта проверяются права на запсиь в корень сервера.
- Исправлена ошибка с конечными пробелами в идентификаторе айтема при
load_item - теперь он обрезается.
- К устанавливаемым утилитам добавилась утилита del_by_query
- Изменен алгоритм загрузки документации
- К загружаемой документации добавлены файлы Changes и Deprecated
- Поправлена обработка двунаправленных связей в dump_item
- Исправлена бага в динамическом элементе List/Loop, приводившая к
невозможности задать сортировку братьев по убыванию при древовидной
сортировке.
- В древовидную сортировку добавлена генерация дополнительных атрибутов
NEXT_SIBLING, PREV_SIBLING и UNCLES. См документацию на модуль
TreeSort.
- Время устаревания куки, выставляемой через динамический элемент Header
теперь можно задавать посредством тех же сокращений, что и время
устраревания страницы (Header Expires)
- Скрипт load_doc добавлен инсталлируемым файлам. Исправлена ошибка,
из-за которой при наличии двух копий Communiware на одной машине и
невыставлению правильного $CMWHOME документация могла залиться не в ту
копию Communiware.
Изменения в версии 0.9191 от 5 июля 2001 г.
- EditField для атрибутов с ATTR_STATE=COOKIE теперь умеет работать
и в обычных формах, не только в постингах.
- В дистрибутив включен shell-скрипт dump_server, который выполняет дамп
в форме, максимально удобной для заливки в новую базу.
- Добавлен ключ dump_item -e в сочетании c -s дампит все шаблоны и
авторов, имеющих отношение к сайту, при наличии в списке типов для
дампа авторов и шаблонов соответственно
- Добавлен ключ dump_item -S, который дампит все итема заданного сайта,
не явлющиеся сайтом, автором и шаблоном.
- Сделано более мелкое разделение таблиц по типам хранения при создании
базы данных.
- Унифицирована проверка при сохранении и при визуализации DE Script
Изменения в версии 0.919 от 3 июля 2001 г.
- Изменена работа с плагином для wysiwyg-редактирования - добавлен
удобный способ изменения настроек использования.
- Усовершенствован профайлинг - добавлен профайлинг дофетчивания запросов
(требуется из-за проблем с Oracle 8.1.5)
- Добавлена возможнсть подстановки параметров в параметрах
контекст-функций в т.ч. групповых атрибутов, подставляемых через
@{...} (i.e. @{CHILDREN(@LINKTYPE,@TYPE)})
- Атрибут TEXT в нормальных контекстах теперь равноправен с прочими
атрибутами RICHTEXT. Его по-прежнему нельзя вытаскивать фильтром,
и использовать в качестве критерия сортировки,
но можно использовать во всех прочих местах, где допустима подстановка
атрибута.
- Исправлен ряд ошибок в DE Text. Его работа теперь соответствует
документации.
- Исправлена ошибка, приводившая к потере данных, отличных от href, в
теге A.
- Для DE EditField добавлены параметры wysiwyg=no, отключающий вывод
wysiwyg-редактора в форме, и help=no, отменяющий вывод ссылки на
документацию по использованию.
- Исправлена ошибка с установкой "заглушек" для утилит для нескольких
копий Communiware на одной машине.
- Добавлена онтология контекстного хелпа.
- Исправлена ошибка в онтологии, из-за которой тип PART не мог
участвовать в связи HREF
- Исправлена ошибка в DE EditField, приводившая к тому, что при указании
representation=auto в шаблоне происходила потеря текста.
- Изменено поведение Check fail. Теперь проверяются все условия,
даже если первое же отвалилось.
В атрибут ERROR помещаются все сообщения об ошибках, разделенные
переводом строки.
- Введена возможность установки пользовательского атрибута при
Check fail
- В Communiware не осталось файлов на perl без use strict, кроме
deprecated mkserver и тестов.
- Из data.sql и кода инсталлятора удалены (hopefully) все ссылки на
шаблоны, не входящие более в дистрибутив
- Прочищен набор стандартных шаблонов, удалены дубликаты
- PassParams в контексте постинга должен теперь работать и будучи
размещен вне контейнера Item
- Исправлена валидация DE Item
Изменения в версии 0.915 от 22 июня 2001 г.
- Скрипты создания базы приведены в соответствие с изменениями
в стандартной онтологии и стандартном наборе шаблонов
- Добавлена возможность logout. Для ее использования поставьте
ссылку на текущий итем по шаблону logout_t. При этом гарантируется
что при следующем обращении данного пользователя к защищенной
странице, Communiware не поверит его Basic auth credentials.
- Расширена функциональность постпроцессора Publish - вместо одного
значения статуса, при выставлении которого меняется PUBLISHED, теперь
можно передавать список через запятую.
- Добавлена возможность указать автора изготавливаемой онтологии
dump_meta -A
- Исправлена ошибка в cmwmaild приводившая к тому, что пользователям
желающим получить text/plain отсылался HTML
- Исправлены ошибки, приводившие к неработе restricted-режима в
интерфейсе модератора
- При загрузке в базу шаблона рассылки теперь проверяется существование
фильтра подписки (который в поле PARAMS) и он помещается в список
используемых фильтров.
- В параметрах фильтра подписки разрешена подстановка атрибутов.
- Исправлен механизм преобразования текста с выделениями в HTML,
устранена ошибка, приводившая к возможному попаданию в базу
некорректного HTML.
- В дистрибутив добавлена связь TRUSTEDUSERS и соответствующая ей
метасвязь POST
- Исправлено несоответствие версии table_edit и Communiware::Date
- В Communiware::Date добавлена функция визуализации формата в
удобочитаемом виде
- В дистрибутив включен модуль Communiware::Config и config.dtd
- Включены утилиты clearpictures и dump_text
- Включена поддержка Workflow (см scripts/workflow и ontology.dtd)
- Добавлен пропущенный скрипт create_extattr
- Интегрирована установка поиска
- Добавлены патчи, исправляющие ошибку нормализации в MnogoSearch
- Добавлен динамический элемент Cond - ветвление.
Изменения в версии Communiware-0.9141 от 15 июня 2001 года
- Исправлена ошибка в load_meta, приводившая к тому, что для псевдоатрибутов
типа COOKIE не прописывались правильные значения по умолчанию
- Псевдоатрибуты типа COOKIE не могут иметь неопределенного значения по
умолчанию
- При удалении подписчика или айтема, на который кто-то подписан, не
возникает ошибка удаления, а удаляются соответствующие подписки.
- Добавлен пропущенный в предыдущих версиях дистрибутива скрипт typeedit
Изменения в версии Communiware-0.914 от 14 июня 2001 года
- Добавлены функции контекста RIGHTS, ACTIVE, PASSIVE, LEN
- Добавлено определение версии операционной системы при браузере MSIE
атрибут OS_VERSION
- Исправлены ошибки, приводившие к отдаче двойного HTTP-заголовка.
- Добавлен интерфейс для работы с сообщениями об ошибках HTTP-протокола
(посмотрите на корень сайта по шаблону error_edit)
- В контекст в случае ошибки HTTP-протокола добавлено правильное
значение атрибута CURRENT_SERVER, а также атрибуты ERROR_ITEM_ID и
ERROR_TEMPLATE
- Исправлены ошибки в парсинге RTF приводившие к появлению строчек ;;;;
- Check warn отрабатывает в случае редиректа добавляя WARNING в контекст
той страницы, куда отредиректились
- В спецификации возврата в Single Posting работает подстановка времени
submit-а
- Появился атрибут постигна RETURN_ON_DELETE, позволяющий задать
редирект в случае удаления итема, если в случае сохранения
вновь показывается редактируемый итем
- Исправлены мелкие баги в обработке submit-time подстановок из-за
которых временами не работала подстановка списков связи, содержащих
пустой элемент
- Добавлена логическая операция :=: - сравнение списков как множеств.
- Исправлена ошибка в dump_meta, приводившая к несохранению признака
авторизации связи при заливке онтологий.
- Исправлена ошибка в cmwmaild, приводившая к формированию неправильного
URL для ссылок в тексте письма. Усовершенствована диагностика ошибок,
добавилась проверка отсутствия фильтра.
- Добавлен статус HIDDEN для типа SERVER. Сайт с таким статусом вообще
не показывается во внешний мир.
Изменения в версии Communiware-0.9132 от 22 мая 2001 года
- Исправлены ошибки в скрипте load_doc приводившие к не-работе make_doc,
а также созданию многочисленных пустых итемов в рубрике reference_r
- Исправлены ошибки в скриптах createserver и load_meta, приводившие
к их не-работе в случаях, когда имя пользователя Unix и имя
пользователя Communiware не совпадают.
- Исправлен скрипт login - заблокированы случайные изменения чужих данных.
- Добавлена командно-строчная утилита dump_subs
Изменения в версии Communiware-0.9131 от 18 мая 2001 года
- Добавлены магические атрибуты REMOTE_ADDR и FORWARDED_FOR
- Реструктурирован каталог update_base
- Исправлены ошибки в постпроцессоре Keywords
- Исправлено неадекватное сообщение об ошибках при постинге с использованием
постпроцессоров.
- Исправлен вывод номеров строк при загрузке дампов.
Изменения в версии Communiware-0.913 от 15 мая 2001 года.
- Исправлена ошибка с обработкой растровых картинок при импорте файлов
формата RTF
- Исправлены ошибки в парсере шаблонов:
- болезненная реакция на отсутствие перевода сроки в конце
- добавлено сохранение комментариев внутри тэга script
- Добавлена проверка на незакрытые комментарии HTML в шаблонах
- Исправлены ошибки в постинге, приводившие к нулевому значению Datasize
и не-показу текста
- Реструктурирована документация
- Расширен набор магических атрибутов, добавлены
BROWSER_NAME - имя браузера (более-менее пригодное для принятия
решений о включении тех или иных фич)
BROWSER_VERSION - версия браузера
RANDOM - случайное число от 0 до 1
(Под Solaris надежная работа RANDOM гарантируется только в Perl >= 5.6.0)
- Появилось понятие магических атрибутов с параметрами
Наряду с ранее существовашим TXT(attribute) появились
NAME(attribute/link) интернационализированное название атрибута
TYPE(attribute) - тип атрибута
ENV(variable) - значение переменной окружения (в соотв с протоколом CGI)
RANDOM(число) - целое случайное число, меньше указанного.
- В случае если в форме постинга не указан явно язык создаваемого итема,
он наследуется от того итема, в контексте которого выводилась форма
- Изменен инсталлятор и набор конфигурационных файлов Apache
см. README.upgrade
- Добавлены статусы для итемов типа SERVER. Для поддержки необходимо залить
файл update_base/server.xml
ВНИМАНИЕ: возможная несовместимость: Теперь, если на некотором
hostname есть более одного сайта, то обращение по URL
http://hostname/ приводит к показу корня какого-либо из них только
если у него стоит статус OWNS_ROOT (это позволяет решать, какой из
серверов является умолчательным человеку). Если ни у одного из сайтов
такого статуса нет, то будет показана статическая корневая страница.
Наличие двух сайтов с OWNS_ROOT и одинаковым hostname считается
ошибкой. При такой конфигурации cmwactl откажется перегенерировать
конфиги.
- Добавлена поддержка языка в шаблонах поиска
- Существенно улучшен WYSIWYG-редактор: поддержка цветов для шрифта и таблиц.
- Изменились требования к системе: требуется PostgreSQL версии 7.1.1 и выше
- В логических выражениях (If, Check, Use, Item) появилась возможность
использовать операции AND (&&) и OR (||). см Communiware::Expr.
Внимание - в динамическом элементе IF имя атрибута указывается
только в качестве первого аргумента (т,е. элемента первого условия)
Аргументы всех остальных условий передаются по значению.
- Добавлен веб-интерфейс для создания и редактирования типов виртуальных
страниц (virtedit)
- В конфигурацию фронтэндового апача добавлен нестандартный модуль
mod_proxy_forwarded_for, добавляющий IP адрес клиента к
http-заголовкам, передаваемым бэкэнду.
Изменения в версии Communiware-0.912 от 17 апреля 2001 года.
- Изменена структура таблиц ITEM и ITEM_TYPE. Добавлена поддержка
итемов, содержащих таблицы. Для изменения структуры необходимо
выполнить скрипт update_base/update_tables.sql.
- Переработана система интернационализации. Если раньше язык системных
сообщений определялся только кукой LANG, то теперь для нормальных
страниц его определяет атрибут итема LANG (играет роль только у итема,
указанного в URL) а для скриптов используется значение куки
SCRIPT_LANG, задаваемой, как и ранее в настройказ пользователя.
- Появился скрипт для редактирования итемов типа "Таблица"
- Улучшена возможность работы с графиками
- Появился чат.
- Множественные исправления динамических элементов
- Инсталлятор с конфигурированием апача и cronjobs
- Обеспечен запуск не более одной копии кронового задания одновременно.
- Изменена структура дистрибутива, атрибуты и фильтры перенесены в
отдельный xml-файл, что позволяет легко обновлять эти объекты при
апгрейде версии.
- Улучшена поддержка PostgreSQL
- Добавлен постпроцессор для разбиения файлов заданной структуры на
айтемы заданного типа с привязкой заданнйо связью
- Улучшена работа с правами в интерфейсе модератора.
- Добавлена корректная возможность создания шаблонов из интерфейса модератора.
Теперь при выборе "Создать новый->Шаблон" производится редирект на
редактор шаблонов.
- Улучшен алгоритм парсинга шаблонов. Теперь динамические элементы
внутри HTML-комментариев не обрабатываются, а сами комментарии из
отдаваемого пользователю HTML-текста удаляются (отключить последнее
можно с помощью отладочной куки COMMENTS, аналогичной PROFILE).
- Производится сжатие лишних пустых строк при отдаче HTML пользователю.
- Добавлено описание API для pluggable-datatypes и pluggable-formats
- Усовершенствована работа с UdmSearch/MnogoSearch
- Произошел отказ от weblint в качестве средства проверки HTML
- Переработана система авторизации для командно-строчных утилит
- Интегрирован Ontology Development Kit
- Исправлены множественные ошибки
Изменения в версии Communiware-0.911
- Шаблоны типа PAGE привязаны к типам итемов. Для выполнения процедуры необходимо выполнить скрипт update_base/type_templates.sql
- Уничтожен атрибут REPLY_STYLE и ссылки на него из скриптов.
- Добавлен магический атрибут ACCEPT_TYPE, возвращающий набор MIME-types, поддерживаемых браузером.
- Исправлены ошибки с переписыванием фильтров и сортировкой
- Улучшен интерфейс скриптов работы с фильтрами
- Улучшена навигация в онтологии "Книга" загрузите
update_base/siblings.xml и перезагрузите seed_base/book.dmp
- Значение атрибута WYSIWYG теперь по умолчанию 0. Поменяйте его в базе
или перезагрузите update_base/wysiwyg.xml
Изменения в версии Communiware-0.91 от 19 февраля 2001 года
- Добавлен front-end cache
- Исправлены ошибки в обработке Subscribe и MailTo в постинге
- Доведена до промышленного состояния работа с WYSIWYG редактором HTML
- Расширена функциональность командно-строчных утилит dump_item и
load_item
- Включено новое руководство по установке
- Исправлены ошибки при постинге ORDNUM
- Добавлены ссылки на следующую и предыдущую главы в шаблоне главы книги
и фильтры PrevSibling и NextSibling
- Добавлены статусы для типа REPLIC
- Добавлено руководство разработчика Communiware
- Удален из дистрибутива каталог doc
Изменения в версии Communiware-0.905 oт 17 января 2001 года
- Добавлен WYSIWYG редактор HTML
Он включается только при выборе пользователем соответственной
настройки, для чего добавлен COOKIE атрибут WYSIWYG.
Для создания его в существующей базе загрузите файл
update_base/wysiwyg.xml с помощью load_meta
- Добавлено каскадное удаление и перемещение потомков при удалении
предка. См документацию на Communiware::Posting
- Исправлен ряд мелких ошибок с форматированием RICHTEXT
Изменения в версии Communiware-0.904 от 11 января 2001 года
- исправлен ряд проблем при конвертации текста в HTML и обратно
- Добавлено поле SEX в таблицу AUTHOR
- Разделено понятие DATASIZE (для резки HTML) и TEXTSIZE (без тэгов)
- Тип атрибутов, созданных Define или non-SQL фильтрами теперь
известен системе и в момент сохранения шаблона.
- Отлажен PostgreSQL порт.
Изменения в версии Communiware-0.903 от 26 декабря 2000 года
- Исправлен ряд мелких проблем при конвертации текста в html и обратно
- Устранен name clash между условием постинга и пользователськой
переменной COND
- Добавлена возможность стилевого оформления DE Login
- Исправлен ряд проблем в load_meta.
- Изменен шаблон index_t. Теперь расширенные атрибуты item типа RICHTEXT
индексируются. Это привело к появлению в стандарте нового фильтра
ExtendedAttrs. Загрузите при помощи load_meta файл update_base/ea.xml
Изменения в версии Communuware-0.902 от 21 декабря 2000 года
- Исправлена работа с атрибутами содержащими HTML-форматирование
в скриптах
- Добавлена подстановка @-ATTR с конвертированием HTML-форматирования
в формат "текст с выделениями" для использования в Use.
- Исправлена бага с наследованием заголовка реплик.
- Исправлены ошибки с MailTo и куками в формах постинга.
Изменения в версии Communiware-0.901 от 17 декабря 2000 года
- Отлажена технология миграции с версии 0.8xx
см. README.upgrade
- Исправлена ошибка в интерфейсе модератора, которая могла приводить
к потере текста при редактировании без вызова текста в форму
- Изменена логика использования стандартных шапок/подвалов в скрипах.
Теперь при наличии определенных script_top и script_bottom, скрипты
полагаются на то, что эти шаблоны содержат корректный заголовок HTML,
и не пытаются вывести свой.
Изменения в версии Communiware-0.9 от 14 декабря 2000 года
- Создана новая инфраструктура работы с текстами ITEM (Content-Type=Html)
Теперь при редактировании эти тексты можно видеть не только в виде
HTML-кода, но и в виде enrichedtext (независимо от того, как они были
созданы исходно)
- Переделан препроцессор enrichedtext. Теперь в этом формате можно
помимо параграфов, жестких разрывов строки и ссылок на внешние ресурсы
и item-ы Communiware,
задавать списки (нумерованные и ненумерованные) и картинки, вводить
неразрывные пробелы.
- Все стандартные атрибуты содержащие пользовательский текст (такие как
TITLE, теперь имеют тип RICHTEXT, т.е. могут содержать вышеуказанную
разметку. Для конвертации базы следует запустить скрипт convert_attr
в директории update_base.
ВНИМАНИЕ! Динамический элемент Input не работает с RICHTEXT.
Используйте EditField.
- Добавлено понятие версии структуры базы данных, которая наряду с
версией библиотек, существующей начиная с 0.8, призвана облегчить
последующие апгрейды.
Для апгрейда базы следует запустить скрипт add_version.sql
- В корне измена система форматирования текстов при выводе. Теперь есть
возможность изберательно подавлять некоторые тэги. такие как абзацы
или ссылки, в зависимости от того, в каком контексте показывается
текст в шаблоне. Для перехода требуется изменить синтаксис
динамического элемента <:Text:> везде, где он употребляется с
параметрами. Автоматизирует эту задачу скрипт text_cleaner.
- Переработано взаимодействие с электронной почтой. Теперь из форм в
шаблонах (как форм постинга, так и простых форм, не меняющих базу
данных) появилась возможность посылать ITEM, обработанные по
специальным шаблонам по почте. (динамический эл-т MailTo)
- Улучшена поддержка стандарта MIME в посылаемой почте.
- Появилась возможность выставлять куки не только из форм настройки, но
и из форм постинга. (Input submit)
- Появился динамический элемент Login, который позволяет реализовывать
форму регистрации на шаблонах, не используя стандартного скрипта
login, некоторое неотключаемое поведение которого (например,
предложение зарегистрировать нового пользователя) не всегда
желательно.
- Появилась возможность в форме постинга отследить ситуацию, когда за
время редактирования item данным пользоваелем, данный item был изменен
кем-то другим. См. описание работы с LASTCHANGE в
Communiware::Posting.
- Переработан модуль работы с опросами. Теперь наряду с анонимными
с разным уровнем защиты от накрутки есть возможность организовывать
тайные и открытые голосования для зарегистрированных пользователей.
- Расширены возможности арифметических выражений в динамических
элементах Use, Subst и Define.
- Дальнейшее совершенствование эргономики интерфейса модератора.
- Усовершенствован режим отладочного просмотра страниц. Сообщение
'Не могу создать атрибут такой-то' не выдается в тех ситуациях, где
ожидается что атрибут может отсутствовать (таких как <:If ATTRIBUTE:>)
- При вычислении даты последней модификации страницы теперь учитывается
и дата модификации шаблона.
- Постпроцессор Thumbnail теперь умеет игнорировать оставленные пустыми
поля аплоада картинок
- Исправленна ситуация когда при удалении текста из ITEM обновлялся
TEXTSIZE, но не удалялся сам текст.
Изменения в версии Communiware-0.805 от 1 декабря 2000 года
- Внесены изменения в дефолтные шаблоны и фильтры.
Перезагрузите seed_base/templates и загрузите при помощи load_meta
файл update_base/standard.xml
- Исправлены мелкие баги в load_meta
- Исправлен порядок вычислений Use в сложных случаях мультипостинга
- Поправлена работа с атрибутами времени сабмита %PICWIDTHn,
%PICHEIGHTn, %PICNAMEn
- Исправлена проблема с удвоением атрибутов в интерфейсе модератора
при редактировании item с текстом нулевой длины
- Добавлены постпроцессоры Thumbnail и Publish.
- Расширены возможности статистических атрибутов. См
http://your_site/default/templ_doc
- Включена в дистрибутив система учета посещаемости
- Исправлена обработка запросов HEAD
- Исключена автогенерация item_id совпадающих с существующими
- Исключен преждевременный commit при использовании постпроцессора
Keywords в мультипостинге
- Исправлена работа с charset в cmwmaild
- Скрипт mkserver теперь находит правильный apachectl
Изменения в версии Communiware-0.804 от 24 ноября 2000 года
- Добавилась возможность загрузить встроенную документацию на
сайт default. Для заливки документацию в существующую базу,
перезалить seed_base/templates и после этого выполнить команду make
doc
- Добавилось документации в разделе "Руководство дизайнера"
- Указание item дважды при создании связи больше не считается ошибкой
- Починена action(SKIP) в posting.pm
Изменения в версии Communiware-0.8031 (от 20 ноября 2000 г)
по сравнению с версией 0.803 (от 17 ноября 2000 г)
- Исправлены маленькие ошибки в работе с постпроцессорами
- Исправлены ошибки в seed_base приводившие к проблемам при установке
- В интерфейсе модератора появилась возможность работы с паролями
пользователей.
- Добавлена возможность создать запрещенный пароль.
Изменения в версии Communiware-0.803 (от 17 ноября 2000 г)
по сравнению с версией 0.802 (от 3 ноября 2000 г)
- Поддерживается работа с нерусским Apache.
- Поддерживается работа с кодировками базы отличными от KOI8-R.
Изменен формат хранения локализованных сообщений (требуется запуск
скрипта update_base/locale.sql для апгрейда существующей базы)
- Интерфейс модератора в режиме RESTRICTED EDIT понимает метасвязи
- Исправлен баг с некорректным назначением LC_NUMERIC, вызывавший ошибки
в арифметике вещественных чисел (в Subst и Use)
- Множественные Use с одинаковым именем трактуются так же, как
множественные Input с одинаковым именем.
- Назначение default значений расширенным атрибутам на уровне базы
отрабатывается корректно
- При подстановке времени Submit PICNAME возвращает корректное
расширение
- Исправлена бага при аплоаде Html через формы постинга
- Изменен интерфейс постпроцессоров. Появилась возможность передавать
постпроцессорам параметры в шаблоне.
- Включена система регрессионных тестов, ранее использовавшаяся только
разработчиками.
- Интерфейс модератора умеет запоминать настройки "Текст в форме" и
"После сохранения перейти"
- В динамическом элементе Post починена возможность добавлять
дополнительные атрибуты тега form (такие как name, target)
- Исправлен ряд ошибок в dump_meta,load_meta
- load_item больше не создает пустых каталогов для item не имеющих
картинок
- Поправлены некоторые ошибки с некорректными перекодировками нулей
- Добавлен анализатор логов cmwlogger
- Некоторые исправления в русских переводах
- Фильтр ::Pic теперь кроме WIDTH и HEIGHT возвращает FILESIZE
- В данном файле документированы все изменения в этой и предыдущей
версиях
Изменения в версии Communiware-0.802 (от 3 ноября 2000 г)
по сравнению с версией 0.801 (от 20 октября 2000 г)
- Скрипт backup_communiware работоспособен.
- Переработаны скрипты визуализации сущностей неявляющихся item (типов,
связей и др). Теперь типы, не используемые на данном сайте
показываются отдельно и имеют кнопку "использовать"
- Скрипты визуализации содержат ссылки на скрипты Ontology Development
Kit, если последние установлены
- Выправлены русские переводы системных сообщений
- Исправлены ошибки в Input checkbox и Input scrollinglist
- LASTCHANGE обновляется в случае если при постинге другого item
были провязаны связи _FOR и расширенные атрибуты. Т.е. во всех случаях
когда будет отличаться результат dump_item
- Новый тип условия If ACCESS, проверяющий доступ тем же способом, что
и ядро Communiware, при показе item как отдельный ой страницы.
- Более эргономичный интерфейс модератора
- Вычисление динамических элементов Use теперь производится
в "естественном" порядке, независимо от того, в каком порядке
информация прислана браузером.
- В дистрибутив включен global.weblintrc.sample
- Поправлены некоторые баги в аутентикации. Теперь ситуация когда
пользователь заходит на один hostname, а авторизуется на другом
возникать не должна
- dump_meta корректно сохраняет размеры числовых полей
- Связи publisher сохраняются при dump_item/load_item что позволяет
использовать эти утилиты для бэкапа и репликации
- Поправлены некоторые ошибки в load_meta, из-за которых во вновь
создаваемых записях в Linktype часть полей инициализировалась в NULL.
- Расширен набор параметров динамического элемента Text
- Исправлена глупая ошибка, когда юзеру не позволяли редактировать
себя самого, если форма содержит список групп пользователей.
- Исправлена бага, не позволяющая удалять все нисходящие связи.
- Удалена устаревшая процедура Communiware::Context::itemlink.
Изменения в версии Communiware-0.801 (от 20 октября 2000 г)
по сравнению версии 0.8 (от 12 октября 2000 г)
- Улучшена эргономика интерфейса модератора
- Добавлена поддержка опросов с множественным выбором и запоминания
факта ответа данным пользователем.
- Добавлена поддержка голосований
только для зарегистрированных пользователей (untested)
- Переработана обработка результатов постинга динамическим элементом
Post. Теперь корректно обрабатываются формы во вложенных (Include и
List) шаблонах, сохраняются введенные данные при ошибке, улучшена
поддержка перенаправления по успешному завершению.
- Динамический элемент Define ... ifabsent устанавливает тип атрибута
даже если значение было предоставлено не им.
- Динамический элемент PassParams в контексте постинга обеспечивает
передачу через submit
- Улучшено поведение скрипта login при вызове вне контекста сайта.
- Исправлена обработка условий в <:Item:>
- viitem теперь умеет находить виртуальные страницы
- Изменена работа скрипта su. Теперь суперюзер может ходить под чужим
именем на защищенные страницы, т.е. полноценный su.
- Внесен ряд поправок в обработку параметра SERVER, связанных с тем
что авторы приписаны теперь к сайту.
- статистические атрибуты умеют полноценно работать с метасвязями
- Фильтры с параметрами и <:Include:> не оставляют мусора в контексте
- Поправлен upload rtf-файлов через <:Post:>
- Переработана схема аутентикации. Теперь наличие прав на модерирование,
автоматически означает права на чтение.
См также <:If ACCESS:>
- Приведен в соответствие файл русскоязычных сообщений.