Что вы делаете с профилями заблокированных пользователей ?
Прислано: Crea
пн, 05/12/2011 - 16:42
Показываете ли вы профиль заблокированного пользователя ?
Показываете ли вы фотографии, записи в дневниках и другие данные заблокированного пользователя ?
Особенно интересна реализация в контексте обработки персональных данных.
К примеру, если пользователь заблокирован навсегда, то он не может самостоятельно удалить свои данные с сайта. Таким образом, возникает дополнительная проблема идентификации пользователя при обработке запросов на удаление по эл.почте.
Вообще, такое впечатление, что полная блокировка пользователя, при которой он не может даже войти на сайт - технически и организационно ошибочное решение. Более разумным был бы режим "только для чтения", в котором пользователь не может публиковать контент, но может удалить свои материалы/персональные данные, а также самостоятельно удалить свою учетную запись (такая возможность требуется законодательством некоторых стран). Это можно реализовать через специальные роли (когда роли "зарегистрированный пользователь" дается минимальное кол-во прав), однако, такой "заблокированный" статус будет плохо интегрирован с модулями Друпала.
Проблема дублированного контента при удалении/перемещении страниц
Прислано: Crea
вс, 20/11/2011 - 07:19
Широко известен факт, что дублированный контент может возникать за счет произвольных GET параметров. Однако, страницы с такими параметрами просто так не попадают в индекс, поэтому редко создают проблемы. Можно представить вариант атаки на сайт путем прогона в индекс ПС таких дублированных страниц, однако в данном обсуждении хочу обсудить немного другую проблему, вызванную вполне естесственными причинами.
Представим следующую структуру URL:
story/travel/
story/travel/india
Если в определенный момент на сайте пропадает страница story/travel/india, в некоторых случаях данный URL начинает обрабатываться кодом, отвечающим за story/travel. Это не касается, например, случаев цифровых идентификаторов - там корректно работает проверка аргумента.
Таким образом, если значительное количество страниц удаляются, они выдают не 404 а родительский пункт меню, и сайт может пострадать от санкций за дубли. Как минимум, увеличивается нагрузка от роботов ПС по обходу всех этих дублей (на слабом хостинге может и сайт положить).
Может быть кто-то находил глобальный способ отучить Drupal такой обработке URL ? Вставлять проверку URL для каждой страницы отдельно, мне кажется, не очень удачный вариант.
Теги (они же метки материалов) в постах для сайтов-сообществ с неопытными пользователями
Прислано: Crea
пн, 31/10/2011 - 06:56
Есть, грубо говоря, сайт "для блондинок", на котором долгое время использовались метки-теги (словарь с неограниченным количеством терминов) в постах. Столкнулся с несколькими серьезными проблемами:
- пользователи не понимают, для чего нужно помечать свои материалы
- пользователи не понимают, как это делается правильно, и пишут вместо осмысленных, коротких меток целые фразы или предложения
- пользователи игнорируют это поле, поскольку оно не обязательное
- пользователи используют теги совершенно не соответствующие теме поста (неспециально, я уверен)
В итоге получается:
- В словаре создается бардак. Модуль
Unitag помогает с ним бороться, но не решает проблему полностью, т.к. борется с последствиями, а не причиной - Лишь часть материалов имеет метки, в итоге поиск по меткам дает лишь очень неполную картину и не заменяет обычный поиск
- Часть материалов имеет некорректные метки, что приводит к замусориванию поиска по меткам
Сейчас вот думаю, может вообще нафиг эти теги спрятать (грубо говоря, оставить для поисковиков). Есть еще модуль
Community Tags где можно дать возможность активистам помечать чужие материалы, но это создает новый слой проблем - "какого хрена мой пост в дневнике пометили словом Х ? Уберите сейчас же!".
[Модуль] Избавляемся от лишних запросов модуля FileField
Прислано: Crea
вс, 25/09/2011 - 11:34
Сделал модуль
FileField Load Multiple, оптимизирующий загрузку информации о файлах при отображении полей FileField/ImageField с помощью Views. Модуль избавляется от 1 лишнего запроса для каждого файла/изображения, таким образом больше всего будет полезен сайтам, отображающим много файлов на странице - фотогалереи, каталоги файлов.
Использование модуля
- Проверяем, есть ли в нашем view связь данных поля с таблицей файлов. Если нет, добавляем (она обычно имеет вид "Content: [Название поля] ([машинное имя поля]) - fid")
- Добавляем поле FFLM Preloader из группы File (Файл) и сохраняем view. Все, теперь view генерирует меньше запросов.
Модуль интеграции инструментария для работы с изображениями GraphicsMagick
Прислано: Crea
вт, 20/09/2011 - 04:46
Сделал модуль
ImageAPI GraphicsMagick интегрирующий инструментарий для работы с изображениями GraphicsMagick c ImageAPI. С помощью модуля можно применять GM для обработки изображений, например в модуле ImageCache и ImageCache Actions (вместо встроенного в php GD2 и ImageMagick).
На данный момент в нем интегрированы простейшие действия (изменения размеров, кадрирование и т.д.). Также реализовал поддержку наложения водяных знаков с помощью этого модуля в модуле ImageCache Actions: http://drupal.org/node/1284668 .
Больше всего модуль будет полезен программистам, способным написать свое действие (image action) но также подойдет и обычным пользователям для снижения нагрузки на хостинг и ускорения "тяжелых" операций с изображениями (естесственно, при условии, что вы можете установить сам GraphicsMagick - не на каждом хостинге это доступно).
Видел на Д.ру уже подобную тему, но там речь шла о модуле для D7. Этот модуль - только для D6.
Сравнение с ImageMagick ImageAPI инструментарием.
- Этот модуль не использует GM как IM (GM частично поддерживает команды IM). В целом, я считаю достоинством то, что это отдельный ImageAPI инструментарий. Например, этот модуль знает про существование gm утилиты и ее команд, и может запускать другие команды gm, а не только convert. Кроме того, GM на одних и тех же командах может вести себя не так, как IM, потому что его исходный код отличается.
Проекту Node Comments нужна помощь
Прислано: Crea
пн, 05/09/2011 - 22:01
Проекту
Node Comments требуется помощь. Ветка 3.x проходит жесткий рефакторинг: исправлено много багов, вычищено API и изменена архитектура модуля. Также появилось несколько новых фич.
В результате таких масштабных изменений всегда пролазят новые баги. Именно в борьбе с ними и требуется помощь.
Короче говоря, требуются тестеры ветки 3.x
Более подробная информация об изменениях на странице проекта.
Тормозит трекер ? Есть решение - Views Tracker !
Прислано: Crea
вс, 04/09/2011 - 09:38
Сделал модуль
Views Tracker, позволяющий создавать высокопроизводительную замену родному трекеру из ядра. Модуль основан на идеях модуля Tracker 2, но по сути является абсолютно новым, написанным с нуля проектом.
Актуальность модуля можно почувствовать на своей шкуре здесь, на Drupal.ru, где трекер, похоже, кешируется, что убивает основную идею - быстрое отслеживание изменений.
Чтобы получить максимальный прирост производительности от использования модуля, нужно создать view по аналогии с tracker, встроенным в Views, но использовать поля, аргументы, фильтры и критерии сортировки из групп модуля Views Tracker везде, где это возможно:
- для общего трекера используйте группу Views Tracker
- для трекера пользователя используйте группу Views Tracker User
Список дополнительных фич и различий между Views Tracker и Tracker2:
- В отличие от Tracker 2, Views Tracker имеет индекс по типу материала. За счет этого можно создавать разные трекеры для разных групп материалов без потерь скорости.
- В отличие от модуля Tracker 2, Views Tracker имеет поддержку модуля Node Comments
- Views Tracker содержит значительно меньше кода, чем Tracker 2.
- Tracker 2 не поддерживается - значительные изменения происходят за кадром. Видимо, сказывается то, что модуль используется на Drupal.org
Опрос: за что вы готовы платить при использовании Друпала ?
Прислано: Crea
чт, 04/08/2011 - 13:29
Интересно узнать, за что готовы платить местные пользователи.
Если отвечаете, пожалуйста, добавьте комментарий: какие шаги вы предпринимали в данных направлениях, какие трудности возникали и чем все закончилось.
Спасибо.
Дополнение к модулю Node Gallery: галереи по умолчанию
Прислано: Crea
чт, 28/07/2011 - 06:02
Default Node Gallery - дополнение к модулю
Node Gallery - создает галерею по умолчанию для каждого юзера (и для каждой пары тип_галереи - тип_изображения) при входе его на сайт.
Так же позволяет управлять доступом к галерее по умолчанию, чтобы юзер случайно ее не удалил.
В общем, это должно работать как функция "неразобранные фотки" на многих фотосайтах.
Модуль пока сыроват - возможны ошибки, о которых прошу сообщать в issue queue модуля.
Капитаны-Консультанты
Прислано: Crea
сб, 23/07/2011 - 19:46
Иногда офигиваешь, какие "инновации" выдают "Drupal-консультанты".
Если б не "Sponsored by Duo Consultiing" я бы подумал, что человек учится программировать.
http://drupal.org/project/ff
Туманное будущее Друпала
Прислано: Crea
пт, 15/07/2011 - 12:30
Drupal 7 уже был тревожным сигналом - ведь для стабилизации и приближения релиза, Аквии и многим другим компаниям пришлось выделить сотрудников на зарплате, занимающихся решением багов на фул-тайм.
В этом смысле, инициативы Дриза и компании по Drupal 8 очень пугающие:
- очень сильно повышены требования к количеству багов, которые вызывает то или иное изменение
- добавлены очень жесткие критерии приема патчей. Предполагается, что контрибутор должен будет ознакомиться с тонной документации, прежде чем провести какое-нибудь изменение. И это будет действительно тонны - я не шучу. Текущая сложность Drupal - learning curve, как ее называют, покажется детским садом по сравнению с новыми требованиями.
Все это - бюрократизация, дополнительные барьеры для участия многих контрибуторов. Непонятно, как можно забюрократизировать процесс по-максимуму, и рассчитывать что сообщество - добровольцы, будут разгребать все это.
Многие потенциальные контрибуторы уже давно не участвуют в разработке ядра по причине низкой эффективности труда:
- чтобы добавить то или иное изменение, нужно убедить кучу народа
- бесконечные споры по поводу реализации того или иного изменения. В условиях равноправности мнений, из спора очень трудно прийти к компромиссу
- готовые патчи могут висеть месяцами, ожидая своей участи. Стоит только вспомнить эпические изменения, связанные с состояниями гонки (race conditions) в Drupal 6 и каких усилий стоило реализовать их.
Drupal-субботник по программированию
Прислано: Crea
пн, 11/07/2011 - 07:05
Хочу провести эксперимент. Предлагаю услуги программиста Drupal по значительно сниженной ставке $10 в час на благо общества.
В традиционные субботники люди собираются, чтобы поработать бесплатно. Я предлагаю работу за символическую плату, зато мой труд не будет ограничен одним днем.
Отличная возможность проверить на практике финансирование сообща.
Условия акции
- работа с Drupal 6, который я знаю гораздо лучше, чем 7
- разработка новых модулей, или доработка существующих - исправление багов, добавление функционала
- модуль должен быть в публичном доступе и полезен многим, т.е. крайне специфические вещи исключены
- модули, созданные в рамках акции, будут выложены на drupal.org и поддерживаться по минимуму, т.е. без гарантий (поддержка - тоже труд, и не попадает в данную акцию)
- обсуждение модуля и составление ТЗ должно быть публично (чтобы не пропихивали втихую свои требования, как общественно значимые)
- я оставляю за собой право выбирать только самые интересные/привлекательные для себя задания и не раскрывать причины своего выбора
- время действия акции не ограничено, пока я не сообщу о ее конце.
- количество часов и конкретные дни я выбираю сам (это субботник а не работа full time)
- работа над задачей может быть прекращена по причине прекращения финансирования, в случае невозможности ее выполнения (в рамках условий акции) или по соглашению сторон
Идеальный формат сотрудничества
Занятное чтиво, запасаемся попкорном
Прислано: Crea
чт, 07/07/2011 - 14:50
http://groups.drupal.org/node/136294
- Для комментирования войдите или зарегистрируйтесь
Программирование и консультации по Drupal
Прислано: Crea
пт, 17/06/2011 - 13:48
О себе
Опытный программист Drupal, по совместительству системный администратор. В прошлом - сетевой инженер Cisco. Разрабатываю сложные сайты (уровня соц.сети) и модули, а также дополнения к модулям (плагины). Исправляю баги в самом Drupal и его модулях. Активный участник сообщества Drupal.org (Certified to Rock рейтинг 5)
В работе предпочитаю решать сложные, творческие задачи.
Хорошо знаю 6 версию Drupal, его внутренности и основные модули, используемые при создании сайтов. Пишу код, корректный с точки зрения стандартов Drupal, best practice, и просто эффективный (по мере возможностей и в зависимости от дедлайнов).
Есть большой опыт оптимизации производительности Drupal: построения хостинг платформы с использованием nginx, Memcached, MongoDB, оптимизации SQL запросов, ликвидации узких мест в модулях, внедрения и оптимизации стратегии кеширования.
В работе использую VCS (предпочитаю git, но так же знаю svn и cvs). Умею писать SimpleTests.
Для работы использую opensource софт (Linux и т.д.).
Вместо резюме - можно посмотреть примеры моих работ для сообщества, но если нужно, могу прислать по запросу. Также, в частном порядке готов ответить на вопросы и прислать примеры сайтов.
Предпочту долгосрочное сотрудничество с подготовленным, адекватным заказчиком, но также оказываю и разовые услуги.
Мои услуги
-
Консультации по Drupal
Ускоряем переводы
Прислано: Crea
сб, 11/06/2011 - 20:07
Сделал модуль
Locale Cache, ускоряющий переводы строк в Drupal.
Известно, что родной язык Drupal - английский. При каждом запросе к сайту движок берет английские строки в интерфейсе и заменяет их переводами для текущего выбранного языка. Данный модуль оптимизирует и ускоряет этот процесс. В результате ускоряется загрузка страниц, снижается количество запросов к базе и (в зависимости от настроек модуля) снижается потребление сайтом оперативной памяти.
Более подробное описание модуля на
странице проекта.
Для работы требует патч ядра, так что прошу детей и беременных женщин отойти от монитора.
Пробуем, тестируем, и т.д. (снапшот скоро будет готов). Настройки модуля описаны в README.
Модуль больше всего полезен при использовании кэша в оперативной памяти. Очень мало смысла использовать модуль с кэшем в БД - это "шило на мыло" - запросы в одну таблицу заменяются запросами в другую. Более того, существует баг в ядре 6 Друпала, ломающий работу этого модуля с кэшем в базе: http://drupal.org/node/1302286
14.06.11 Добавлена опция обновления кэша локалей с помощью cron
24.06.11 Создал первый релиз. Всем, кто использовал dev версию, рекомендуется обновится
