Обновлено 19 октября
Я пытался придумать все функции идеального программного обеспечения форума будет иметь, и это то, что я придумал до сих пор. Я в конечном итоге использовать пожертвованные средства на форуме, чтобы платить кому-то осуществить это. Пожалуйста, оставьте свои мысли. Я сосредоточился в основном на умеренных количествах, так как это основная область, которую я вижу, SMF не хватает.
(Это будет текст будущей резьбы, направленной на участниках торгов.)
[Будущее торгов нить] только для ставки, вопросы участников о технических характеристиках, а также вопросы, которые у меня есть для участников торгов. Другое обсуждение этого процесса должны идти в отдельной теме.
Предложения должны включать, по крайней мере, эту информацию:
- Описание общей архитектуры вы планируете
- Список любой из дополнительных функций, которые я упомянул, что ваше программное обеспечение будет иметь
- Дополнительные функции ваше программное обеспечение будет иметь, что я не упомянул
- Образцы вашего прошлого кода
- Цена. Если вы хотите, ссылки или другие "надбавки", Включают их как часть цены.
На форуме есть около 500 BTC на руке, но вы можете предложить цену больше. Если ваша ставка является лучшей, я буду просто ждать, пока форум не собрал необходимую сумму денег.
возможности SMF
Все популярные функции SMF должны поддерживаться программным обеспечением. Например:
- Игнорировать пользователя
- Игнорирование доска
- Уведомления по электронной почте
- Печать страницы
- Профиль страницы
- BB-коды
- Опросы
- подразделы Многоуровневые
- премьеры
- Контекстный поиск, простой поиск и расширенный поиск
- "Непрочитанные сообщения с вашего последнего посещения" а также "новые ответы на ваш пост"
- Форум и пользователей Статистика
- Аватары
- Различные пользовательские настройки
- Хорошая поддержка Unicode
- JavaScript быстрое редактирование
Обширный интерфейс администратора является не требуется, однако.
Код
Программное обеспечение должно быть написано в PHP или C ++, так как они являются только два языком я очень хорошо знаком. Код должен быть очень легко изменить. Я хочу быть в состоянии сделать даже сложные изменения в поведении без особых проблем.
Теперь у меня есть некоторый опыт работы с SMF, так что я буду рассматривать программное обеспечение, построенное на SMF, чтобы быть более удобными для чтения / изменяемого, чем я бы в противном случае.
Лицензия
Программное обеспечение может быть под любой лицензией, пока у меня есть полный доступ к коду навсегда, я могу изменить код, и я не буду обязан публиковать частные изменения, внесенные в код (без AGPL). Она может быть основана на платное программное обеспечение, если стоимость лицензии отражена в вашей цене.
База данных
PostgreSQL необходимо использовать. Запросы должны быть хорошо оптимизированы. Не использовать уровень абстракции базы данных.
Запросы к базе данных следует везде, где это возможно сделать, используя подготовленные заявления, что-то вроде pg_query_params, или какой-либо другой метод, который не требует от программиста вручную избежать вещи рядный.
Безопасность
Безопасность очень важна.
Используйте соленые мульти-итерацию хэширования паролей с помощью одного из SHA-2 алгоритмов. Пароли в существующем формате SHA-1 должны быть обновлены автоматически, как только пользователь войдет в систему снова.
Ни одна группа пользователей не должны быть в состоянии выполнить произвольный PHP код.
Все действия должны быть сделано путем размещения сервера. GET запросы не должны иметь побочные эффекты.
UI
Тема по умолчанию должна быть минималистичной как текущая тема. Ничего такого, что выглядит "веб-2,0": Нет речи пузыри, никакого существенного пространства между столбами, без существенных эффектов при наведении курсора, а несколько скругленных углов. Используйте даже меньше изображений, чем текущая тема: нет изображения кнопок.
Тема по умолчанию должна хорошо работать со всеми функциональными возможностями и разумной компоновкой страницы на текстовых браузерах без JavaScript. Он должен также работать отлично на браузерах с необычно малыми размерами браузера. Она должна быть по крайней мере, до некоторой степени использовать (хотя, возможно, не очень) на древних и сломанные браузеры, такие как IE6.
То же цветовая схема, как мы сейчас имеем: зажигать с некоторыми синим.
Там должна быть функциональность для позволяя пользователям выбрать один из нескольких интерфейсов. Вам нужно только предоставить по умолчанию один, хотя.
Настройки администратора, которые не изменяются очень часто может быть изменчива из файлов, а не через веб-интерфейс, хотя изменения настроек из файлов должно быть легко. Веб-интерфейс не должен позволять администраторам добавлять / редактировать UIs, выполнить произвольный код / SQL или подделывать регистрации.
классы пользователей
Так что вы знаете какую-либо систему membergroup, которая необходима, вот в настоящее время спланированные membergroups. Все это должно быть возможно с вашим программным обеспечением. Люди могут принадлежать к более чем одной membergroup. Это, безусловно, будет переделано много в будущем, так что не прописывать в особенности membergroup / разрешении.
- Админы, со всеми полномочиями. Только группа, способная видеть IP-адрес. Должна быть обеспечена возможность для администраторов, чтобы сделать определенные группы, определенные должности, а также некоторые темы невосприимчивыми к определенным типам умеренности.
- Глобальные моды, способные делать все с постами и плакатами.
- Местные модники, способные делать все с должностью и плакатами в их разделах. Плакаты запретили местный мод только запрещены в секциях, что локальная мода имеет юрисдикцию.
- Младшие моды, которые могут только умеренные плакаты, которые не установлены.
- Штатные плакаты: все плакаты, которые встречались несколько легко конфигурируемых критериев. Начнут с того, что критерии будут 8 нагруженных часов онлайн (см ниже информации о взвешенной статистике).
- Categorizers: Можно переместить все темы
- Белый список: иммунитет от прокси запретов, и, возможно, других ограничений позже
- VIP жертвователь: с возможностью доступа к разделу дарителя, способный изменить свое имя, и может присвоить себе пользовательский заголовок
- Donator +: с возможностью доступа к разделу дарителя и в состоянии изменить свое имя
- Донатор: с возможностью доступа к разделу Donator
- Доносчик: Невозможно удалить или изменить свой профиль или сообщения. Имеет свои посты и PMs отмечены особо.
Там также должны быть "плакат рейтинга" группы, основанные на взвешенных статистике.
Эти группы пользователей будут скрыты и не указаны в профиле пользователя или рядом с его постов:
- Местные модники (когда за пределами их участков)
- младший Mods
- Штатные плакаты
- Categorizers
- белый список
- жертвователь
В дополнение к пипсов ("звезды"), Что большинство форумов есть, небольшое изображение и текст "бейджи" связано с некоторыми membergroups должно быть возможным.
Некоторые группы (в том числе некоторых стендовых рядов) следует "белый список",
Весовые статистики
Там должно быть "Взвешенный время онлайн" а также "Взвешенные полезные сообщения" в дополнение к значениям сырья. Оно не должно быть возможным для пользователя, чтобы увеличить один из весовых значений слишком сильно, не увеличивая другое значение. Если вы размещаете 200 сообщений в течение 1 часа, ваша взвешенная счетчик сообщений должна быть равна 1. Если вы размещаете 1 пост в 200 часов, ваше взвешенное время онлайн 6 часов которые должны. Эти цифры должны быть настраиваемыми и должны применяться ретроспективно при изменении (где это возможно).
Время онлайн не должно увеличиваться, если вы просто освежает страницу, и она должна расти медленнее, если вы, кажется, бот.
рамки
Все действия, которые пишут в базу данных должны иметь по крайней мере один связанный настраиваемый предел. подобно "могут размещать темы х за у секунд", Там также должен быть предел, который препятствует пользователям слишком рано после остановки другого предела. Оно также должно быть легко возможно админы запретить определенные выражения регулярных выражений в должности, названия и имена пользователей (отдельные списки запрета) из веб-интерфейса.
Пределы могут быть модифицированы на основе membergroup. Фактические пределы могут быть ослаблены, и результат превышения предела также может измениться. Превышение пределов не может сделать ничего, отклонить действие ("Вы не можете создавать эту тему, потому что вы только что отправили один 5 минут назад!"), Или автоматически запретить пользователю.
Постановка на учет
Когда гость пытается отправить ответ, он будет запрошен необходимой информации создания учетной записи (имя пользователя и пароль) на той же странице, где он может ввести свой ответ.
Адреса электронной почты не требуется при регистрации. Тем не менее, плата не будет отправлять электронную почту пользователю, пока адрес электронной почты не предоставляется и проверяется.
очень первый пост пользователь не должен быть новой темой.
OpenID
Должна быть возможность использовать OpenID аутентификации вместо пароля. Основной метод Логин не должен быть OpenID, хотя. Может быть, введя URL OpenID в имя пользователя или пароль поле будет вызывать OpenID аутентификации.
OpenID URL-адрес не должен использоваться в качестве реальных имен пользователей.
Mod вид профиля
Модификации будут видеть этот материал на первой странице профиля каждого пользователя:
- Бревно всего пользователь сделал в последние несколько недель. Записи, как "Сообщается, после й", "Сообщение ответ х", "Сообщение Тема х", "Получили сообщение X удален мод у", "Got запрещены", и т.д.
- последние удаленные сообщения пользователя.
- Их последние несколько тем и сообщений (в разных списках)
- Ссылки, которые немедленно осуществляют ультрасовременные действия после запроса JavaScript: запрет, IP запрет, белый список, поднять
Mod действия
Сообщение действия:
- Удалить темы / ответы
- Сплит темы
- Объединить темы (администратор только)
- Клон ответ / тема (админ только - возможно, другие группы позже)
- Создать перенаправлять тему
- Переместить тему
- Редактировать сообщение
- Блокировка темы
- Важная тема
- Объявить тему - поместить его в верхней части каждой темы индексной страницы (Admin)
Автоматические действия плаката:
- Ban - автоматически Permaban плакат
- IP запрет - Permaban плакат и запрет для администратора настраивается количество дней все IPs использовал плакат. Статистика должна быть доступна для администраторов о том, сколько раз определенный IP-адреса и диапазоны IP запрещены таким образом.
- Whitelist / unwhitelist - поставить плакат в белый список группы
- Поднимаю / unelevate - Поместите плакат в верхней части очереди отчетов и сделать все модникам сделать дополнительный шаг для подтверждения каких-либо действий против этого плаката. Предназначено для вещей, которые нуждаются в обзоре администратора. Эта функция не является обязательной.
- Комментарий - частные моды комментариев о плакатах. Эта функция не является обязательной.
- Nuke - Удаляет все сообщения.
- Удалить отчеты о плакате
Администраторы должны также иметь возможность создавать пользовательские / IP баны, которые истекают после различного количества времени.
Нет запреты не будут препятствовать людям от чтения сообщения.
Там должно быть что-то вроде SMF-х "быстрая модерация" интерфейс на тему страниц и пользователей почтовых историй.
Все удаленные посты плакатом должны быть доступны для них, по крайней мере месяц.
Это должно быть очень легко для админов, чтобы отменить любые повреждения, вызванные модами. В частности, это должно быть очень легко восстановить темы / сообщения и восстановить их исходные состояния.
Дополнительно: позволяет полностью отменить все действия конкретного мода, так как в указанный момент времени.
Отчеты
Люди могут отправлять отчеты, нажав "доклад" ссылки рядом с постов и, возможно заполнение причины отчета. Это увеличивает счет отчета по почте и плакат репортера "оценка надежности", Оценка надежности начинается с 1. Для каждого правильного отчета, он увеличивается на 0,1. Для каждого неправильного отчета, уменьшается на 0,02. Оценка надежности на 5 исчерпан, и он не может опускаться ниже 0.
Модификации, которые рассматривают очередь отчета будут видеть только пользователи, они могут иметь дело. Она должна быть организована следующим образом:
Плакат 1 - оценка: 5 - детали / обрабатываемые / некорректные ссылки
опубликовать - балл: 3 - Детали / обрабатываемые / неправильные ссылки
после б - оценка: 2 - подробности / обрабатываемые / некорректные ссылки
Плакат 2 - оценка: 1 - сведения / обрабатываемые / некорректные ссылки
сообщение с - оценка: 1 - сведения / обрабатываемые / некорректные ссылки
Ссылки работают так:
- Подробности: списки фактических отчетов с указанием причин и отправителя докладов
- Обрабатывается: Удаляет отчеты и повышает надежность оценки всех тех, кто прислал отчеты
- Неправильно: Удаляет отчеты и уменьшает надежность оценки всех тех, кто прислал отчеты
Удалены отчеты остаются доступными для админов по ссылке на отправителя и получателя профиля страниц навсегда.
Фото PMs
Всякий раз, когда мода действия предпринимаются против пользователя, они должны получить акции ПМ, информирующие их об этом. Это должно быть легко для меня, чтобы настроить текст для каждого вечера.
Павлодарская
Люди, которые их учетная запись пользователя запрещена (но не их IP) можно использовать специальную функцию запрета обжалования. Каждый пользователь может обратиться один раз, а затем они должны ждать ответа.
Очередь обращения будет доступна для Администраторов. Он будет показывать привлекательность и ссылку на страницу профиля пользователя. Это будет иметь эти ссылки на действия: UnBan, ответ, мягкий отрицать (разрешить апелляцию запрета в течение 14 дней), трудно отрицать (не допускать в будущем обращения для этого пользователя).
После каких-либо мер, обращение удаляется из очереди.
Запрещенная пользователь может отвечать один раз на каждый ответ, что администратор отправляет.
Proxy запрещая
Там будет существовать большой список прокси-серверов, которые запрещены разместить за исключением белого списка плакатов. Список должен поддерживать IP / имя хоста с подстановочных знаков и диапазонов. Проверка пользователей от этого списка должны быть эффективными. Я буду писать код для автоматического добавления узлов выхода Tor в этот список, так что это должно быть особенно легко добавить в этот список.
Когда кто-то помешало разместить что-то из-за прокси запрета, что они пытались опубликовать должны быть добавлены в список видимого для модов. Модификации могут затем просмотреть список и белый список людей, которые пытались опубликовать что-то хорошее.
Прокси-запрещенные люди должны также быть в состоянии вручную запросить белый список. Whitelist очередь запроса должна быть видна глобальными модами, мл. модов и админов.
Список
Там должна быть функция, как ток "Показать новые ответы на Ваши сообщения", Но он должен применяться только к тем, которые пользователь явно добавил в свой список, щелкнув "добавить в список наблюдения" ссылка в темах.
Нет встроенные изображения
Из-за проблемы с "печенье начинка" и другие атаки, давайте просто запретить встроенные изображения все вместе. Превратите старые встроенные изображения в ссылки. Аватары еще будет разрешено, но они всегда будут размещаться на сервере.
Держите позволяет IMG теги (превращая их в ссылки), так как они могут быть использованы в дальнейшем.
Дополнительно: Веб доверия
Доверительная система так же, как у FMS Freenet был бы отлично. Инфо включая это будет гораздо предпочтительнее.
Другие необходимые функции
- Хороший SEO
- Комбинированный журнал мод действия
- Возможность админ отправить PM / Email рассылку различного membergroups.
- Страница перечисляя все сообщения от не-установлены плакаты
- Сообщение редактировать изменения видны всем пользователям, которые могут редактировать пост
- Путь, чтобы просмотреть все темы пользователя
- Для администраторов, создающих доски и перемещение их вокруг должно быть легко.
- Претендент должен предоставить код или подробные инструкции о том, как перемещать текущие данные базы данных в новую базу данных.
- Программное обеспечение должно быть по крайней мере так же быстро и ресурсосбережение свет в SMF.
- Мне нравится, как страница после композиции SMF позволяет выделить текст, а затем нажмите кнопку, чтобы применить определенный BBCode. Это должно быть воспроизведено.
- Сообщение отсчеты не должны отображаться на тематических страницах, но они должны быть показаны на страницах профиля.
Другие дополнительные функции
- Дополнительные каптча защищенных адреса электронной почты, указанные в профилях
- Nofollow на ссылки в постах и профилей без установленных пользователей в то время как они не являются установлены
- В дополнение к обычному BBCode, позволяют Wiki-синтаксис полужирный / курсив: «» = курсив, «» '= полужирный
- В "Ответы на ваши сообщения"Выделите сообщения, где вы процитированные и включают в себя сообщения, где вы процитированные даже если вы еще не писал в эти темы.
- Возможность полностью игнорировать поток.
- "благодаря" функция на столбах. Все люди, которые поблагодарили пост (до предела), перечислены в небольшом тексте вблизи поста. Читатели могут скрыть этот список в их вариантах.
- Вариант, который расширяет [IMG] тегов в встроенные изображения. Это не должно быть по умолчанию.
- В дополнение к пути по умолчанию темы обзора, позволяют пользователям просматривать темы: чисто хронологической упорядоченности, незатронутой ударах; по числу последних ответов; и некоторые "жаркость" Критерии затрагиваемых мнений и ответы.
- Позвольте людям сохранить список пользователей, которые "друзья", Выделите темы / сообщения от друзей, тем отвечал в друзья, и темы / посты друзей.