Drupal

  • warning: Creating default object from empty value in /var/www/shvabrashvabr.ru/modules/taxonomy/taxonomy.pages.inc on line 33.
  • warning: Invalid argument supplied for foreach() in /var/www/shvabrashvabr.ru/sites/all/modules/cck/content.module on line 1284.
  • warning: Invalid argument supplied for foreach() in /var/www/shvabrashvabr.ru/sites/all/modules/cck/content.module on line 1284.
  • warning: Invalid argument supplied for foreach() in /var/www/shvabrashvabr.ru/sites/all/modules/cck/content.module on line 1284.


н/д


н/д


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



н/д


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

in

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

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

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



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

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



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

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

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



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

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



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

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

RSS-материал

Back to top