Drupal



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

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



ШвабрашвабрШвабрашвабр 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 (к сайту Швабрашвабр.ру он не подходит ;)).

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



ШвабрашвабрШвабрашвабр2 — анонс

Сегодня 8 ноября 2009 года в 2 часа 21 минуту ночи по Московскому времени сайт Швабрашвабр.ру перешел на второй уровень... то есть был обновлен до новой версии. В ближайшее время я напишу подробную статью и запишу скринкасты, описывающие процесс обновления. В двух словах о новых фишках:

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

Посмотреть описанные выше возможности можно на примере профилей: Заказчик, Исполнитель, Лошадь.

Также вы можете скачать сборку:

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

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



Все таки почему Drupal так сложен?

in

Почему так сложен Drupal? Для кого его делали? Какой путь у того, кто хочет осилить Drupal?

Я вот когдато сделал сайт 4drupal.ru чисто из спортивного соображения.
Интересно же всё таки. Установить и учить и других поучать.



Я устал бороться с друпалом

in

Уже год пытаюсь освоить друпал, даже больше. В апреле 2008 года попал на семинар друпальщиков в мастерхосте. И как первое впечатление осталось от друпала и друпальщиков, так оно сохраняется и укрепляется. Мнение такое:

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

Точно такое же впечатление оставили и уважаемые друпальщики Алексей Графов, многоуважаемый Ромка, остальные ребята. Все все могут сделать, но объяснять кому-нибудь что-нибудь сложно, времени нет, и вообще, изучайте сами.



Ссылки на комментарии - как сделать правильно?

Исходные: D5, комьюнити (швабрподобное). Слежу за свежими сообщениями через пункт меню "Мои непрочитанные". Проблема: ссылки на новые комментарии в топиках не учитывают многостраничности обсуждения.



ШвабрашвабрМодуль OG Alias для шестого Друпала

Портировал под шестой Друпал свой модуль OG Alias. Теперь псевдонимы генерируются не только для материалов типа "Запись в блог", но и для "Коллективных блогов".

В ближайшее время напишу инструкцию, по переводу Швабрасайта с пятого Друпала на шестой.



DrupalРуководство от devlounge.net

Руководство по созданию журнального шаблона, первая и вторая часть.



Блог на поддомене

Спасибо огромное за мануал. Вот только скажите как сделать блоги пользователей на поддоменах? Я пока нашел модуль subdomain но не могу понять как настроить ДНС . Чераз CNAME?
Если можно распишите пож. по пунктам, думаю многим будет интересно



DrupalНа почту об ответах на комментарий

Никак не могу найти простой модуль, который будет извещать по почте зарегистрированного пользователя о новом комментарии, как, например, на livejournal.com. Никаких настроек не нужно, не хочу усложнять жизнь пользователя и уже тем более устанавливать Notify.

RSS-материал

Back to top