Предлагаю решение

Сайт HR-Portal.ru переехал на Drupal 7

12 мая 2011 в 22:04

Сайт HR-Portal.ru переехал на Drupal 7

О сайте, многие из присутствующих слышали
Если коротко. Это более 40к нод, более 1м уников в месяц и 2м просмотров в месяц

Попытался вначале сам перевести, благо опыт апгрейда с 5-ки на 6-ку был.
Но, помучившись 3 дня, понял что не получается.
Обратился Виктору (RxB), который собственно и проделал гигантский объем работы по данному апгрейду.
За что ему огромное спасибо.
Технические моменты он опишет сам, я же остановлюсь на некоторых наблюдениях и впечатлениях.

1. Бэкапы. Делать их надо постоянно. Понятно что до обновления. Но и после, перед каждым включением модуля под 7-ку (то есть апгрейда данных с 6-ой версии) хорошо бы иметь бэкап. Ибо включиться может по разному.

2. Наличие 6-ой версии. Это сильно помогает при ручном переносе. А также, устаревшая версия может выполнять ряд функций, которые вы к примеру не успели включить и настроить в 7-ке. Например, модуль simplenews. Прекрасно отправил рассылку находясь на 6-ой версии, в то время как я настраивал этот модуль на 7-ке. Как оказалось, проще экспортировать подписчиков из базы 6-ой версии и импортировать в 7-ою, чем разбираться, почему не включается то или иное поле. Это же правило думаю относится и к визуальным редакторам. Имхо проще их удалить а уже потом ставить и настраивать заново. Тем более при смене друпал-версии модуля, часто меняется и его архитектура.

[РЕШЕНИЕ] Конфликт ответных коментариев (comment/reply) и модуля Page_Title

12 мая 2011 в 21:10

Если возникает проблема не открытия старинцы при переходе на отдельную страницу комментирования коментария (comment/reply/......), то необходимо поправить следующий файл.
cайт.ру/sites/all/modules/page_title-7.x-2.4-beta1/page_title/modules/comment.page_title.inc на строке 46

Список блоггеров в блоке.

11 мая 2011 в 18:33

Доброго времени суток, уважаемые! Хочу поделиться проблемой решением проблемы:
Стала задача - вывести в блок список самых активных блоггеров. Вывести имя пользователя и количество нод типа Blog post, оставленных им. Сортировка по убыванию по количеству постов. И имя каждого пользователя в добавок ко всему должно было выводиться ссылкой на его блог.

Google и скорость загрузки страниц Вашего сайта

11 мая 2011 в 0:26

В конце апреля этого года в своем официальном блоге представители Google Analytics объявили об запуске бета-тестирования нового интерфейса.

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

Диалоговая кнопка BUEditor + стандартная drupal-форма для внутреннего линкинга

10 мая 2011 в 1:40

Вашему вниманию предлагается статья, в которой описывается способ встраивания стандартного функционала форм Drupal в редактор BUEditor для удобного добавления ссылок на внутренние материалы сайта.

Форма после использования

Запретить просмотр определенного типа контента

9 мая 2011 в 9:44

Есть тип материала 'diary'. Нужно разрешить доступ к нему только автору ноды.

Создаем простой модуль 'diaryaccess', в котором выполняем хук hook_node_access.

Drupal 7

8 мая 2011 в 23:15

Drupal 7 Сразу после установки выдал
warning: tempnam() [function.tempnam]: Unable to access in /var/www/vhosts/мой сайт/httpdocs/includes/file.inc on line 802.
Проблема решилась с изменением прав доступа (разрешение записи) к файлам :
sites/default/files
sites/default/files/tmp

Беглое сравнение Drupal 6, Drupal 7 и Pressflow с помощью XHprof

7 мая 2011 в 14:56

В продолжение двух предыдущих статьей (тыць, тыць) о профайлерах и в частности о XHprof профайлере от разработчиков Фейсбука рассмотрим вариант применения его для анализа производительности разных систем. Для примера взяты три разные сборки Drupal’a....

РЕШЕНИЕ! Пик посещаемости - как избавится от гостей

6 мая 2011 в 0:11

почикал все что может гостей считать... а в пике посещаемости все равно авторизиров + гости считаются....

что ещее переделать?

<?php
if (user_access('access content')) {
    $new_user_days = 3; // Количество дней с момента регистрации, которые пользователь считается новичком
    $max_users = 1000; // Максимальное количество отображаемых пользователей
   

    $output = '';
   
          $interval = time() - variable_get('user_block_seconds_online', 900);

       
         
          $authenticated_users = db_query('SELECT DISTINCT u.uid, u.name, s.timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 ORDER BY s.timestamp DESC', $interval);
          $authenticated_count = 0;

          $items = array();
          while ($account = db_fetch_object($authenticated_users)) {
            if (!isset($items[$account->uid])) {
              if ($max_users > 0) {
              $items[$account->uid] = $account;
              $max_users--;
              }
              $authenticated_count++;
            }
          }

          if ($authenticated_count == 1) {
            $output = t('There is currently %members', array('%members' => format_plural($authenticated_count, '1 user', '@count users')));
          }
          else {
            $output = t('There are currently %members', array('%members' => format_plural($authenticated_count, '1 user', '@count users')));
          }

          // Display a list of currently online users.