хмм а зачем вам маленький хабр, точнее как вы его будете использовать?
У меня не праздный интерес, мы просто как раз для себя делаем такой сервайс, и вот думаем делать открытую авторизацию, закрытую, надо оно кому-то или не надо.
Да все просто.
Мне нравится что обсуждение в таком формате , как здесь,хорошо воспринимается зрительно и просто удобно.
В отличие от классических форумов и чатов.
Хотелось использовать подобный сервис, как элемент ведения работы над проектами.
Я пробовал для этой цели бизнес-чат http://www.campfirenow.com от 37signals , но мне немного не понравилось у них.
Я думаю главная ценность статьи - это показать то, что если реально у вас есть нормальная идея, то реализовать это можно не применяя огромных средст. Спасибо! Я думаю многим сомневающимся она поможет.
Отличная статья, лучший из всех быстрых how to, что я видел по Drupal'у.
Но все-таки с созданием нестандартых фишек у Drupal'а имеются некоторые трудности. Во-первых, сделать свой тип информационной единицы (статьи, описания продукта и т. д.) сложно. Приходится ставить дополнительный модуль, который создает дополнительные таблицы для нужными полями для каждой такой информационной единицы. Это мягко говоря отрицательно сказыается на производительности. Во-вторых, ЧПУ делаются далеко не так просто как хотелось бы (а в добавок с ростом сайта, ой простите, социальной сети, начинают тормозить. Недетско.)
Но идея того, что не обязательно иметь много ресурсов для разработки стартапа передана отменно ;)
1) По поводу ЧПУ - делаются буквально в один клик. Причем можно поставить модуль для автоматической генерации ЧПУ по названию материала (в том числе и на русском).
2) По поводу "типов информационных единиц" - надо ставить CCK + Views, работает достаточно быстро (насколько это возможно для универсального решения).
В Drupal'е многое делается в один клик. Но если нужно немного отойти от стандартного вида, то начинаются проблемы. Допустим, если нужно не транслетировать ЧПУ, а переводить на нормальный английский язык, приходится часто лезть в файл конфигурации.
Да CCK бегает шустро до определенного времени; у меня долгое время показатели среднего использования CPU на хостинге вообще по нулям стояли. Но потом, когда количество перешло в качество, пришлось платить на порядок больше, хотя контент прибавился не сильно.
У меня проект на Drupal (ох и намучился я с ним). Жрет рессурсы так, что ни один хостинг не держит. PHP по 50 мег памяти кушает (ну кто такое даст?) + по 600 запросов в базу (это из-за ЧПУ). Сижу на виртуальном сервере с гигом оперативки. Народу всего 500 хостов.
Весь этот геморрой имею как раз от того, что хотел все по-быстрому. Получилось. Но теперь надо искать время, чтобы все переписывать самому с нуля.
Видно вы не пробовали других провайдеров, или в консерватории что-то...
"Проблемы" и узкие места начинают сказываться в Drupal от 5тыс уников(на виртуальном).
Если провайдер вам не выделит под сайт 50 Мб - то его сложно вообще назвать провайдером :)
Ну любит у нас народ строить небоскрёбы лопатами и клоны-хабра на бесплатном хостинге...
А потом удивляются, отчего вдруг Drupal плох и почему народ не посещает такие шедевры. Вы попробовали бы Битрикс, так, для сравнения. Ну, или на крайний случай,привели бы ссылку на сайт. Возможно вам и совет могли бы дать по ускорению.
С такими темпами прогноз на 2008 год для социальных сетей может и не оправдаться, ведь их появится не много, а очень много! И естественно специализированных. Спасибо за статью!
Кстати ждем еще open social и openid 2.0!
Вот решил отметить официальную годовщину на ресурсе 1 топиком.
По 1 топику в год - стараюсь не засорять эфир))
Хотел сразу опубликовать в блог по Друпалу, но тогда карма не позволяла. Перенес сегодня.
Очень интересная статья, спасибо.
Предложения к улучшению: хотелось бы прочитать более подробное хау-ту относительно настройки модулей. Думаю, что у опытных пользователей друпала не возникнет проблем с фразами типа
"Создаем для начала 2 словаря: Вид креатива и Теги креатива. Для первого словаря создаем набор тегов: переводы, подкасты, ссылки..., но тех, кто открывает для себя CMS впервые они могут поставить в тупик.
При прочтении статьи я (как раз такой новичок в друпале) старался параллельно выполнять все ваши инструкции.
Вот, что получилось у меня в конце.
1. Не установился модуль vote_up_down, Не знаю, почему, но cms его не видет.
2. Пока не разобрался, как создать с помощью Views статичный вид главной страницы.
3. Не совсем понятно, как привязать tagadelic к словарям (в самом модуле привязки нет).
Я еще разбираюсь и божьей помощью (и с помощью google), думаю решу эти проблеммы, но думаю, автору статьи следует либо указать вначале статьи тот базис, который нужно знать, для того, чтобы применить изложенный материал на практике, либо больше внимания уделить деталям.
1. А вы поставили модуль Voting API http://drupal.org/project/votingapi до того как пытаетесь установить vote_up_down ?
3. Зайдите в "Блоки" ваши облака тегов по всем словарям таксономии уже там. Остается из только включить.
Добрый день!
1. Сначала я попытался просто установить vote_up_down (я делал все в том же порядке, как изложено в статье). После того, как cms не захотела его устанавливать, я почитал инструкцию по установке и поставил все необходимые и желательные модули. Но друпал все равно не видит vote_up_down... =(
3. Спасибо! Теги настроил.
А сам модуль в Модулях виден? Т.е. возможно ли его там выбрать, или он неактивен. Если неактивен, то возможно не хватает какого то компонента, обычно написано красным.
Столкнулся с той же самой проблемой. Поставил версию модуля, которая находится в разработке ( http://ftp.drupal.org/files/projects/vot… - это ссылка на закачку архива!) и все заработало.
Замечательная статья! Сам почти добрался до такого же результата. Только вот со статьей вы меня опередили.
Один недочёт, вы хоть и указали в прямом эфире тематический блог, но его реализацию не описали.
Насколько я понимаю, тематические блоги на Хабре коллективные, а коллективные блоги в стандартную поставку Друпал не входят. Эта проблема решается установкой модуля Organic Groups (http://drupal.org/project/og).
Да и ещё про BUEditor. Корректно он работает в Опере только над drupal.ru. Стандартная его поставка в Опере не видна. У TinyMCE (3,0 RC) же есть небольшие проблемы с отображением в Firefox, но он вполне рабочий. IE к сожалению не тестировал, так как у меня его нет.
Возможно это ещё зависит от реализации дизайна сайта.
У меня в Firefox 2.0.0.11 (ubuntu-gutsy) при теме оформления spreadfirefox, пропадала левая граница у редактора, хотя правая была нормально видна. В Firefox 3.0 beta1 не видно обе границы (левую и правую).
Opera 9.25 видит редактор полностью.
Всё нашёл проблему!
Всё банально в вёрстке темы.
Если в теме нигде не используется JavaScript, то для корректного отображения в заголовок шаблона page.tpl.php нужно добавить одну строчку: <?php
print $scripts
?>
Да. Я уже выше написал, что это в теме проблема. Но добавление того кода не помогло, то есть помогло, но не так. Показываться он стал корректно, но всё написанное в нём пропадает. В стандартной теме всё отлично.
to blv:
Ну ещё бы, вы же счастливый хабрачеловек.
Ок, спасибо!
Мне показалось, что Tracker, это к понятию User Tracker(-ing) - т.е. логирование откуда и куда по сайту перемещается пользователь. Ошибся.
А мне в качестве основы нужен сервис закладок (а-ля del.icio.us, Memori.ru). Но свой, со своей базой - хочу для себя утилитку написать. Пока видел только встроенный в WordPress Blogroll. Но он убогий, безтеговый, нет нормального вывода (со страницами, сортировками, поисками и др.), уже замучался его дорабатывать.
Есть что-то такое на примете?
на самом деле, для человека с опытом Друпала в полгода-год, это плевое задание. Не нужно путать создание сайта социалки и работу над ее дальнейшей жизнью
ну если взять какие-то базовые кривовато работающие модули с кривым переводом и просто собрать в кучу, то конечно. в реальной жизни придется это все серьезно обрабатывать напильником, что явно не вписывается в $300 и 7 дней :))
P.S. если не ошибаюсь, тот же vote up/down спокойно двет голосовать за себя и не подозревает что есть какие-то сроки голосования. а попробуйте настроить userpoints, что-бы он давал роли после набора определенного количества поинтов, а потом добавьте пару новых ролей и посмотрите что произойдет.
Как разработчик на Друпале, с последней мыслью вполне согласен, иногда появляются трудные моменты, которые наверняка проще оставить или обойти. У меня они тоже повлялись и я понимаю о чем вы :) Но, сугубо мое личное мнение, лучше уж попытаться поправить что-то одно и по возможности отправить патч в комьюнити (чтобы хоть как-то надеятся на апдейты), чем писать _все_ с нуля. Если вы фрилансер, то конечно проще сделать что-то свое и сбыть это заказчику. Но это превращается в головную боль для заказчика, которому потом и прийдется поддерживать ваше творение.
Как лицо, побывавшее в шкуре заказчика, я уж лучше прийму проект на Друпале, чем самописный движ, какой хороший бы он ни был. Почему? Потому что я всегда могу пойти на drupal.ru (drupal.org) и дать денег, шарящим в Друпале людям, чтобы они поддерживали проект.
Ну а на счет денег на хостинг и на "поддержку" - это уж забота заказчика и его идеи. Если идея гиблая, то кто же виноват, что 40К юзеров не могут обеспечить денег на плату поддержке и тем более на хороший хостинг.
Почитал побольше про Drupal для расширения кругозора.
Его большой плюс в том, что можно собрать функциональный сайт без умения программировать, как такового.
Однако, у Drupal есть минусы:
1. Cложность в освоении (из-за перегруженности настройками, ИМХО).
2. Стрессоустойчивость к нагрузкам. Система сложная, реализуя свои конкретные цели при помощи Drupal, пользователь (не ведая того) создает множество не нужных таблиц и запросов. Поэтому, если сравнивать нагрузку на сервер, то при больших потоках посетителей, Drupal, разумеется, будет нагружать сервер в несколько раз (а то и десятков раз) больше, чем написанная собственноручно CMS под конкретные цели.
Пример уникальной самописной системы - Хабр.
Пример сайта на Drupal - http://venividi.ru.
С виду сайты очень похожи по функциональности и даже просто внешне.
Но Хабра летает (не в последнюю очередь благодаря НЛО) при 40000 посетителей в день, а VenVidi подтормаживает только лишь при около 600 посетителей за сутки.
не знаю как сейчас, но в свое время venividi.ru хостился на каком-то довольно хилом сервере, так-что я бы не стал сравнивать вот так, в лоб. тут недавно активно обсуждался widea.mobi. не знаю какая была на него нагрузка, но от "хабраэффекта" он помоему не загнулся.
кроме того, друпал имеет кеш и его можно научить в тяжелые минуты жизни не лазить в базу, а отображать некоторые не критичные блоки из кеша.
по поводу сборки сайта без умения программировать. с друпалом получается так, что за 20 процентов времени строится 80 процентов функционала. остальные 80 процентов времени идет на борьбу с тривиальными проблемами, которые, благодаря этой универсальности не так просто решить.
модули неплохо работают в накатаной колее, но стоит отойти на шаг в сторону и сделать что-то нестандартное, начинают лезть такие хитрые глюки, которые отловить в этой универсальной среде и в чужом коде, ой как непросто.
вывод: начиная какой-то более-мение не типовый проект, обзаведитесь, как минимум, дебагером. без него там делать нечего.
большое количество модулей действительно порождает бешенное количество запросов к базе. например: один модуль выгребает список пользователей, а другой идет по этому списку и для каждого пользователя обращается к базе и достает какую-то дополнительную информацию. тоесть делает то, что в своем коде можно было сделать одним запросом.
тут, как по мне, только один выход. собрать на базе модулей скелет, а потом просто переписывать и оптимизировать такие места, забыв о какой либо совместимости с новыми версиями. в любом случае для нетипового проекта вам не хватит стандартной функциональность и прийдется дописывать что-то свое.
один из моих проектов держит 10К в день на хилом хостинговом плане за 8 баксов, второй проект на VPS'е недавно выдержал digg-эффект. Если разработчик имеет опыт в работе с Друпалом, то он в стотоянии сделать так, чтобы система летала _стандартными средствами_
как tutorial - хорошо, но что будет со старт-апом на друпале, если он таки обретет популярность? производительность хромает, особенно хорошо это видно на западных говно-хостингах...
а я вот ничего не понимаю в технике, зато отвечаю за контент. наша группа получила реальный заказ "создать самозаполняющуюся сеть на 20-30 тысяч пользователей с оригинальным контентом". все придумали, кроме одного - какое содержание будет интересно публике, чтобы через 2 месяца было точно 30 тысяч человек зарегистрированных активных пользователей. теперь ждем и сследования от социологов, а они ждут от еще кого то. все говорят, что "публика хочет чего то простого, про жизнь и не одноклассников". и ждут чуда. еще говорят о национальном стремлении к духовности против иностранной тенденции к практицизму. наверное, будем делать проект для тех, кто путешествует автостопом. у них точно нет не будет выхода в сеть где нибудь в глубинке, зато интересно.
самим интересно что выйдет.
Статья познавательная для новичнов, описаны просто и коротко базовые модули, зачет.
Однако в целом, данная функциональность подойдет только для обществ маленькой локалки/небольшого коммьюнити. Для более-менее большого проекта данных телодвижений совсем недостаточно.
1) Одним из основных требований к соц.сетям - возможность общения = для большинства сейчас форум. Сказать что в друпале он ужасный - ничего не сказать. Я еще ни разу не видел нормального родного форума на друпале, и они его и не собираются улучшать похоже. Поэтому надо ставить какой-то шлюз в другие нормальные форумные движки (благо этого добра навалом).
2) Для соц.сетей необходимо ставить модуль Organic Groups, которые реализует функционал групп.
3) Дизайн. Конечно, для начала может сойти и стандартные шаблоны, однако для серьезного проекта необходим самописный подходящий именно вам дизайн. А это, скажу я вам, в друпале (по крайней мере 5) - не совсем тривиальная вещь. (В 6-ке кстати с этим чуть получше).
4) Производительность. Все, что универсально - отдает в жертву производительность. Получаем в среднем на загрузку одной главной страницы залогиненного пользователя - больше 100 запросов к базе. И вот тут уже без спецов не обойтись, а они задарма работать не будут. В друпале массу всего предпринять можно (начиная от локализации вручную, и заканчивая переписыванием всех блоков под себя).
И много еще каких моментов сказать можно.
Как итог: Если задумано получить серьезную соц.сеть - надо очень серьезно подумать, а нужен ли друпал, в конечном итоге все равно придется очень немало заплатить кодерам и дезигнерам, и оптимизаторам. Для начинающего проекта с самым базовым функционалом без каких-либо капиталовложений - самое то.
По форуму не согласен. Он по умолчанию другой. Есть модуль (по моему, flatforum), для того, чтобы сделать его "нормальным". Есть несколько модулей (или патчей) для интеграции (база пользователей) с популярными движками. Сейчас главная возможность общения, особенно в соц. сетях - блог :)
Ой, тут даже как то и комментировать сложно. Полное незнание предмета(Drupal)...
1) Родной форум.... Есть несколько альтернатив, и родной настраивается\подтачивается как угодно.
2) Не думаю, что этот модуль было необходимо включать в ядро. А вдруг мода завтра пройдёт? А мусор останется...
3) Перенос грамотно созданной вёрстки в исключительных(подчёркнуто 2 раза) случаях занимает 2-3 дня. А в 80-90% настолько тривиален, что его делают школьники 12-13 лет
4) Тут согласен на все 100%: Ездить удобне на легковухе, а песок на камазе и ничего с этим не сделаешь...
Судя по скромному списку: http://www.drupal.ru/high-traffic-sites-…, практически без вложений начинающие небольшие фирмы сделали какие то поделки со скромным функционалом для себя...
В очередной раз вспомнились те времена когда у Drupal не было инсталлятора, и соответственно пользоваться им могли люди хотя бы немного но квалифицированные, тогда было меньше глупых разговоров про 200 долларовые мега проекты.
Клон хабрахабра, вконтакте и ютуба можно сделать с нулевым бюджетом и без друпала.
А если в поле "ответить" сделать хотя бы 5 строчек и прописать нормальные стили для тега PRE, то в плане юзабилити этот клон будет на порядок лучше.
Другое дело, что раскрутить его до оригинала будет несколько сложнее и друпал ничем тут не поможет.
Оптимистичнее надо быть, люди-теоретики. Не все проекты стартуют в первый день или за первый месяц. Нужно ждать годы (вспомним хотя бы как стартовал Гугл и на каком домене), чтобы проект начал приносить прибыль. И кидаю виртуального респекта :) тому, кто уже запустил свой, хоть и небольшой пока стартап и пытается что-то и как-то делать, а не ждать знака(вдохновения) с Космоса.
Mio, может это и не Drupal в чистом виде. Но посмотрите http://web.archive.org/web/2006070316490…
Лента - Agregator
Статьи - это тип story
Группы - organic groups
И так далее. Несколько простых перестановок в исходном коде, дабы убрать приметы Drupal и всё!
А вот нынешний Хабр, уже сильно отличается от Drupal.
Я довольно молодой участник Хабра, поэтому не помню что было во время хабрареволюции. Помню только зелёную страницу.
Как мне кажется от основы Drupal'a отказались именно тогда.
ВебАрхив не врет, действительно очень похоже на Друпал.
А почему бы и нет, для стартапа или воплощении идеи Друпал то что надо. Не надо на первое время заморачиватся на разработке CMS, а работать с чистой идеей и попыткой ее реализации. Потом уже если получится, можно и дальше либо развивать Друпал, переписывая часть для уменьшения нагрузки на сервер при высокой посещаемости как это сделали таки проекты как: www.observer.com, popsugar.com... и т.д. либо все переписать учесть все ошибки в реализации, внести свежие идеи и получить CMS ХабраНЛО :-)
Спасибо за статью! Очень информативно и полезно.
Пара вопросов:
1) я правильно понял, "Прямой эфир" делается с помощью Views?
2) очень жду продолжения - о том, как делаются комьюнити.
Скажи, пожалуйста, разве "переводы, подкасты, ссылки" не удобнее оформить как общественные блоги (модуль OG), чем как термины в дополнительном словаре?
Скажем, здесь на Хабре "переводы" - это предопределенный администраторами общественный блог?
Спасибо за комментарии.
Материал готовился не по ходу осуществления проекта, я просто зашел в свой хабрацентр и увидел, что в тот день исполнился ровно год со дня регистрации ника на хабре. Вот и решил опубликовать что-нибудь полезное. Всё написанное - воспоминания по отдельным кускам работы над проектами.
Судя по высказываниям, наиболее интересны инструменты "социализации" ресурса.
Постараюсь черкнуть пару строк на эту тему на следующей неделе.
P.S. Отступления про инвесторов и Оруэлла навеяны правдой жизни.
Рискую быть забаненым,но все же, хабралюди, скажите почему именно Drupal ? никакая другая CMS не дает функционал необходимый для соц.сети хабрауровня?Или просто потому что зарекомендовала себя в решении подобных задач?
господа, кто поможет?
Прикрутил BUEditor. Понравился, но работает как-то криво.
При написании блога и при написании первого комментария к статье он включен. Но если в статье есть уже каменты, то включается встроеный редактор, но ни как не BUEditor.
Все настройки перерыл.
Кто-нибудь сталкивался с передачей параметров из Panel Pages во Views? На английском моя проблема выглядит так: I am completely lost, too, in the matter of passing argument from Panel Pages to my Panel View. I've setup and tested sweetly in View Page mode a simple block view called "Tag" with argument = Taxonomy: Term ID. This View displays certain nodes from the "Tag" free-tagging vocabulary. Than I've wrapper my "Tag" View with Panel View also called "Tag" with Argument source: = "From panel argument| and Panel argument: = "First". Finally, I create a Panel Page called also "Tag" with Path: = taxonomy/term (or taxonomy/term/% - I've tested a bunch of cases, and not only with Path:). In Context -> Arguments of my "Tag" Panel Page I select "Taxonomy term", and than set up Argument type: to "Term ID". Also I check my "Tag" Vocabulary on the "Taxonomy term" option pane. That's it!
The last step is adding "Tag" Panel View to the Panel Page and testing it with normally working URLs like taxonomy/term/tid. Two types of behaviour are possible on this stage: "Tag" Panel View displays either nothing or all of my content, either grouped by Summary type defined in Views argument configuration, or just a simple list View. What is surprising that Panel Page displays taxonomy term name in it's header, but it seems that this argument is not passed to the Panel View -> View. What am I doing wrong?
Сделаем это по-быстрому – habrahabr за пару часов