Это старая редакция страницы Разработки / Движок за 08/02/2007 13:46.
Движок сайта: разработка и доработка
Сообщения обо всех обнаруженных ошибках в работе сайта, багах и недоработках, а также пожелания и предложения по развитию программной платформы сайта следует публиковать здесь.
Основой платформы сайта служит движок openSpace, представляющий собой сильно модифицированную wiki-систему WackoWiki. Выбор пал на нее из-за простоты устройства, модульности, позволяющей легко изменять систему и подгонять под специфические нужды, наконец, субъективная характеристика — код написан на PHP, и для хранения данных используется БД, а не файловая система.
Поскольку сайт не является wiki в обычном смысле, движок подлежит ряду доработок. В частности, от поддержки ВикиИмен оказалось больше вреда, чем блага, поскольку большинство страниц раскиданы по кластерам, а не размещены в корне сайта, и экранировать все встречающиеся слова со смешанным регистром не слишком удобно. Есть и другие изменения, внесенные в оригинальный движок: основные из них перечислены ниже.
Создать
-
Форма ввода новостей -
Страница вывода новостей -
RSS-канал новостей -
Новая система опросов/голосований (компонент администрирования, компонент ввода опросов, компонент вывода архивных опросов) -
Отображение опросов в канале новостей -
Аскетичное оформление -
Опция: сравнение редакций документа по исходному тексту страниц (без исполнения WackoFormatter) -
Email-уведомление пользователя при передаче ему прав владения документом -
Функция массовой чистки комментариев страницы -
Функция удаления всех страниц кластера -
Возможность быстрого возврата на прокомментированную страницу после удаления комментария -
Контроль стойкости пароля при регистрации и изменении пароля -
Контроль длины текста сохраняемых страниц (предотвращение потери части очень длинного текста) -
Функция массового удаления прикрепленных к странице файлов -
Специальный синтаксис для размещения картинок-ссылок -
Система рейтинговых оценок страниц -
Компонент вывода списка страниц с самым высоким / самым низким рейтингом -
Реализация "Песочницы" для практикования в использовании wiki-разметки -
Расширение пользовательских параметров и полей профиля -
Введение опциональной поддержки BBCode для форматирования текста -
Восстановление новостной рассылки и ее автоматизация -
Конвертор базы данных из phpBB в Wacko -
В метаданных страницы сделать отдельное поле "Название" -
Перенос форума на платформу wiki, унификация сайта -
RSS-канал форума -
Листание страниц комментариев, предпросмотр комментария перед сохранением, правка и удаление, распечатка комментариев вместе со страницей -
Вывод комментариев и изменений, сделанных с последнего посещения пользователя (плюс выделение разделов форума/тем с новыми комментариями) -
Доработка каталога сайта и других каталогов страниц: переход к произвольной странице, алфавитный указатель -
Внутренняя система резервного копирования (стандартные средства не подходят вследствие объемов базы данных) -
Полностью переписать компонент tree (оптимизация по скорости и работе с новой структурой базы данных) -
Полностью переписать подсистему аутентификации и обработки сессий, дабы сделать невозможным перехват и повторное использование истекших куков -
Учет и отображение пользовательской статистики в заголовках комментариев -
Возможность для гостей подписывать комментарии и правки страниц -
Компоненты вывода списка разделов форума, тем в разделе, модерации сообщений и тем -
Единый административный журнал событий (системный лог) - Установка на сайт SSL-защиты
- Доработка страницы пользователей[создать]: просмотр профилей, списки страниц и пр.
- Компонент внутренней приватной связи между пользователями wiki
- Интеграция GnuPG в движок сайта
- Элементы страницы для работы с серверами ключей
- Компонент динамического управления рабочими группами
- Компонент администрирования пользовательских профилей
- Изменить структуру списков ACL, добавить правило 'create', определяющее права на создание подстраниц (и, возможно, 'upload' для загрузки файлов)
- Поддержка html-кода на постраничной (индивидуальной) основе
- Расширение возможностей модерации комментариев за пределы форума на регулярные страницы сайта (также возможность выноса комментариев из форума в иные кластеры)
- Ваши предложения и идеи
Исправить
-
При создании страницы наследование прав доступа должно происходить от родительского документа кластера, вместо использования дефолтных -
В некоторых случаях не создаётся список прав доступа при создании новой страницы в кластере -
XML-код каналов не отвечает спецификациям RSS -
Отсутствует pubDate для элементов канала новостей -
Не отображается список последних комментариев -
Контекстный поиск производится по полному пути к текущему документу вместо только имени документа -
Параметр datetime во внутренних ссылках не имеет смысла. Можно удалить (одновременно исправит проблему с якорями на страницах с datetime в url) -
Действия {{orphaned}} и {{wanted}} не работают для любых вложенных страниц кластера -
Функция импорта XML не отслеживает ссылки внутри импортируемых документов -
Переименование (перенос) страницы не обрабатывает контекстные (относительные) ссылки -
Есть ли смысл в ВикиИменах, если они практически не используются с учетом структуры сайта? Отключить -
Некорректное сохранение файлов на определенных страницах (определенные литеры в именах, нюанс хостинга) -
RSS новостей генерирует не верные ссылки (например для новости "Новое название и обновление платформы проекта" дан URL, по которому новость не доступна). Ну и хотелось бы, чтобы по RSS новостей была доступна не только ссылка на новость, но и текст новости. -
При открытии http://www.pgpru.com/ происходит явная переадресация на страницу /Главная -
Переименование (перенос) страницы не затрагивает прикрепленные к ней файлы -
При удалении страницы прикрепленные файлы остаются в файловой системе и БД -
Повторное несоответствие RSS-каналов спецификациям RSS (non-ASCII в строках URL) -
Новости в RSS – заголовки новостей, создаваемые из wiki-имени, не имеют пробелов -
Поисковая система неуклюже работает с комментариями страниц: каждый комментарий может быть открыт как страница, в результатах поиска непонятно, какая страница была прокоментирована, и т.д. -
Ошибка в хэндлере rate: не учитывается нулевой балл при оценке страницы -
Панель управления доступом к документу: список пользователей для передачи прав владения нерационален (в дальнейшем от регистрации новых участников может стать чрезвычано длинным). Следует заменить на поисковую форму. -
Некорректная работа подсистемы закладок: закладки устанавливаются, но не удаляются (не действует виртуальная отрисовка ссылок) -
При простом листании (перезагрузке) страниц обновляется код CAPTCHA в комментариях (особенно в форуме) и впустую расходуются попытки. Альтернатива: обновлять можно сколько угодно, а попытки тратить только при вводе и валидации кода, но само число попыток снизить до 5-10. -
Слишком большой поток уведомлений о новых комментариях. Следует сообщать только один раз, а затем молчать, пока пользователь не просмотрит страницу. -
Оптимизировать SQL-запрос для поиска отсутствующих страниц (нынешний не успевает исполниться до таймаута) -
Устранен ряд некритических уязвимостей класса XSS и SQL Injection (поисковик, модули опросов и рейтинга страниц) -
Улучшен поисковик в плане вида выдачи результатов -
Прямые ссылки на комментарии выдают неверную страницу комментариев (первую или последнюю) -
Невозможна передача имени страницы в кодировке, отличной от CP1251: отображается пустой документ -
При указании внутренней ссылки на комментарий документа, отследить обратную связь становится невозможно. В таких случаях в таблице ссылок следует устанавливать ссылку на базовый документ. -
Ликвидировать рабочую группу Files. Дать возможность каждому владельцу страницы загружать на неё файлы. - Скорректировать функции экспорта/импорта XML-документов согласно новой структуре БД
- Вынести функции абстрактного уровня DBAL в методы отдельного класса
-
Критическая ошибка в функциях определения административных и модераторских полномочий с потенциальной возможностью получения полномочий незарегистрированными гостями
Проблемы
- Оформление Steel: невидимый курсор в полях ввода текста (Firefox, SeaMonkey и другие браузеры на основе ядра Gecko; иные браузеры – Internet Explorer, Opera и пр. – не затронуты). Источник проблемы установлен: по-видимому, это баг ядра Gecko. Детали изложены здесь. Баг исправлен в последней альфа-версии Firefox (3.0a1).
Идеи
- Возможность загрузки в профиль открытого ключа PGP, используемого в дальнейшем для шифрования забытого пароля и сообщений приватной связи