среда, 6 февраля 2008 г.

Инструкция по переезду с joomla 1.0.* на joomla 1.5 + multithumb

C выходом joomla 1.5 STABLE, возникла мысль о том, что неплохо сделать бы апгрейд.

После прочтения официального документа и в процессе миграции осталось несколько вопросов. В этой инструкции расскажу обо всем подробно. Итак, приступим:

Шаг 1 - подготовка
Делаем бэкапы файлов и данных либо специальными компонентами либо вручную. А на версию 1.0.13 разработчики советуют поставить патч исправляющий ошибку сессии администратора от Rob Schley's


Шаг 2 - подготовка компонента migrator
забираем последнюю версию компонента миграции на Pasamio Project. На момент написания - это Migrator RC6.
Но на некоторых системах компонент не устанавливается и вылетает с ошибкой
Call to undefined function: getattribute()
. После внимательного просмотра кода и старательного обгугливания, я обнаружил, что мешают закоментированные строки в файле компонента migrator.xml, надеюсь в следующих версиях это исправят, а пока придется распаковать архив компонента, вручную удалить комментируемые строки из migrator.xml:

< ! -- images/backup.png
images/backup_f2.png
images/delete.png
images/download.png
images/sql_info.png -- >


и запаковать компонент в архив. После этого компонент работает.

Можно поискать в интернете third party плагины для экспорта данных различных компонентов и модулей или даже написать необходимые самому, но это выходит за рамки этого поста.
Вот еще совет, в процессе миграции из содержания "псевдонимов" статей и разделов удаляются символы подчеркивания "_", поэтому если вы их использовали в предыдущей версии joomla для разделения транслит-слов, можно авансом запустить подобный запрос в базе, чтобы заменить этот символ "_" на символ "-":
Update jos_content Set title_alias = replace(title_alias, '_', '-')

Шаг 3 - создание SQL файла миграции
Тут все просто, заходим в компонент, нажимаем кнопку, скачиваем результирующий файл.

Шаг 4 - установка joomla 1.5 и импорт данных
Установка протекает плавно, до момента, где просят указать файл для импорта. Указываем файл, кодировку, ставим нижнюю галочку, гласящую о том, что это именно файл импорта из прошлой верии joomla.

Замечание: если у хостера либо на локальном денвере не установлена библиотека перекодировки iconv, то весь русский текст после импорта изчезнет. Имейте в виду.
Процесс установки iconv превосходно расписан в курилке Уточню только, что в статье пишется: 3-й денвер изначально поставляется с библиотекой iconv.dll. У меня ее не было.

Еще одно замечание: на локальном денвере в php.ini желательно установить по такому случаю вместо max_execution_time = 30 хотя бы раз в 5 больше
(убедитесь что php.ini у вас подхватывается как надо)

Ну вроде все. Дальше уже разгребайте результат =)

PS на десерт: Multithumb image plugin for Joomla 1.5, жаль что не нативный.
depositfiles
ifolder
Официальную версию все еще ждем, а пока можно пользоваться этим, благо работает. Лично я без него как без рук.

PSPS а XML-RPC Blogger API пока включать не следует из-за найденных багов.

Удачи в освоении joomla 1.5

суббота, 12 января 2008 г.

301-й редирект - как не прогореть

О 301м редиректе писалось уже очень много. Но я, набив шишку, раскажу о собственном опыте - как не попасть в просак. Получилось у меня "как всегда", хотя хотел как лучше. Если вы (обращаюсь к нубам, гуру-то все уже давно все знают) не хотите чтобы ваш сайт выпал из индекса Яндекса, то читайте до конца.

Прелюдия: 301-й редирект необходим для того чтобы указать поисковым системам что весь сайт или некоторые его страницы переехали на другой адрес навсегда. Есть еще временный, 302-й редирект. Но для нас он не важен.

Зачем мне 301-й редирект?
1. Кроме своего прямого предназначения, - указания о том что сайт переехал, он может использоваться для подсказки поисковым системам, что www.domen.ru и domen.ru - есть один и тот же сайт и показатели ТИЦ и PR для них стоит не разделять а складывать. Хотя все ПС сейчас достаточно умны и в 99% сами отлично определяют это. К тому же в панели вебмастера google есть возможность прямого указания желаемого домена, что просто обязан повторить и Яндекс в своей админке.

2. Для отображения нужного адреса в адресной строке (зайдите на google.ru и увидите что вас перенаправят на www.google.ru)

Это пояснение большее имеет смысла для Яндекса. Почему, объясню в конце. Действительно только для apache с включеным mod_rewrite (для хостеров это норма)
К примеру я хочу чтобы мой domen.ru редиректился на www.domen.ru:

Как сделать 301-й редирект для своего сайта?
а. Необходимо указать для Яндекса в файле robots.txt какой домен является главным:
User-agent: Yandex
Disallow: /administrator
Host: www.domen.ru


б. Обязательно(!) убедиться что Яндекс считает главным зеркалом нужный вам домен.
Сделать это можно в панели веб-мастера Яндекса, попытавшись добавить сайт с www и без. Иначе - ждем (ждать может, придется от недели до двух месяцев).

в. Настроить файл .htaccess подобным образом:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^domen\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domen.ru/$1 [R=301,L]


г. Проверить редирект домена (и обязательно внутренних страниц) необходимо здесь(с рекламой) или здесь (без рекламы, инфы дает меньше, но вполне достаточно и этого)

д. Развивать сайт дальше, не опасаясь что ссылки на сайт без "www" не учтутся.

В приципе все просто, но я в свое время сделал ошибку на каждом этапе. В результате сайт висел вне индекса Яндекса очень долгое время. Гугл же оказался более умен и "проглатил" мои ошибки без последствий.

Надеюсь, это кому-нибудь да поможет

среда, 9 января 2008 г.

97л4987м

Все очень просто: 97л4987м