Search
Write a publication
Pull to refresh
0
0
Ксения @Astarta

User

Send message

[Ctrl+Enter] — шорткат для быстрой отправки форм в Drupal

Reading time1 min
Views1.6K
Как упростить отправку формы в системе Drupal?

На сайте Ф. Потрошителя используется шорткат [Ctrl+Enter] (по ссылке можно проверить его в работе).

Можно отправлять практически любую форму (будь то форма редактирования записи, форма комментария, или форма настроек в админке), не прибегая к мышке, не нажимая саму кнопку «Пуск» или ее аналог — достаточно нажать [Ctrl+Enter] на любой странице сайта, и это уменьшает нагрузку на руки пользователя.

Как это сделано?


Читать дальше →

Drupal Forms API. Часть 1 — для Drupal 6

Reading time4 min
Views8.5K
image
Данная статья предназначена для тех, кто уже знаком с написанием простейших модулей, и хотел бы разобраться в принципах работы FAPI (Drupal Forms API) «на пальцах». В ней, мы разберем основы друпаловского программного интерфейса создания форм, и составим небольшой модуль, возвращающий введенное имя при помощи аяксового движка Друпала, именуемого AHAH. Как раз для этой простой формы нам и понадобится FAPI.

Зачем статья на эту тему? В сети, и на Хабре в частности, есть несколько примеров модулей с FAPI. Для меня в прошлом представляло определенное затруднение разобраться в том, как создаются формы — и такое объяснение «на пальцах» очень бы мне пригодилось. Я не могу вернуться в прошлое — но могу помочь тем, кто испытывает подобные затруднения.

Статья соответствует 6.x версии Друпала. Я планировал в статье осветить параллельно и 7 версию — но отличие в API существенно, поэтому я опишу тот же фунционал для 7 версии API во 2 части статьи.

Читать дальше →

Кэширование на Drupal

Reading time3 min
Views18K
Недавно я столкнулся с тем, что мой сайт на Drupal стал тормозить. Причем, сайт не особо то и посещаемый. В конечном счете, проблема решилась переходом на другой хостинг (shared-хостинг от Руцентра не выдерживал никак), но рассказать я хочу не об этом, а о проблемах ускорения Drupal путем кэширования, с которыми я столкнулся.

Итак, какое инструменты для ускорения существуют на Drupal?

Читать дальше →

Отправка письма с прикрепленным файлом из Drupal

Reading time4 min
Views6.5K
На прошлой неделе один из клиентов захотел иметь возможность отправлять из админки письмо свом подписчикам с возможностью прикрепления файла. Конечно, можно было сделать закачку файла из формы на сайт и отправку в письме ссылки на скачивание файла, но, помимо определенных плюсов такого решения, очевидный минус, а именно накапливание ненужных файлов на сервере, заставил меня даже не предлагать клиенту такое костыльное решение.
Читать дальше →

За что я люблю Drupal

Reading time11 min
Views26K
По моему скромному мнению, CMS Drupal наиболее близко подошла к понятию «идеальная CMS». Очень многое в Drupal сделано для облегчения жизни разработчиков. В этой статье мне хочется рассказать об основных моментах, которые мне нравятся в Drupal. Материал рассчитан на пользователей, мало знакомых с Drupal. Иногда мне придется говорить очень простые вещи, но именно из-за этих простых мелочей и складывается очень приятное впечатление от Drupal.

Сразу стоит предупредить, что Drupal это не готовое решение. После установки вы не получите настроенную и работающую социальную сеть, интернет магазин и т.д. В Drupal действует принцип «предоставление возможностей по мере необходимости». Именно поэтому на Drupal не делают сателиты и ГС в промышленном масштабе и, возможно, именно поэтому количество рабочих сайтов на Drupal уступает таким CMS как Joomla и Wordpress, любимым CMS строителей сателитов и ГС.

Drupal предоставляет удобные инструменты для разработки сайта, который нужен именно вам. Создатели Drupal понимают, что каждый сайт индивидуален и предоставление готового решения было бы не правильно, вместо этого они предоставляют инструменты для разработки. Весь Drupal и все его модули пропитаны этой идеей. Отсутствие ограничений и множество настроек позволяют разработать сайт под конкретную задачу легко и просто.
Читать дальше →

Drupal 7: вести с фронта

Reading time3 min
Views4K
Наконец разработка Drupal 7 дошла до состояния, когда результат можно поставить и попробовать (до этого много раз я пытался установить текущий билд, но ошибки убивали надежду еще до окончания установки). Так что всем интересующимся рассказываю, что нового ждет нас в Drupal.

Прежде всего, немного о цикле разработки. В начале сентября был объявлен Code Freeze: остановился прием патчей, добавляющих или изменяющих функциональность и API Drupal. После этого до 15 октября принимались патчи строго ограниченной тематики (чтобы довести начатое до конца), а теперь в ход идут только багфиксы. До релиза еще несколько месяцев, проблем много, но есть надежда на то, что внедренные к этой версии фреймворки автоматического тестирования помогут быстрее их исправить. В этом году релиза не будет точно, да и бета вряд ли поспеет.

Основной состав изменений для Drupal — это подстройка под хотелки пользователей, интегрирование функциональности очень популярных «апишных» модулей в ядро системы и шлифовка самых отвратительных углов ее программных интерфейсов. Направление «полу-фреймворк, полу-cms» остается неизменным.

Итак, что увидят юзеры:
Читать дальше →

Начинаем работать с Drupal: полное практическое руководство (часть 2)

Reading time6 min
Views33K
Продолжение первой части.

Создадим страницу вакансий с помощью модуля Views

Хотя вы и можете самостоятельно писать запросы к базе данных для чтения содержимого, дело это долгое и сложное, даже с учетом мощного API Друпала.
Для построения страницы со списком вакансий мы задействуем Views — модуль, позволяющий извлекать содержимое из базы данных вообще без написания кода.
Попросту говоря, Views — это пользовательский интерфейс построения MySQL-запросов. Views — это невероятно мощный модуль, но порой его бывает трудно освоить начинающим пользователям. Лучший способ разобраться с Views — немного с ним поиграть, чем мы сейчас и займемся.
Читать дальше →

Drupal как MVC Framework

Reading time3 min
Views6.3K
«Архитектура программного обеспечения» — эти слова обычно пугают большинство веб-разработчиков фрилансеров. 3-Tier, MVC, Singleton, Factory… «Стойте! прекратите! зачем всё усложнять?» — сказали бы вам в ответ, — «Вот есть же, например, Drupal — темку сверстали, модули докрутили-настроили и в принципе сайт готов.» Действительно, CMS Drupal предоставляет отличную платформу для быстрой разработки, требуя при этом минимальное количество вложенных усилий.

Многие наверняка слышали о таком понятии, как «идеология Drupal» — это как раз то, благодаря чему данная CMS стала такой удобной и эффективной платформой. Но возможно немногие догадываются, что в основе упомянутой идеологии лежит широко известный паттерн MVC, или Model-View-Controller.

Читать дальше →

Начинаем работать с Drupal: полное практическое руководство (часть 1)

Reading time17 min
Views206K
Здравствуйте!

Выношу на суд хабраобщества перевод замечательной статьи Getting Started with Drupal: A Comprehensive Hands-On Guide. Данный материал является незаменимым руководством для начинающих друпальщиков, поскольку в нем рассматриваются не только установка и базовые принципы, но и два из «трех китов» Друпал-сайтостроения — Views и CCK. Самое приятное, что вся статья посвящена практическому созданию полезного сайта (доски объявлений). Право, во времена Друпала 4.7, когда я только начинал с ним знакомиться, о таких подробных и внятных руководствах можно было только мечтать.
Читать дальше →

Twitter использует Drupal

Reading time2 min
Views3.4K
Начиная с сегодняшнего дня, сообщество разработчиков Twitter работает на Drupal! Проверьте это на http://dev.twitter.com.

Это большое дело для Drupal — не каждый день один из самых передовых технологических стартапов переводит один из своих сайтов на Drupal. В Acquia мы работали с Twitter над их сайтом, но не могли говорить об этом в течении долгого времени. И я рад, что мы наконец можем рассказать об этом, потому что это крупный пример использования Drupal.

Twitter используют 750000 разработчиков, создавших около миллиона приложений, которые делают по 13 миллионов запросов к API каждый день. Таковы некоторые удивительные цифры! У народа много требований, как нам известно в сообществе Drupal.
Читать дальше →

OpenID с человеческим лицом в Drupal

Reading time5 min
Views2.7K
Начиная с 6 версии Drupal, в комплекте с системой идет модуль OpenID, который обеспечивает авторизацию через OpenID протокол. Но у модуля есть довольно серьезные проблемы. В частности, сам модуль реализует антипаттерн, описаный Иваном Сагалаевым в своем блоге. Вторая проблема модуля, с точки зрения юзабилити — это непрозрачная авторизация по OpenID, а если быть точнее, то при первой попытке авторизации через некий OpenID аккаунт, система просит заполнить некоторое количество полей.

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

Попробуем улучшить юзабили OpenID авторизации

Оптимизация Drupal

Reading time17 min
Views30K
Вступление
Drupal – довольная распространённая CMS и это отложило на неё свой отпечаток – базовая поставка Drupal является не готовым решением для определённого вида сайта, а фундаментом для его создания. Существуют “сборки” на базе Drupal специализированные под определённые виды сайтов, например: новостные сайты. Но подобные сборки в данный момент мало распространены и плохо поддерживаются. В связи с этим при создании Интернет сайта на основе стандартной поставки Drupal используется большое количество готовых дополнительные модулей и тем оформления для Drupal, либо разрабатываются новые модули и темы специально для создаваемого Интернет сайта. Последним этапом работ по созданию сайта является его оптимизация, которую условно можно разбить на 4 шага:
  • встроенная оптимизация Drupal;
  • оптимизация Drupal с помощью модулей;
  • оптимизация конфигурации и обслуживания Drupal;
  • оптимизация сервера.

Читать дальше →

Импорт сайтов из разных CMS на Drupal

Reading time6 min
Views6.5K
Я думаю, что у каждого, кто использует Drupal в своей работе, периодически возникают задачи переноса сайтов, работающих на других CMS, или просто задачи импорта данных на платформу Drupal.

Такие задачи периодически возникают и у меня, но раньше я весь импорт делал написанием скрипта на php, который просто записывает нужную информацию прямо в БД Drupal. Я, конечно же, знал, что есть механизмы, которые позволяют добавлять данные, используя API Drupal, но как-то разбираться с ними было лень, да и скрипт для записи сразу в БД пишется довольно быстро.

Когда сайт на Drupal достаточно простой и на нем не используются какие-то сложные модули (и их мало), то такой принцип импорта (прямая запись в БД) себя оправдывает. Но что делать, когда нужно перенести данные на очень сложный сайт со множеством модулей и их сложной настройкой?

В этом случае очень сильно поможет знание API Drupal'a, т.к. всю работу по правильному апдейту всех взаимосвязанных таблиц с учетом всех хитрых настроек за нас сделает Drupal.

Как оказалось, использование API Drupal'a не то чтобы просто, а очень просто. Про это и будет сегодняшняя статья.
Читать дальше →

Drupal Forms API. Часть 2 — для Drupal 7

Reading time2 min
Views16K

Вторая часть статьи содержит отличия, свойственные Drupal Forms API для версии 7. Эта часть статьи публикуется как открытый топик, видный не только подписчикам блога Drupal. Но свои дальнейшие статьи (по созданию тем) буду публиковать как закрытые статьи блога, чтобы не мешать тем, кому Drupal не интересен.

В прошлой статье, мы разобрали функционал простого модуля, который возвращал введенное имя в форму при помощи AJAX (именуемого в Друпале 6 «AHAH»). Теперь очередь версии 7.

Читать дальше →

Управление задачами и делами с 42tasks

Reading time2 min
Views4.3K
Хочу представить Хабрасообществу наш новый проект — 42tasks.com, кросс платформенный GTD сервис. Почему 42tasks? Потому что все более менее приличные домены уже были заняты а "42 — Ответ на главный вопрос жизни, вселенной и всего такого".


Читать дальше →

Подборка крупных сайтов написанных на Drupal

Reading time1 min
Views31K
Я очень удивился тому, что в нете мало хороших каталогов сайтов написанных на Drupal. А ведь при разработке крупных порталов хочется ориентироваться на те сайты-лидеры, написанные на Drupal, которые уже приобрели известность.

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

Is this site built with Drupal?


С помощью его и нескольких других источников я собрал небольшую подборку сайтов написанных на этой очень популярной CMS.
Читать дальше →

Ситуация с IPv4

Reading time4 min
Views2.9K
Существует некоторая путаница с тем, закончились IPv4, «вот-вот закончатся» или их ещё очень много.

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

Источник всея IP


Те, кто скажет, что источником IP-адресов является IANA, будут немного неправы. IANA, как и RIR'ы, подчиняются полиси, которую принимают консенсусом среди всех участников интернета. (Для тех, кто не знает, кто есть IANA и RIR, см ниже). Сообщество приняло в качестве протокола IPv4, вместе с его «номером сети» и «широковещательным адресом», концепцией агрегации маршрутов, сегментами серых и мультикаст-адресов и т.д. Именно оно (сообщество) определяет правила выделения адресов и политику фильтрации. И именно оно делегировало IANA приличную порцию адресов. (не все /0, но весьма большой кусок — больше /1). И уже адреса из него раздаёт IANA.

Кто такие «члены сообщества»? Чисто формально — любые люди. На практике: «любые люди» — это люди, способные связно говорить о процедурах выделения (allocation) и назначения (assignation) адресов, понимающие как реализуется multihomed, и что такое нетранзитный частный атрибут у комьюнити. То есть, де-факто, сетевые администраторы и noc'и крупных операторов связи, крупных хостеров, очень крупных организаций и т.д. Эти сообщества (несколько произвольно) разделены по регионам. Наше (европейское) сообщество называется RIPE, расшифровку на французском я не помню. Таких сообществ несколько, и они определяют во-первых локальные правила выделения адресов, во-вторых, глобальные правила.
Читать дальше →

Инструменты поисковиков для продвижения сайтов

Reading time4 min
Views9.2K
В предыдущих статьях мы рассказали про базовые принципы поисковой оптимизации, при выполнении которых можно достаточно хорошо улучшить позиции своего сайта в результатах поиска.

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

Данный обзор инструментов идет в продолжение первых двух статей (см часть 1 и часть 2)

Сейчас мы разберем такие важные вопросы как:
  • Присвоение региона сайту
  • Формирование особых сниппетов
  • Обзор самых важных слов сайта
  • Анализ мета-описаний страниц сайта
  • Проблемы индексации
Эти инструменты хорошо известны профессионалам, но далеко не все, кто самостоятельно занимается продвижением своего сайта, знает о них. Эта статья именно для них.
Читать дальше →

Авторизация через ВКонтакте

Reading time2 min
Views62K
Сколько процентов пользователей вашего сайта являются также пользователями ВКонтакте? Как по вашему, сколько человек ничего не пишут / комментируют / добавляют (нужное подчеркнуть), лишь потому, что им лень регистрироваться на еще одном непонятном сайте в 100й раз? Предлагаю ответить для себя на эти 2 вопроса, прежде, чем ругать ВКонтакте и Open API.

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

Вряд ли я открою что то новое, но если, хотя бы еще 1 сайт станет немного удобнее после этой статьи — значит я не зря потратил свое время на написание этого текста.
Читать дальше →

Галерея средствами Slimbox 1.4

Reading time1 min
Views4.9K
Slimbox — это небольшой (7kb) альтернативный клон популярной js-библиотеки Lightbox.
Написан с использованием ajax-фреймворка mootools.

На бельгийском сайте опубликован мануал по созданию галереи средствами Slimbox.

Подробности cмотреть здесь (демо, мануал, исходники).

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity