Мультисайтинг на основе Друпала

Web/сайты Прочее

Был(а) онлайн: 26.04.20 14:45
Umen 26 лет

1.0 Был(а) онлайн: 26.04.20 14:45

Недавно
Необходимо написание модуля для друпала, тот, что дозволит всякому новому зарегестрированному пользователю сделать свой сайт, где он будет иметь все админ-права на контент своего сайта, но не на администрацию других пользователей. Т.е. нужна разработка мультисайтинг-системы, на основе движка друпала, но у всего сайта своя собственная база данных. Вся база соответствует стандартной базе друпала, таблицы пользователей обязаны быть у всех сайтов совместными.

Терминология:

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

Регистрация пользователя и создание сайта:

Схема поведения пользователя выглядит дальнейшим образом:
Пользователь заходит на сайт, регистрируется, при регистрации модуль друпала закладывает все нужные папки в друпале, а также прописывает настройки в apache и DNS, так, что пользователь получает готовый сайт на друпале, тот, что дозволено посетить по адресу: username.sitename.com и sitename.com/username. При этом регистрация пользователей с именами, имеющими идентичное наименование со стандартными папками друпала (files, includes, misc, modules, profiles, scripts, sites, themes) должна быть исключена.

Пользователи имеют право применять только латинские символы для регистрации. Список симоволов должен быть лимитирован до того числа символов, которые допускаются при создании доменов, т.е. допускаются лишь символы латинского алфавита, цифры и, помимо первой и последней позиции, дефис и знак "_". Слово должно содержать не менее четырёх символов. Имена с тремя буквами и поменьше запрещены.

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

Последним непременным полем должно быть поле capcha (либо схожий функционал), реализованый с поддержкой добавочного стороннего модуля друпала.

Сделать пользователя (и соответсвеннно его сайт) может и менеджер сайта стандартными средствами друпала. Соответственно также как и при регистрации самим пользователем, скрипт мультисайтинг-модуля создаёт все нужные папки и делает всё то же самое, что и при регистрации самим пользователем.

Профиль создаваемого сайта должен закладываться через вэб-интерфейс админом основного сайта. В него входят все модули основного сайта, (лежащие в drupal/modules), которые админ может включать либо выключать. Вид администрирования профиля создаваемых сайтов должен быть реализован отдельной страницей на странице администрирования создаваемого мультисайтинг-модуля в админпанели основного сайта.

Конструкция папок создаваемых сайтов:

При создании сайта по имени "username", скрипт должен механически закладывать следующие папки:

drupal/sites/all/username
drupal/sites/all/username/modules
drupal/sites/all/username/themes
drupal/sites/al/username/files

Обзор имеющихся сайтов:

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

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

Удаление пользователей и сайтов:

При удалении пользователя менеджером, его сайт не удаляется. Функция удаления сайтов должна быть прописана отдельно в таблице обзора имеющихся сайтов.

Применение модулей:

Различается 2 вида модулей. Всеобщие и локальные.

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

Всякий обособленный сайт может впрочем иметь и свои модули, которые находятся в sites/all/username/modules/. Пользователь не может сам загружать модули и включать их на своём сайте. Это может делать только стержневой админ сайта.

Суб-админ (обладатель локального сайта) может сам включать либо выключать имеющиеся в наличии его сайта модули. Помимо тех, которые включены на основном сайте и действуют для всех сайтов в непременном порядке.

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

Требования к программистам:
- дюже отменное умение Друпала, и его модулей
- PHP, JavaScript, AJAX, JQuery, OOP, HTML, CSS
- Умение настроек Apache, MySQL, PHP, E-Mail
- Классные умения в вопросах вэб-безопаности
- умение английского (и/или немецкого) языков, довольных для совместной работы

Сроки реализации и цена

Сроки абсолютно типичные.

Задачи будут ограничиваться техническими работами и реальным программированием.

Цену за реализацию вы определяте сами.

Посему присылайте свои портфолио на е-майл: admins.server [собака] googlemail.com либо пишите в личку. Дюже хотелось бы, увидеть Ваши работы, раньше чем переходить к деталям. В е-майле укажите непременно ваши познания по требуемым пунктам, покажите, по вероятности, какие сайты вы сделали. Ну и безусловно, указывайте, сколько денег хотите за написание этого модуля.

Последующие перспективы сотрудничества:

- Разработка / настройка дальнейшх модулей, таких как:
- мультимедиа-модули (фото-, видео-, аудио),
- Настройка и доработка теснее существующих модулей
- Дизайн и вёрстка, настройка отдельных сайтов в границах этой мултисайтинг-системы
- Перенос парочки сайтов на друпал.
- Оптимизация и движение сайтов в поисковиках (SEO)
- потребуется поддержка в доработке каждой доктрины, её деталей и документации

Чтобы добавить заявку к этому заказу, нужно войти или зарегистрироваться

Мой блок

26.04.20 14:45
Umen 26