При желании запостить в Drupal контент типа “аудио” можно поставить checkbox напротив опции Allow file downloads, таким образом предоставив юзеру прямую ссылку на файл. Хы, улыбнуло предупреждение:

If checked, a link will be displayed allowing visitors to download this audio file on to their own computer.
WARNING: even if you leave this unchecked, clever users will be able to find a way to download the file. This just makes them work a little harder to find the link.

Published in: on September 25, 2007 at 12:23 am Comments (1)

Drupal post #1

Кто-то, возможно, знает о небольшом сайтце, который я сотоварищи когда-то делал (да так толком и не доделал). Смотрю на него и слёзы наворачиваются :) Посему было принято волевое решение ресурс переделать. Тут сам собой возник вопрос о технических средствах. Нынешний вариант представляет собой ASP.NET + MS SQL. Хостить такую конфигурацию знамо дороже, чем PHP + MySQL. Плюс, давно пора бы уже попрактиковаццо в php (стыдно молвить – 22 года и ни строчки на этом наречии! :-D ). Бесплатность php опять же.. И, раз уж пошла такая пьянка, было решено до кучи заюзать какую-нибудь CMS. Так или иначе выбор пал на Drupal.

Здесь я буду время от времени обозначать какие-то свои мысли на тему, описывать что и, главное, как было реализовано с помощью Drupal’a. Возможно, кому-то и сгодится. И, признаюсь, возможно кто-то из вас меня раскритикует и предложит лучшее решение :)

Итак, начнём!

На этот момент доступен релиз 5.2. Прежде всего нужно установить собственно php, mysql and apache. Я пошёл простым путём и скачал пакет EasyPHP 2.0, который включает в себя Apache 2.2.3 – PHP 5.2.0 – MySQL 5.0.27 – PHPMyAdmin 2.9.1.1 – SQLiteManager 1.2.0. Далее создаётся база данных для Drupal. Архивчег с Drupal я распаковал в D:/goncharka_drupal_52. Через localhost конфигурится Апач: я создал alias g52 для D:/goncharka_drupal_52. После чего, зайдя на localhost/g52, запустил настройку сайта.

На данном этапе управление CMS мне кажется очень даже понятным и удобным. Не буду больше ничего писать и вставлять скриншоты, а отправлю любопытных на http://si505.cms.si.umich.edu/node/2. Там в каждом разделе доступны Screencasts, на которых с видео и звуком прокомментированы основные концепции Drupal.

А теперь о “первой крови” :) Допустим, мне нужно попасть в раздел администрирования сайта. По умолчанию я попадаю туда через http://localhost/g52/?q=admin. Не очень красиво. Вышеприведённые скринкасты содержат сцену, где дядя заходит в раздел админки admin/settings/clean-urls, кликает Run the clean url test и – бинго! – успешно переключается в общепринятый режим навигации. Теперь вместо http://localhost/g52/?q=admin используется http://localhost/g52/admin. У меня так не вышло :) При попытке запустить тест Апач ругался на

The requested URL /g52/admin/settings/clean-urls was not found on this server.

Апач у меня стоит в C:/program files/…, а сайт расположен на D:/… Возможно, если бы я расположил его в подкаталоге www Апача, то всё было бы классно, но.. Anyway, покопавшись в гугле, я понял, что не одинок в своей беде. Шаманство и танцы с бубном привели к следующему алгоритму:

  1. В c:\Program Files\EasyPHP_2.0b1\apache\conf\httpd.conf ищем строку
  2. LoadModule rewrite_module modules/mod_rewrite.so
    раскомментируем её и переносим выше, примерно перед строкой
    #LoadModule file_cache_module modules/mod_file_cache.so

  3. В самом конце файла EasyPHP добавил блок
  4. ### Alias EasyPHP
    # !!! DO NOT REMOVE !!!
    # ========================================
    #alias
    Alias "/g52" "d:/goncharka_drupal_52/"
    <Directory "d:/goncharka_drupal_52">
    Options FollowSymLinks Indexes
    AllowOverride None
    Order deny,allow
    Allow from 127.0.0.1
    deny from all
    </Directory>
    #alias
    # ========================================
    ### Alias End

    AllowOverride None нужно заменить на AllowOverride All

  5. Перезапускаем Апач и видим теперь другую ошибку:
  6. Your browser sent a request that this server could not understand.

  7. В корневом каталоге Drupal (в моём случае – D:\goncharka_drupal_52\) лежит файл .htaccess. В нём нужно раскомментить строку RewriteBase /drupal и заменить слово drupal на корректный alias сайта (в моём случае – g52. Таким образом, строка изменяется на RewriteBase /g52
  8. Бинго!Мы это сделали! :)

Возможно, я описал здесь какие-то очевидные вещи, но для меня этот процесс был далеко нетривиальным и честно говоря я изрядно протрахался :)

Ещё один косячок был связан с настройками php. После того, как я скачал некоторое количество дополнительных модулей к Drupal, php выдал мне ошибку

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 98304 bytes).

Притом, в php.ini memory_limit стоит равным 128М(!). Решением было добавить строку ini_set(‘memory_limit’, ‘128M’); в D:\goncharka_drupal_52\sites\default\settings.php

На этом неприятности на сегодня закончились :)

Published in: on September 22, 2007 at 6:30 pm Comments (4)

Published in: on September 20, 2007 at 1:15 pm Leave a Comment

Трэкбек

Складно всё же пишет Чистович, но есть у меня пара вот каких соображений:

Во-первых, мне кажется, что покупать новое high-end железо пользователям не будет нужды, поскольку тормозить в данном контексте предполагается фреймворкам. А тормозной фреймворк это код, выполняющийся на тормозных (сейчас) серверах, выдающих аутпут в тормозные (сейчас) каналы передачи данных. А в этой сфере закон Мура актуален – всегда (в смысле ещё достаточно долго :) ) будет потребность в ещё более производительных ящиках и в ещё более быстрых системах передачи данных. А конечный пользователь будет так же смотреть киношки и юзать в Ворде на машине пятилетней давности с поправкой на крутой девайс для доступа в индырнет :) – все хотят одновременно слушать потоковое аудио, качать потоковое порево и чтоб ещё аська не тормозила :)

Теперь про задержки и их цену в веб девелопменте.

“Но чтобы сделать успешное веб-приложение, нужно сделать его работающим сейчас, потому что через три года, когда, наконец, процессоры ускорятся и каналы расширятся, оно уже никого не заинтересует.”

Согласен. Но Джоэл говорит, как мне кажется, совсем о другом. Он пишет, что веб приложениям неплохо бы иметь совместимость друг с другом и поддерживать ряд фичей, к которым мы все привыкли, работая с десктопными приложениями. Для этого, без сомнения, придётся ввести некий стандарт, которого следует придерживаться дабы такую совместимость обеспечить. Наверное, какие-то части реализации этого стандарта разумно предложить пользователям в виде фреймворка (библиотек, сервисов, doesn’t matter как любит говорить Майор :) ). Естественно, любой фреймворк заведомо обладает накладными расходами по производительности, но в обозримом будущем железо подтянется “до уровня”. Собственно, об этом Джоэл и написал в своей статье.

А к Гуглу у него, видимо, просто классовая или какая иная неприязнь..и чего он на него взъелся? :)

Published in: on at 1:55 am Comments (1)

Верните видео владельцу, сцуки!

Так вот, умер у меня винчестер недавно со всеми, соответственно, накоплениями. Из коих первоочередными были фодке и видео. Я, зная, что фотки на пикасе, а видео в некоем количестве присутствуют на ютубе, был до поры до времени спокоен. Пора и время закончились не далее как этой ночью, когда я таки решил поглумиццо над Чистовичем, помятуя о подходящем видеоролике. Результат получился паршивый, но не об этом речь – эти сцуко буржуи не позволяют даже аффтору качнуть свой материал обратно. Both YouTube and Google.Video! Пришлось смотреть ролик, попутно записывая screen area с монитора. Позже мне рассказали о плагине к FireFox’у (лично не тестировал, сказать ничего о работоспособности не могу), но…проблема то в другом. Неправильно это IMHO.

Published in: on September 18, 2007 at 12:51 am Comments (2)

Published in: on September 16, 2007 at 8:10 pm Leave a Comment

Чёртов квартирник

“А вы бывали на Таити?” :)

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

На концерте (настоящем, электрическом) группы Пилот я был лишь раз, давно и вобщем-то мне не понравилось ни разу. Ребята отыграли классно, но аудитория у них специфическая: 50/50 чокнутых алисоманов и визжащих в ухо 9-ти классниц. Ещё неизвестно, кто хуже..)

А тут совсем другое дело – квартирник == тёплая, домашняя атмосфера, акустика, возможность спокойно насладиться музыкой, пообщаться с музыкантами опять же..из минусов – куча мужских носок в тесной комнате :) Так или иначе, 12 сентября в компании Игоря я потягивал пиво на Новочеркасской, месте всеобщего сбора.

shoes.jpgК слову сказать, до этого я бывал на подобных мероприятиях, но на Елизаровской, в гостях у Дмитрия Гороховского. Посему поначалу у меня была некоторая настороженность (понравится – не понравится), но хозяева оказались достаточно приятными людьми, чтобы я с удовольствием пришёл к ним ещё (если пустят.. :) )

Ну так вот , долго ли, коротко ли, но явил себя публике Илья Чёрт собсной персоной и понеслась ) Первые полтора часа понравились больше – люблю у Пилота именно “дворовые” песни. Во второй части концерта игрались вещи посерьёзнее, что порой заставляло меня скучать малёха – я скептически отношусь к ряду утверждений Ильи, в частности касающихся сновидений. Впрочем, я никогда не увлекался этими вопросами, поэтому было бы некорректно вести на эту тему какие бы то ни было дискуссии. А в общем и целом Илья классный, компанейский парень, безропотно вынесший даже фотосессию с друзьями и поклонниками :)

Тут можно посмотреть, чего нащёлкал Игоряныч :)

И ещё одно: мёрз сегодня, ожидая последний автобус, после квартирника Ливня и невольно вспомнил высказывание Ильи: “Запах сентября.. Что это? Не объяснить. Просто ты выходишь утром на улицу, делаешь вдох и понимаешь – вот оно и пришло. И на улице тепло, и зелено кругом, но что-то неуловимо изменилось..”

Published in: on September 13, 2007 at 1:06 pm Leave a Comment