вторник, 24 июля 2007 г.

Разбираемся с LDAP

Начал работу над новым проектом. Он очень большой. И пока мной не охваченный. Т.е. я примерно знаю что это будет, но как это делать, ещё ясности нет.

Одной из текущих задач является разобраться с LDAP, т.к. проект будет крутится внутри локальной сети, а она использует домены для авторизации. Попадание извне на этот портал пока не предусмотрено.

На данный моменты было найдено несколько средств работы с этой службой каталогов.

  • Во-первых сам php довольно хорошо о ней осведомлён (мануал), если его предусмотрительно скомпилировать с поддержкой LDAP.
  • Во-вторых, есть модуль для Apache, mod_ntlm, который, вроде, поддерживает авторизацию по LDAP, но он для меня ещё тёмный лес. И преимущества, предоставляемые им для меня не очевидны. Кроме того, что он позволяет проводить авторизацию самостоятельно, т.е. без участия php, как Basic http authorization (или как-то так)
  • В-третьих есть обертка (wrapper) в виде класса, которая позволяет удобно и не нудно работать с LDAP

Однако, при поиске способов извлечения данных об авторизации пользователем в сети, я пришел к выводу, что сделать это можно только для IE. Т.к. он тесно интегрирован в Windows и умеет сам посылать заголовки о том, что он авторизован. Заодно, можно и имя пользователя извлекать (топик, faq). Не уверен, что этот способ приемлем, но всё же это лучше, чем ничего.

Пока вывод такой: сделать авторизацию, запрашивая LDAP можно. Выдрать имя пользователя, если используется не IE - нельзя.

понедельник, 2 июля 2007 г.

Временная победа.

Мне удалось подружиться с Eclipse. По-крайней мере он собрался. Что уже неплохо. Причиной успеха назначается выход Europe. Консолидированного update'а основных пакетов.

Всё теперь просто. И будет просто, пока проекты опять не разъедутся. Моей целью была установка AJAX Toolkit Framework. Вот какие шаги мне пришлось предпринять.

  1. Скачать Eclipse версии 3.3
  2. Скачать ATF 0.2.2
  3. Добавить ATF в список архивных файлов в модуле обновления Eclipse
  4. Отметить его галочкой и нажать кнопку "Select Required"
  5. Обрадоваться, что всё так просто и больше не надо отслеживать зависимости =)

После того, как всё заработало, пришло время настроить ATF, чтобы он знал DoJo (ради чего я всё это и затеял) и Script.aculo.us. Отмечу, что все шаги, которые я предпринимаю дальше подробно описаны в разделе проекта ATF.

  1. Качаем валидатор JS
  2. Качаем DoJo
  3. Качаем Script.aculo.us
  4. Прописываем все эти пакеты в разделе ATF настроек Eclipse
  5. Думаем. Удаляем ненужные.

четверг, 28 июня 2007 г.

Очередная попытка подружиться с Eclipse.

Попытки подружиться с этой замечательной средой разработки происходили давно. Каждый раз я пытался поставить Eclipse в результате обнаружения очередной фичи, которая в нём реализована. Это были три проекта IDE для php на основе Eclipse:

  1. PHP IDE
  2. PDT Project
  3. PHP Eclipse

Но ни один даже близко не подошел к Zend Studio. А именно этот редактор можно рассматривать как идеал. Хотя он заставляет лениться.

Есть ещё Aptana, но она больше подходит для HTML/JavaScript, что не является моим основным профилем.

Но вот начав изучать DoJo, я решил опробовать активно продвигаемый AJAX Toolkit Framework (ATF), который был создан всем миром для продвижения AJAX. И начались мучения со сборкой. В принципе, насколько я помню, я всегда собирал Eclipse по кускам где-то в течение дня, а потом забивал, и качал откуда-нибудь готовый проект. Уже собраный.

Но вот беда. Для ATF нет такого проекта. Поэтому надо все собирать самому. Не смотря на все Callisto и прочие фенечки обновлений, установить ATF спокойно не получилось. Он зависел от WTP, который совсем не WTS. Что характерно. Потом после чистки всего Eclipse, когда я уже запутался, что устанавливал, а что нет, оказалось, что я снес больше, чем надо, поэтому пришлось по кускам выковыривать URL фабрик обновлений для.

Пожалуй, хватит.

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

Однако, я не собираюсь расставаться с Eclipse. Потому что на главном сайте тикают часики до выхода новой версии, которая будет включать в себя 21 пакет. Они будут аккуратно подогнаны друг к другу. Может быть с Eclipse Europe мне повезёт больше ;)

пятница, 22 июня 2007 г.

Разработка сайта с использованием Subversion

Давно уже я хотел освоить svn и применить его в своих проектах. Да все не было идеи как же это сделать. Цикл разработки софта с использованием subversion был мне понятен. Однако четкого осознания как применять его в вебе не было. Однако, всё постижимо, и теперь я имею представление о цикле разработки.

Вот что получилось:

  1. Предположим, что хостинг у нас есть. И доступ к нему тоже есть, хотя бы и по FTP.
  2. Создаем репозиторий на любом компе. Если веб-сервера свои, то можно рядышком поставить ещё svn-сервер, а можно и на веб-сервере его развернуть. Но это будет ещё не скоро, поэтому сгодится любой комп, хоть даже и тот, на котором кодим. Не суть важно.
  3. Импортируем репозиторий на разработческую машину. Причем на этом же компе стоит весь необходимый софт, типа Apache, MySQL, PHP. Желательно версиями совпадающий с теми, что на хостинге.
  4. Вносим правки, тестируем. Тестировать надо не копию в репозитории, а локальную, чтобы правки вносить пачками, а не по одной строчке.
  5. Импортируем нашу протестированную и отлаженную копию в репозиторий, сопроводив её комментариями.
  6. Заливаем на веб-сервер.

Есть в этом сценарии ряд нюансов. С которыми я ещё до конца не определился.

  1. В какой среде будем разрабатывать. Есть Eclipse. В нём реализована поддержка svn. Если привыкну к нему, он и будет. Если не привыкну, тогда придётся подыскивать какое-нибудь средство для общения с репозиторием. Можно и из bash.
  2. Как заливать на веб-сервер. В идеале, должно быть инкрементальное копирование файлов. Но для этого, заливку надо запускать на веб-сервере. Т.е. на нем давать команду svn update. А для этого, нужен внешний IP для svn-сервера. А это расходы, которые пока хочется нивелировать. Следовательно, придется делать полное копирование. Для эти целей надо будет написать скрипт, который будет:
    • заходить на хостинг
    • скачивать все файлы
    • складывать их в архив на локальной машине
    • удалять их с хостинга
    • заливать на него копию из репозитория посредством svn export.

Вот такие пироги. Буду держать этот пост в тонусе при осуществлении изложенных здесь замыслов. Возможно, всё изменится ;)

четверг, 21 июня 2007 г.

Мои "must have" расширения для FireFox

Для работы

  • Web developer - первый и главный. Без него разработка html+css двигалась медленнее (project page).
  • FireBug - второй, но не менее главный. Без него отладка ajax-приложений и всего, что завязано на javaScript была труднее (project page).
  • Html Validator - проверка валидности страниц (project page)
  • IE Tab - если работать в Windows, то очень полезен (project page).
  • Tamper Data - просмотр отсылаемых запросов и заголовков в реально времени. С возможностью подмены ;) (project page)
  • YSlow - расширение для FireBug (именно), позволяющее контролировать выполнение 13 правил разработки JS от Yahoo (project page)
  • Firecookie - ещё один плагин для FireBug, позволяющий отслеживать и менять печеньки. В принципе, ту же функциональность предоставляет Web Developer, но здесь чуть удобнее реализовано (project page).

Не для работы

  • Gmail Manager - проверять гмэйл (project page).
  • Google Reader Wathcer - проверять ленту от Google (project page)
  • del.icio.us - закладки с одноименного сайта (project page).
  • Session Manager - сохранение всех вкладок, открытых в FF и прочие удобства.

Первая запись, или зачем я завел себе блог.

Долгое время я не не поддавался эпидемии блоггерства и лайвЖорналства, считая их производной формой графоманства.

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

А этот блог я завел исключительно для себя. Точнее для своего склероза, чтобы ему было сложнее жить.

Дело в том, что довольно часто, почитывая какую-то литературу, приходишь к мысли, что неплохо было бы задокументировать полученную информацию. Делать это на листочках TomBoy'я или заводить себе локальную wiki не хочется.

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

С целью забывать как можно меньше, и при отсутствии лени, я буду публиковать свои мысли и действия в этом блоге.