id: Гость   вход   регистрация
текущее время 20:05 28/03/2024
Владелец: SATtva редакция от 07/01/2007 21:01 (автор: SATtva) Печать
создать
просмотр
редакции
ссылки

Это старая редакция страницы Разработки / Движок за 07/01/2007 21:01.


Движок сайта: разработка и доработка


Оглавление документа:


Сообщения обо всех обнаруженных ошибках в работе сайта, багах и недоработках, а также пожелания и предложения по развитию программной платформы сайта следует публиковать здесь.
Основой платформы сайта служит движок openSpace, представляющий собой сильно модифицированную wiki-систему WackoWiki. Выбор пал на нее из-за простоты устройства, модульности, позволяющей легко изменять систему и подгонять под специфические нужды, наконец, субъективная характеристика — код написан на PHP, и для хранения данных используется БД, а не файловая система.


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

Создать


  • Форма ввода новостей
  • Страница вывода новостей
  • RSS-канал новостей
  • Новая система опросов/голосований (компонент администрирования, компонент ввода опросов, компонент вывода архивных опросов)
  • Отображение опросов в канале новостей
  • Аскетичное оформление
  • Опция: сравнение редакций документа по исходному тексту страниц (без исполнения WackoFormatter)
  • Email-уведомление пользователя при передаче ему прав владения документом
  • Функция массовой чистки комментариев страницы
  • Функция удаления всех страниц кластера
  • Возможность быстрого возврата на прокомментированную страницу после удаления комментария
  • Контроль стойкости пароля при регистрации и изменении пароля
  • Контроль длины текста сохраняемых страниц (предотвращение потери части очень длинного текста)
  • Функция массового удаления прикрепленных к странице файлов
  • Специальный синтаксис для размещения картинок-ссылок
  • Система рейтинговых оценок страниц
  • Компонент вывода списка страниц с самым высоким / самым низким рейтингом
  • Реализация "Песочницы" для практикования в использовании wiki-разметки
  • Расширение пользовательских параметров и полей профиля
  • Введение опциональной поддержки BBCode для форматирования текста
  • Восстановление новостной рассылки и ее автоматизация
  • Конвертор базы данных из phpBB в Wacko
  • В метаданных страницы сделать отдельное поле "Название"
  • Перенос форума на платформу wiki, унификация сайта
  • RSS-канал форума
  • Листание страниц комментариев, предпросмотр комментария перед сохранением, правка и удаление, распечатка комментариев вместе со страницей
  • Вывод комментариев и изменений, сделанных с последнего посещения пользователя (плюс выделение разделов форума/тем с новыми комментариями)
  • Доработка каталога сайта и других каталогов страниц: переход к произвольной странице, алфавитный указатель
  • Внутренняя система резервного копирования (стандартные средства не подходят вследствие объемов базы данных)
  • Полностью переписать компонент tree (оптимизация по скорости и работе с новой структурой базы данных)
  • Полностью переписать подсистему аутентификации и обработки сессий, дабы сделать невозможным перехват и повторное использование истекших куков
  • Компоненты вывода списка разделов форума, тем в разделе, модерации сообщений и тем
  • Возможность для гостей подписывать комментарии
  • Установка на сайт SSL-защиты
  • Компонент внутренней приватной связи между пользователями wiki
  • Элементы страницы для работы с серверами ключей
  • Компонент динамического управления рабочими группами
  • Доработка страницы пользователей[создать]: просмотр профилей, списки страниц и пр.
  • Компонент администрирования пользовательских профилей
  • Единый административный журнал событий (системный лог)
  • Изменить структуру списков ACL (определять полями в таблице pages), добавить правило 'create', определяющее права на создание подстраниц
  • Ваши предложения и идеи

Исправить


  • При создании страницы наследование прав доступа должно происходить от родительского документа кластера, вместо использования дефолтных
  • В некоторых случаях не создаётся список прав доступа при создании новой страницы в кластере
  • 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: отображается пустой документ

Проблемы


  • Невидимый курсор в полях ввода текста (Firefox, SeaMonkey и другие браузеры на основе ядра Gecko; иные браузеры – Internet Explorer, Opera и пр. – не затронуты). Источник проблемы установлен: по-видимому, это баг ядра Gecko. Детали изложены здесь. Баг исправлен в последней альфа-версии Firefox (3.0a1).

Идеи


  • Возможность загрузки в профиль открытого ключа PGP, используемого в дальнейшем для шифрования забытого пароля и сообщений приватной связи