Category Archives: Blog

Blog-часть сайта

Мой взгляд на “Using WordPress as CMS”

Тут статейка через RSS фид от Number One Blogger на del.icio.us вылезла: What is “Using WordPress as CMS”?, где автор описывает, как можно использовать WordPress в разных направления, кроме блога: сайт с портфолио, сайт электронной коммерции, галерея, фотоблог, сайт новостей, библиотека статей.

Перечитал я статью фактически специально, заставив себя это сделать, чтобы узнать, как народ с WordPress извращается. Раздел о сайтах-потфолио меня ничем не впечатлил, ни один из примеров электронной коммерции не представил собой ничего больше, чем простой “Buy Now Button” (такой магазин можно сдлеать на любом блого/тексто движке не о чём не думая), Фотоблоги требуют много настроек и переделок (а имея свой хороший framework, фотоблог на своей основе сделать будет куда легче). Сайт новостей и библиотеку статей на движке WordPress я ещё оправдаю, если не нужно докручивать много функционалии через плагины и шаблоны.

Почему я так считаю? За последние полтора года я поставил несколько дюжин WordPress разных версий с разной степенью изменений (customization) используя разные чужие и самописанные плагины и шаблоны. И вот что я вам скажу – кроме как для блога или маленького личного сайта WordPress лучше не использовать. Рано или поздно будет “дверной косяк”, который вам сломает все костыли. Вообще, из своей практики сайтостроения, скажу я вам, что фактически к каждому сайту/клиенту в CMS нужен немножко свой, персонализированный подход, так как почти всегда на сайте бывает маленький но очень важный раздел, который клиент постоянно обновляет и хочет (даже если и не говорит, но обязательно хочет на подсознательном уровне) это делать максимально удобно, не думая о HTML и валидности, он хочет это делать в 2-3 клика. Вот тут мы и выигрываем с интерфейсами, максимально подогнанными под нужды клиента. Иногда мне кажется, что люди из Запорожца пытаются сделать многоцелевой истребитель его перекрасив и сменив ему масло и резину.

Опаньки, script.aculo.us обновили

Зашёл я сегодня на сайт своего любимого JavaScript frameworkа script.aculo.us, для того, что-бы посмотреть на то, как на основе UL/LI строятся сортируемые листы, а на первой странице я вижу обновления. 4 Красивых медалеподобных предмета. На самом деле, никакие это не медали, а всего-лишь маленькая, но очень приятная и тёплая навигация по разделам сайта. Мне она кажется очень даже правильной, и даже удобной – теперь я вижу всё что мне нужно: и что это, и кто пользуется и сразу можно скачать всё что нужно, и ссылки на документацию и другую помощь.

Из наболевшего о навигации

Ох, жизнь… 5 лет не могу избавиться от одной маленькой (казалось-бы) проблемы: проблема с построением навигации сайта. Нет, ну вроде-бы всё в порядке – построил маленькое дерево, на основе классической структуры: parent-sоn, и вывел красивое дерево там где надо, которое красиво раскрывается, закрывается, полный DHTML, можно даже с AJAX. В приципе я так часто делал во многих проектах, с разными отклонениями от классической структуры, которая была построена. Но! не всё так гладко. На каждом втором сайте, всегда нужна дополнительная навигация, которая строиться самим клиентом. А ещё, теперь в моде “фасетная навигация”, причём, как таковой, древовидной структуры то нет.

Да ладно, плакать, казалось бы, что там плакать, вроде всё решаемо – спланировал 2 таблички (можно и через одну) для хранения названий меню и самих пунктов и нарисовал селектик, из которого можно выбрать пункт и кнопочку “добавить”, немножко дла ручной сортировки и готово. Но вот когда на сайте страничек больше 20, такой интерфейс совсем не удобен. Кто-нибудь видел что-либо удобное? Можно ссылочку?

Хм, пока писал, идея появилась, правда не самая удобная… Самая большая проблема для меня – большое количество страниц, и то что их перелистывая нужно выводить информацию о них. Хорошо, когда сайтом управляешь сам, все урлы сделал сам, всё помнишь, всё знаешь, а когда его делают просто мальчики, которым от части по барабану всё, и они не помнят ни о чём, вот как для них сделать? Пока, всё что в голове – немного ресурсоёмко…

Скачиваем и закачиваем большие базы в MySQL

Тем, кто имеет shell под Unix/Linux/MacOSX давно известна такая утилита как mysqldump для создания копии базы или всего MySQL сервера и mysql – клиент к MySQL серверу. На этих платформах сделать так называемый MySQL dump проще простого: mysqldump --user=root --password=myrootpassword --quote-names databsename > mydump.sql. А для того что бы закачать весь dump обратно в базу достаточо сделать mysql --user=root --password=myrootpassword databsename < mydump.sql. Если я где-то ошибся, простите и поправте, писал по памяти.

Но что делать тем, кому туже операцию нужно сделать под Windows платформой и других инструментов (phpMyAdmin, MySQL-Front, нечто подобное) под рукою нет? Я вот вечно теряю эти две строки, способные иногда спасти несколько минут рабочего времени (которые можно потратить на распитие чая с коллегами).

Итак, для того, что-бы сдлеать dump базы под Windows платформой:
C:\mysql\bin\mysqldump --host=localhost --user=root --password=myrootpassword --quote-names --result-file=mydump.sql databsename

Итак, для того, что-бы закачать весь dump обратно в базу под Windows платформой:
C:\mysql\bin\mysql --host=localhost --user=root --password=myrootpassword -e "source C:\path\to\dump\mydump.sql" databsename

Ссылки по теме: mysqldump и mysql.

Хм… я давно небыл на сайте MySQL-Front и ею не пользовался, а оказывается она переименована в SQLFront. Ко всему, весь данный проект продаётся (почти с молотка) и создатели ждут предложений по покупке всего проекта целиком, цену открыто не говорят – ждут предложений в электорннописьменном виде. Надо будет на неё посмотреть, что там нового и как она изменилась, так как оно было даже тогда довольно удобным инструментом. Покупать весь проект я не буду – кишка пока тонка ;-)

Установка WordPress 2.0.4 на хостинг NetFirms.

На днях пришлось ставить WordPress 2.0.4 на хостинг NetFirms. Стокнулся я там с такой маленькой проблемой: если permalink установить в режим /%postname%/ WordPress их совсем не видит. Вообще, любой режим, кроме по умолчанию, не работает. Как оказалось, PHP 4-ой версии там установлен как CGI и, при включенной поддержке .htaccess (их поддержка для хоста по умолчанию выклячена и её нужно включать через Control Panel) и mod_rewrite, в переменных окружения нет ни малейшего упоминания о том, что находиться в адресной строке. Не приятно очень, подумал я, а «клиента» не устраивала классическая (по умолчанию) структура permalink, а вид /index.php/%postname%/ тоже никто не хотел. Дальнейшие эксперименты показали, что на сервере прекрастно поддерживалась работа в «режиме» MultiViews и WordPress в таком режиме прекрастно работает.

Чтож, подумал я, раз есть mod_rewrite и поддержка MultiViews да и WordPress всё это поддерживает, почему бы не переписать стандартный RewriteRule . /index.php [L] на свой, так, что-бы использовался MultiViews. В итоге мы получили RewriteRule ^(.*)$ /index.php/$1 [L,QSA]. Запретив права записи в этот файл, мы получили желанный результат. Даже не смотря на то, что в настройках permalink было /%postname%/, а WordPress получал /index.php/%postname%/. Так как, всё чудестным способом заработало – все были довольны!

Что будет, скажите вы, если «клиент» захочет поменять структуру permalink? Возможно всё развалиться, но «клиент» предупреждён, да и структуру permalink он менять наврятли будет – я не превый раз ставлю для него WordPress, и это его самая самая излюблення конфигурация. Хотя, он без меня, на такие резкие шаги не пойдёт, дизайн сменит обязательно, а вот в структуре системы кардинально менять не будет ничего.

Что я могу сказать о хостинге NetFirms? А практически ничего. Я вошёл, разобрался во всём (долго привыкал к их Control Panel), установил то, что просили, всё заработало и почти никакой головной боли. По крайней мере пока головной боли нет.

Шоппинг по правилам Google

Всем известно о том, что появился Google Checkout – простая технология, позволяющая легко превратить любую страницу в полноценный электронный магазин. Причём даже для простых новичков всё просто. Есть система создания кнопок, при помощи которой вы всё можете сгенерировать сами и легко формочки разместить на любой странице. За вас всю работу могут сделать партнёры Google, а если вы достаточно круты, то можете всё сделать сами – Developer’s Guide вам поможет Continue reading →

Почему здесь тишина?

Одну неделю я готовился к отпуску… Две недели отдыхал в Паланге… Теперь разгребаю то, что ребята приготовили мне ввиде новых проектов и сюрпризов… А каких сюрпризов мне только не приготовили… От доступа к очень вкусной и конфиденциальной информации, до переделки чужих проектов с кривой структурой базы и кривыми запросами, убивающими сервер…

Отдых прошёл просто отлично: рядом всегда была супруга, которая заботилась о том, что-бы мне всегда всего хватала, погода стояла ужасно-солнечная, до моря была рукой подать, а в шторм его было слышно из окна. Воть только выпавший на мой отпуск праздник коронации Миндаугаса и пол-лимона граждан Литвы хлынувших в Палангу вводят в шок… Уж больно среди них много хрюшкоподобных по поведению…

А из сюрпризов, то много новых проектов… Ососбенно интересен этот, с оптимизацией чужого кода. О создателях я слышал много… Причём и плохого и хорошего… но… я не думал что там всё так плохо, как оказалось… Выборки по таблицам с “джоинами” и без индексов, группировки по полю, которое образуется во время выборки… тройные “джоины” на огромные таблицы с LIKE… Вобщем, приходиться использовать всю магию, которую я знаю… Вплоть до кешей в статические файлы на тех местах, где данные могут обновляться намного реже, чем при каждом запросе… Причём работа с закрытыми глазами: я не знаю конфигурации сервера, только то что там MySQL 3.х и PHP 4.3.х, имею копия базы, структуру которой (кроме индексов) менять не имею права – интеграция с бухгалтерским программным обеспечением…

Вобщем, думаю ближайшее время я всё пробуду в режиме читателя, пока всё не разгребу…

Burn, diploma, burn

Утром сегодня маленькая шумиха (мимо которой я не могу пройти мимо): абсольвент из VU, 23-летний Rimantas Šimanėlis, во время вручения дипломов со степенью бакалавра, достал зажигалку и сжёг свой диплом в знак протеста против Литовской системы просвещения, её уровня и взгляда на науку (а у нас она ещё есть?). Причём не какой-нибудь там землемер или садовник-огородник, а студент престижного факультета математики-информатики. Реакция на данный поступок очень разная и местами не адекватная. Но кого это будет волновать – один человек, сжёг свой диплом, некоторые даже у виска пальцем покрутили в его сторону… Это не сделала целая группа или факультет – завтра об этом забудут и никого это не будет волновать.

Из того, что прошёл я за свои 25 лет… Нет, я бы не поджигал диплом VIKO (как-бы не обидно было изза некоторых оказий с ним), по причине что там учили плохо – там хорошо учили, даже очень, по крайней мере тогда, старались подготовить хоть каких-то специалистов. А потом я попал в VPU… Здесь я познал многое из того, что меня теперь заставляет скептически смотреть на людей с высшим университетским образованием из Литвы (за исключением тех особей, что работают не меньше года по специальности). Недавно видел даже парадокс: один из рецензентов (со степенью доктора), в рецензии к дипломной работе (небольшая системя для интранета, PHP+MySQL) написал, что в этой работе есть вирус типа “Троянский конь”(и это в работе, где кроме “include/require”, нет никакой другой файловой операции).

А тем временем молодёжь всё больше покупала билеты с направлением на запад, всё больше искала мест, где за работу платят деньги, да так, что можно жить а не существовать. А местные работодатели всё продолжали плакать что не хватает рабочих… А власть всё ещё не понимала, почему молодежь так эмигрирует и продолжала делить в надцатый раз свой пирог, не обращая внимания на то, как страну заполняет нищета и безпорядок. Не Литва, а Франция времён Людовика XV (простите за не точность, если ошибся): После нас – хоть потоп. А в добавок, на днях, ЕС, после исследований заявило, что в Литве самая плохая и неразвитая система здравоохранения…