Главная · Программы · Модули для социальной сети drupal 7. Drupalife Store - легковесный и простой дистрибутив интернет-магазина

Модули для социальной сети drupal 7. Drupalife Store - легковесный и простой дистрибутив интернет-магазина

Сайтов объединений, сообществ, групп на платформе CMS Drupal.

Обзор возможностей Drupal при построении социальных сетей.
Drupal - Open Source CMS, возможности которой позволяет решать ряд задач одновременно. Структура этой системы управления не только дает возможность создавать всевозможные сайты. Большое значение имеют «ноды» (базовая составляющая в Drupal). Благодаря свойствам нод, разработчик получает высокую гибкость в создании и настройке сайтов. Drupal дает возможность легко управлять контентом, пользователями и взаимоотношениями между пользователями. Всё это весьма удобно при разработке соцсетей. Успех реализации зависит от проектировки системы и её реализации.

Главной составляющей любого социального сообщества являются пользователи. Важно на предпроектном этапе правильно продумать возможные для пользователей действия и предусмотреть, как возможно управлять их действиями. Не менее значимым является вопрос наполнения контента и внешний вид системы.
Drupal предоставляет большое количество модулей, функций и разделов, позволяющих настроить сайт, как социальную сеть. Так, например, раздел Управления Пользователями дает возможность управлять профилями пользователей, их сообществами, разграничивать права доступа, используя никнейм, адрес электронной почты или IP. Раздел редактирования прав позволяет контролировать доступ к определенным разделам и содержимому ресурса. Раздел Управления Пользователями дает возможность создавать стандартные настройки для участников, а в разделе Пользователи содержится список всех пользователей.

Основные модули Drupal:

  • Aggregator: Модуль Aggregator дает возможность агрегировать информацию с новостных лент, других ресурсов и публиковать их.
  • Blog: Модуль дает возможность создавать блоги.
  • Blog API: модуль дает возможность добавлять на сайт контент с использованием внешних программ.
  • Book: модуль дает возможность выстраивать страницы в порядок в соответствии с иерархией.
  • Color: модуль дает возможность пользователям менять цветовую схему сайта.
  • Comment: модуль дает возможность создавать комментарии к опубликованному контенту и отвечать на комментарии других участников.
  • Forum: модуль дает возможность создавать форумы и организовывать дискуссии
  • Upload: модуль дает возможность участникам сообщества загружать файлы.
  • Profile: модуль дает возможность пользователям публиковать информацию о себе.
  • Tracker: модуль дает возможность отслеживать происходящие изменения на сайте (новые пользователи, новая информация и комментарии).
  • OpenID: модуль дает возможность пользователям заходить в свой профиль с использованием технологии ID.

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

  • Token. Модуль сам по себе не отличается функциональностью, используется для расширения возможностей других модулей.
  • Gravatar. Модуль позволяет участникам использовать аватар.
  • Image resize filter. Модуль дает возможность автоматически делать картинку меньше, если задать в настройках.
  • User Relationships. Модуль дает возможность создавать связи между участниками. Сложно представить современную соцсеть без этой функции.
  • Activity. Модуль дает возможность фиксировать действия пользователей на сайте, выводить изменения в блоках или в лентах или RSS- лентах.
  • Guestbook. Модуль дает возможность создавать гостевые книги участников сообщества (аналог Вконтакте - стена), гостевые книги интернет-сайта.
  • Organic groups. Модуль дает возможность создавать тематические сообщества.
  • Views. Модуль дает дизайнерам сайта возможность гибко и свободно управлять отображением таблиц и содержимым.
  • Notifications. Модуль дает возможность создать любую подписку. Использование вкупе с модулем Messaging дает отличные результаты. Позволяет осуществить подписку на определенный тип материала, группы, на участников сообщества и т.д.
  • Messaging. Модуль позволяет доставлять сообщения удобным для пользователя способом (e-mail, персональное сообщение, SMS и т.д.)
  • Inactive User. Модуль дает возможность управлять неактивными пользователями в автоматическом режиме. Возможные действия: отправка уведомления пользователю о том, что он давно не появлялся на сайте; блокировка профиля; удаление пользователя.
  • CAPTCHA. Модуль позволяет тестировать пользователей в целях выявления и борьбы со спамботами.

Здесь перечислена лишь часть модулей, способных улучшить функциональность ресурса.

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

Сроки предоставления услуги

Сроки реализации оцениваются индивидуально для каждого проекта.

Регион предоставления услуги
Стоимость предоставления услуги

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

Заказ проекта

Если Вы хотите получить точную оценку стоимости и сроков реализации услуги "создание социальных сетей на CMS Drupal" под Ваши задачи, либо желаете получить более подробную информацию по услуге, заполните форму заявки расположенную ниже и наши специалисты свяжутся с Вами.

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

После месяца, а то и двух, я все же решился анонсировать вам свою сборку интернет-магазина на базе Drupal Commerce. Работу над ней начал примерно под конец января, и не спеша делал и вот уже сейчас есть версия, которая безупречно устанавливается, разворачивает весь функционал и реально работает. Т.е. даже годится для продакшена.

Почему я сделал сборку и какие ставил цели

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

Разумеется, первоочередными целями были получение нового опыта с Drupal и постараться сделать что-то реально полезное для русского сообщества Drupal. По поводу опыта, я, конечно же, могу заверить, получил я его в достаточном количестве. Делать сборки действительно интересно и увлекательно. Создавая сборку я изучил друпал намного глубже чем я его знал ранее, примерно раза в полтора, а то и все два. Чтобы сделать сборку пришлось изучать базу друпала, руками просматривать что да как строится и хранится, а раньше я с базой не особо то и работал ибо боялся там что-то нарушить. Сейчас же страха уже не осталось. А по поводу полезности сборки, это уже решит само сообщество и те люди кому это интересно. Если это хотя бы кому-то окажется полезным решением и поможет в чем-либо, я буду очень рад.

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

С первым я знаком с момента выхода самого drupal commerce, ведь он был его первой демкой и первым дистрибутивом, при всем при этом он еще и официальный. Но как-то у меня с ним не срослось, сколько я не пробовал, никогда (я не вру) он не устанавливался до конца без ошибок. Постоянно прерывался на какой-либо операции и все шло в тартарары. Мне это, разумеется, не понравилось и я пошел к другому собрату - Commerce Box.

Commerce Box делают наши друзья из Украинского сообщества. Скажу честно, я её не устанавливал, я читал отзывы о ней и смотрел 2, а то и 3 доклада от самих же разработчиков. Они сами говорят что там сейчас полнейшая Ж, устанавливается порядка 300 модулей (!), хотя по демо-сайту я не особо понял, для чего там такое количество модулей. Я приверженец делать сайт с минимум модулей. Так вот, такое количество модулей, плюс то что сейчас они его координатно перепиливают и неизвестно когда допилят, и допилят ли вообще тоже как-то скинуло его из моего видения и я начал гнуть свою палку.

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

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

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

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

А вообще, каждый выделит себе свои плюсы и минусы. И будет очень приятно если вы о них скажите в комментариях, а я буду развивать дальше, учитывая ваши отзывы.

Установка

Установка абсолютно ничем не отличается от стандартной. Вы качаете дистрибутив, и в момент установки просто появляется новый пункт.

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

Под каждую из этих задач, естественно, реализован свой набор модулей, свои сборки; да что уж там, даже для решения какой-то одной задачи есть множество разных вариантов исполнения, каждый из которых заслуживает внимания.

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

Разделим условно весь функционал на следующие «бифштексы»:

  1. статьи (персоналий, рецензии, описание проекта)
  2. аудио и видео (аудио- и видеозаписи, конкурсные материалы)
  3. мероприятия (события, конкурсы, фестивали, мастер-классы, открытые занятия)
  4. юзабилити (WYSIWYG, ЧПУ, навигация, гиды по сайту)

Повторюсь - деление условное.

2. Модули

«Из коробки» Drupal обладает достаточно внушительным набором модулей, с помощью которых можно создать достаточно внушительные по своему назначению сайты. Но мы хотим править Вселенной создать более широкий по своему назначению и функциям проект, поэтому нам потребуются инструменты в виде модулей, коих довольно много на официальном сайте .
0. База
Кэп подсказывает, что для начала нам как бы нужен непосредственно архив с самим Drupal. Идём и качаем свежую версию. На момент написания статьи это 7.27 . Сохраняем в отдельную папочку, которую Кэп создал специально для меня.

Дальше нам нужно дополнительно как минимум два модуля: Views и CCK . Views пригодится не только нам, но и другим модулям, зависящим от него. Ну, а CCK позволит нам расширить тот функционал, который предоставляет Field API. Собственно, скачиваем их с сайта Drupal. И не забываем про Token !

Лично я предпочёл включить модуль Update manager для более удобной установки модулей и тем.
NB: ещё не успел порядком изучить Drush, но знаю, что вещь полезнейшая. Осталось со временем перейти на него.

1. Статьи
Для большей части статейных материалов достаточно и «коробочных» модулей - Field API вполне справляется со своими обязанностями. Но если дело касается любой биографии, то здесь одного функционала FAPI уже маловато.

Какая узловая точка в биографии? Правильно, даты. Топаем на сайт и смотрим на Date . Ага, есть, ставим.

Нам надо сделать так, чтобы в зависимости от того, как мы заполним «карточку» на персону, соответствующим образом формировался заголовок страницы. В этом нам неоценимую услугу окажет Automatic Nodetitles . Ставим.

Дополнительно ставим модуль Image , потому как он пригодится потом везде, где только можно.

Забегая вперёд, скажу, что нам понадобится Node Reference и References , от которого NR зависит. Позже объясню, зачем.

2. Аудио и видео
Здесь всё-таки я остановился на модуле Media . Не забываем поставить зависимости: Chaos Tools и File Entity .

Если с воспроизведением видео всё более или менее понятно, то с аудио несколько сложнее. Случайно наткнулся на интересную библиотеку SoundManager 2 . Удобно, стильно, CSS-но. Забираем. К счастью, для библиотеки есть соответствующий модуль - SoundManager2 . Ставим.
На всякий случай ставим себе Libraries API - пригодится.

У нас сеть социальная, поэтому мы хотим, чтобы нам дали право голоса! Хорошо, идём и ставим эти модули: Voting API , Fivestar и Vote Up/Down .

3. Мероприятия
Едем дальше. Нам надо сделать так, чтобы у пользователей была возможность посещать/подписываться на какие-либо мероприятия. Для этого хорошо подойдёт модуль Entity Registration - нам, как правило, нужно знать, кто идёт и сколько всего участников. Ставим.

Возможно, организаторы захотят прикрепить ссылку на страницу мероприятия на том же Timepad , например. Что ж, дадим им такую возможность. Идём и ставим себе модуль Link .

4. Юзабилити
Дабы не обременять пользователей изучением HTML-тегов (поверьте, не у всех музыкантов есть на это время), позволим им воспользоваться каким-нибудь WYSIWYG-редактором. Неважно, что это будет - TinyMCE или CKEditor , хоть все сразу. Чтобы их держать под контролем, поставим модуль Wysiwyg и редактор CKEditor (мой выбор).

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

Понятное дело, что, попав первый раз на сайт, пользователю будет, наверное, не так просто сориентироваться. Было найдено довольно изящное решение вопроса - jQuery-плагин Joyride от ZURB . Скачаем библиотеку, заодно установим для неё соответствующий модуль . Заодно ставим зависимость - Context , если он ещё не установлен.

В основном за ЧПУ отвечает непосредственно Drupal, поэтому там трогать ничего не будем. Будем лишь видоизменять ссылки в зависимости от местонахождения пользователя - для этого ставим Pathauto и Transliteration , чтобы ссылки выглядели чуть более опрятно.

Как и любому другому уважающему себя сообществу, нам хочется иметь и группу ВКонтакте, куда будем постить разные новости и обновления проекта. Но, как вы сами понимаете, ручками делать это лень сложно, особенно одному, так что воспользуемся ещё одним готовым решением - VK CrossPoster . Модуль позволяет размещать сообщения на стене пользователя или группы с возможностью прикрепления ссылки на анонсированную страницу. Модуль имеет пару костылей, которые мы и разберём чуть позже, наберитесь терпения.

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

Итоги

Итак, что у нас в сухом остатке?

Итого: 25 модулей без учёта тех, что встроены в системе, и 2 библиотеки. Возможно, я упустил какие-то зависимости, буду рад, если мне о них напомнят лишний раз.

Два года назад Большой Шеф высказал желание: соберите социальную сеть для клиентов. Год желание оставалось желанием, и лишь потом стало целевым указанием: сеть должна быть.

Зачем?

  1. Собрать дополнительные данные о клиентах (телефоны, адреса, явки) и чтобы было это ненавязчиво.
  2. Повысить лояльность клиентов к компании в целом.
  3. Дополнительный канал продаж.

Может, были и еще какие-то цели, но до конкретного исполнителя (меня) эти вещи не дошли.

Поиски и обзор ПО

По опыту внедрения ПО в компании, когда любое установленное ПО потребует доработок или со стороны разработчика или со стороны компании в процессе эксплуатации, предпочтение при выборе отдавалось

  1. платформам с открытым кодом или доступными исходными текстами
  2. с поддержкой нескольких языков (то есть использование utf-8 кодировки)
  3. масштабируемыми (размещение на нескольких серверах)
  4. гибко настраиваемыми (по всем составным частям)

Как показал поиск по интернету, в сети достаточно много готовых платформ и сервисов, предоставляющих услуги организации соц.сети на базе их ПО. Преимущественно готовые платформы были написаны на PHP, удалось найти только 1 или 2 на Java и несколько на.NET и ASP. Платформы на PHP в большинстве своем были бесплатными или стоили символические деньги.

Много полезной информации можно найти из обзоров на сайте http://www.cmswatch.com.

Jive идеально подходила под наши запросы, но, к сожалению, из-за высокой стоимости ($55000) пришлось отказаться от нее.

Готовые платформы на PHP как наиболее подходящие под наши запросы:

AROUNDME

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

Офф.сайт: http://www.barnraiser.org/
Пример сайта: http://www.ungdomstorget.se

Офф.сайт: http://elgg.org
Пример сайта: http://www.redpai.org/

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

PHPizabi
PHPizabi система с открытым исходным кодом. Поддержка модулей. Блоги, чаты, видео галерея, группы, персональные странички.

Офф.сайт: http://www.phpizabi.net
Пример сайта: http://demo.phpizabi.net/

Мощная администраторская часть – с возможностью создания своего языка и перевода всех сообщений – от названий заголовков, до содержимого сообщений.

Dolphin
Разработано компанией Boonex. Она с открытым исходным кодом, но при использовании мы обязаны оставить ссылку на сайт создателей или оплатить лицензию (39$ годовая лицензия и $ 99 пожизненная). Блоги, фотографии, рейтинги, группы, приглашения, друзья, гостевая книга, аудио/видео галереи, форумы, чаты и т. п.

Офф.сайт: http://www.boonex.com/products/dolphin/
Пример сайта: http://www.boonex.us/

Explay

Русская cms с открытым исходным кодом.

Офф.сайт: http://www.alex-home.spb.ru/

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

Drupal
Официальный сайт: http://drupal.org/

Есть: поддержка мультиязычности, модулей, вход по OpenID, смена тем, расширенный интерфейс администратора, возможность добавления дополнительных полей в профиль пользователя, организации опросов, групп, форумов, изменение дизайна.
Добавляя дополнительные модули можно расширять интерфейс дополнительными возможностями. В базовом пакете есть: блоги, форум, статьи, настройка внешнего вида сайта, управление внешними ссылками, опросы, поиск. Все настраивается достаточно детально.

Наш выбор - Drupal

Мы выбрали Drupal в качестве платформы для создания социальной сети. И, думаю, сделали правильный выбор: Drupal по сравнению к другим системам выигрывает в гибкости: можно расширять функционал системы установкой новых модулей или модификацией существующих, плюс огромное комьюнити и очень динамичное развитие (на момент выбора платформы вышла версия 6, на момент написания этой статьи на подходе версия 7).

Несколько лет назад чтобы превратить свой сайт в средство социального общения для совместного использования заинтересованного сообщества, требовалось написать много строк кода. Поэтому появление CMS Drupal было встречено с большой радостью и энтузиазмом. Наличие большого числа модулей для этой CMS позволяет администратору сайта управлять различными каналами сетевой коммуникации без написания огромного количества пользовательского кода.

Если вы планируете отдохнуть в Адлере в бархатный сезон, то о том, чтобы снять номер в октябре , стоит позаботиться заранее. Ведь может получиться так, что когда придет время отпуска, свободных номеров может и не быть!

Вот лишь несколько модулей Drupal, которые позволят превратить ваш сайт в средство социальной коммуникации и поднимут его на новый уровень:

1. Модуль Organic Groups:

С помощью этого модуля пользователи могут легко создавать и управлять своими группами социальных сетей. У каждой группы есть своя домашняя страница, которая позволяет пользователям публиковать свой контент, а блок, создаваемый этим модулем, предоставляет базовую информацию о группе. У администраторов также появляются дополнительные функции в группах, например, они могут выбирать, должна ли социальная группа быть избирательной или нет. Благодаря модулю Organic Groups у сайта будет бесчисленное множество возможностей. Вы сможете легко настраивать макет, управлять членством и ограничениями и многое другое.

2. Модуль User Relationships:

Модуль User Relationships позволяет администратору сайта создавать и определять типы пользователей, например, "семья", "друзья" или "коллеги", а также регулировать типы их отношений - взаимные или односторонние. Этот модуль Drupal также расширяется подмодулями, которые предоставляют администратору возможность настраивать уведомления, приглашения и обмен сообщениями.

3. Модуль Invite:

Модуль Invite позволяет текущим пользователям приглашать друзей и знакомых присоединиться к социальной группе на сайте. Этот модуль работает вместе с модулем User Relationship.

4. Модуль User Points:

Модуль User Points позволяет пользователям получать и накапливать внутрисайтовые очки, которые затем они могут тратить на различные действия, например, на публикацию материалов, модерирование, размещение на сайте картинок, комментариев и т. д. Администратор сайта может использовать эти очки для повышения или изменения роли пользователя в зависимости от сделанного им вклада в развитие сайта.

5. Модуль Flag:

Модуль Flag Module работает вместе с подмодулем Flag Friend. При помощи API модуля Flag, модуль Flag Friend предоставляет возможность устанавливать одно или двухсторонний тип связи, при котором можно посылать сообщения и извещения другому пользователю с ответом о получении запроса.

6. Модуль Heartbeat:

Этот модуль может использоваться для отображения активности пользователя на сайте. Модуль Heartbeat предоставляет API для сохранения в журнале активности пользователей, которую затем можно структурировать для отображения в настраиваемом потоке.

7. Модуль Easy Social:

8. Модуль Activity Stream:

Этот модуль Drupal позволяет создавать прямой канал для трансляции текущей активности пользователя в других социальных сетях, таких как Facebook, YouTube, Twitter и т.д. Благодаря этому модулю вы можете легко интегрировать в свой сайт RSS канал с любого сайта, настроив его так как нужно вам.