Новая версия Швабрашвабр.ру — "социальной" сборки CMS Drupal

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

Сайт работает по таким правилам:



DrupalВопрос к скринкасту "Настройка персональных галерей в Drupal"

Огромное спасибо Ромке за скринкаст! У меня вопрос: на сайте, помимо администратора, зарегенного пользователя и гостя есть еще роль редактора. Как настроить фильтр вьюшки, чтобы для зарегистрированного пользователя были видны только его персональные галереи, а для редактора - и общие и персональные?



Views дублирование информации

В новых записях блогов записи дублируются по 3 раза. В чем косяк?



Доведем до ума!Прикрутим Subdomain к OG

Писал уже о этой проблеме на Drupal.ru, но никто так и не откликнулся.
В php сам я не силен, пытался что то сделать, но понял что все что я натворил в модуле безсмысленно =)

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



Кинофильм 2012 и откуда вообще взялась эта дата?

Если верить слухам, то 21 декабря 2012 года наступит «конец света».
Но откуда взялась эта дата? Верить ли предсказанию или это очередной миф? Попробуем разобраться в этом.



Сиам

Всем привет!
После долгой паузы, продолжаю свои заметки о путешествии по Таю. На этот раз поделюсь впечатлениями о пребывании в океанариуме Сиам Оушен Ворлд (Siam Ocean World), который находится в столице Таиланда – Бангкоке.



тестовая запись

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

Картинка: 


Доведем до ума!Помогите разобраться со сборкой

Начал разбираться со сборкой швабрашвабр... скачал дамп базы и дистрибутив 6.14
Все поставил на локальной машине...

И тут же пошли ошибки... например эта:

при заходе в Мой профиль выскакивает запись-предупреждение на красном фоне.... Причем столько записей, сколько фотогалерей у меня создано
------
warning: Invalid argument supplied for foreach() in C:\work\u\supphosting\shva\sites\all\themes\aberdeen_shva\user-profile.tpl.php on line 128.
------
как это побороть?

содержание 128-й строки указанного файла:

foreach($info['photos'][$gallery['nid']] as $photo) {



Доведем до ума![Решено] Вступить/покинуть группу ( доработка og)

Нечто подобное создавал на drupal.ru, но либо никто не заинтересовался, либо не смог разобраться, что я хочу.
Интересно, будет ли эта функция актуальна и возьмется ли Ромка сделать такое.

Работы тут на 5 минут. К сожалению, языка просто не знаю...

Суть
Вывести в списке групп (коллективных блогов) не только ссылку "Присоединится" ("Join"), но и ссылку "Покинуть группу" ("Leave")
Также может выводить эти ссылки и на самой страницы группы (коллективного блога).

Максимум я докопался до такого



Доведем до ума!Organic Groups

Уважаемые ШвабраЖители, а главное ШвабраАдминистраторы. Очень нужна помощь.

Необходимо сделать группу (Organic Groups) с членством "Только по приглашению", чтобы при приглашении администратором пользователей в группу они могли как вступить в неё, так и отказаться, а не приглашенные пользователи вообще не могли бы в неё вступить.



ШвабрашвабрШвабрашвабр 2 — описание

Вступление

В мае 2008 года я сделал демонстрационную сборку CMS Drupal, работающую как коллективный блог с элементами социальной сети и получившую название Швабрашвабр. В основу этой сборки лег Друпал 5 версии. На тот момент уже был доступен Drupal 6, но под него еще не были портированы все необходимые для реализации задуманного функционала модули. В предложенной сборке был реализован следующий функционал:

  • зарегистрированные в системе пользователи могли вести собственный блог, оставлять комментарии к записям в блогах и голосовать за посты и комментарии к ним.
  • Отданные голоса влияли на карму (рейтинг) автора поста или комментария (отданный голос за пост имел больший вес, чем голос за комментарий); пользователи набравшие определенный рейтинг автоматически получали роль "продвинутого пользователя", что давало им дополнительные возможности, например, создавать коллективные блоги.
  • Коллективный блог — блог записи в котором посвящены определенной тематике. Владелец блога (его автор, создатель) мог определить его тип:
    • в открытый блог могли писать все желающие пользователи сайта,
    • в закрытом блоге публиковать записи могли только пользователи "подключившиеся" к нему, при этом заявку на подключение к блогу мог отправить любой желающий, а решение принять ее или нет принимал владелец блога,
    • логика работы приватного коллективного блога была аналогична логике закрытого, за исключением того, что попасть в него можно было только по приглашению владельца блога, просто так послать заявку на подключения к блогу пользователи не могли.
  • Главная страница сайта представляла из себя список записей в блогах, набравших определенный пользовательский рейтинг, таким образом была реализована "социальная" составляющая проекта — на главную страницу сайта попадали только те записи, которые интересны посетителям сайта. Кроме того, список всех существующих записей в блогах был доступен на отдельной странице.
  • Также на сайте были реализованы механизмы внутренней почты, "дружбы" между пользователями и т.д.

Спустя полгода (в ноябре 2008 года) я реализовал аналогичный описанному выше функционал уже на шестом Друпале, но на тот момент еще не было возможности безболезненно портировать существующую Швабрушвабр с пятого Друпала на шестой. Эта сборка вместе с её описанием, а также большой статьей посвященной Друпалу была опубликована в журнале PC Magazine/RE, я очень рекомендую, перед дальнейшим чтением этого материала прочитать статью из PC Magazine, так как здесь я не буду описывать основные используемые понятия, которые были описаны в той статье. Кроме того, рекомендую прочитать две других моих статьи, посвященных Друпалу, также опубликованных в PC Magazine/RE, первая доступна по адресу http://pcmag.ru/solutions/detail.php?ID=36589, вторая будет опубликована в ближайшем номере журнала.

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

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

  • каждый пользователь может указывать свой статус, который выводится в виде микроблога в стиле Твиттера,
  • каждый пользователь может создавать персональные фотогалереи и загружать в них свои фотографии,
  • каждый пользователь имеет персональную гостевую книгу (как "стена" во вКонтакте),
  • каждый пользователь имеет список друзей и последних посетителей своего профиля,
  • кроме того, каждый пользователь при регистрации должен выбрать свой тип (в этой реализации — Исполнитель или Заказчик, но эти названия должны зависеть от конкретного проекта) и, в зависимости от типа, ему будут доступны различные настройки своего профиля.
  • на главную страницу теперь могут попадать не только материалы, набравшие определенный рейтинг, но и материалы продвинутые модератором,
  • и т.п.

Блоги теперь являются не основным элементом проекта, а лишь его небольшой частью.

В этой статье я покажу как решить следующие задачи:

  • как подготовить сайт на пятом Друпале к переносу на шестой и как осуществить этот перенос. На самом деле, в этой операции нет ничего сложного, в некоторых случаях достаточно просто скачать c drupal.org и установить шестой Друпал и все модули (их версии под Drupal 6), которые были использованы в сборке пятого Друпала, после чего подключить к этой сборке базу данных от старого сайта на пятом Друпале и запустить скрипт update.php. Этот скрипт сам выполнит все необходимые действия. К сожалению, в случае с Швабройшвабр будет не все так просто, после выполнения указанных действий сборку еще немного надо будет обработать напильником, в частности, нужно будет заново пересоздать "представления" (views — списки документов, которые используются, например, для генерации главной страницы сайта и страницы со списком всех записей в блоге), а также портировать "списки друзей" из устаревшего модуля BuddyList2 в новый User Relationships.
  • Как настроить "представления" для реализации старого (списки всех записей в блогах и записей в блогах для главной страницы) и нового функционала (списки фотогалерей и фотографий).
  • Как перенести списки друзей со старого сайта в новый (из BuddyList2 в User Relationships).
  • Как реализовать функционал персональных фотогалерей практически нативными средствами Друпала (Views и CCK) без применения сторонних модулей типа image или gallery2.
  • Как создать "стену", "статусы", "последних гостей" и вывести все это в профиле юзера.

Готовый пример, разработанный в рамках этой статьи вы можете скачать по ссылкам:

  1. Дистрибутив Друпала 6.14 со всеми необходимыми модулями
  2. Дамп базы данных

В предложенной сборке создано 4 юзера: admin, Заказчик, Исполнитель, Лошадь. У всех пароль — 1111 (к сайту Швабрашвабр.ру он не подходит ;)).

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

Back to top