Модераторы: 2man
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Drupal + сервисы Google, добавление дополнительных 
:(
    Опции темы
drupalsolutions
Дата 31.1.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 31.1.2008

Репутация: нет
Всего: нет



Начну с небольшой преамбулы. Полтора месяца назад я решил найти вакансию (местную), связанную с Drupal. Разместил соответствующее объявление в «банке вакансий и резюме» и начал ждать. На следующий день мне позвонил человек и предложил совместно поработать – работа заключалась в переносе существующего проекта на cms Drupal. Как оказалось позже, этим проектом оказался портал «Телеграф» (он же Telegraf.by), а звонящим был его управляющий – Ян Розум (Yan Rozum). На следующий день я посетил эту «чудо-контору», где разузнал требования к выполняемой работе и кое какую другую информацию. В итоге я выяснил, что в перспективе необходимо решить две задачи: задача первая – это интеграция Drupal и сервиса Gmail и задача вторая – построение социальной сети. Сейчас я хочу рассказать о первой задаче, т.к. до второй по определенным обстоятельствам мне не довелось добраться.

Каким образом можно использовать Gmail в собственном проекте? Дело в том, что Google предоставляет такую возможность как «Использование Gmail в своем домене». Объясню проще: допустим вы имеете свой проект с условным именем example.com и вы желаете открыть собственный почтовый сервис, т.е. пользователь «Николай», зарегистрировавшись у вас получил бы в итоге почтовый ящик с именем [email protected]. Но у вас нет желания заниматься развертыванием и поддержкой такой почтовой службы. При желании вы можете «договориться» с Google и получить возможность регистрировать новые почтовые аккаунты (собственно это не только почтовые аккаунты) на Google, но уже под собственным доменным именем – в итоге пользователь получит такое же имя ([email protected], а не [email protected]), но со всеми возможностями Google (объем почтового ящика от 6GB, отличный анти-спам фильтр и др.) – т.е. как если бы пользователь сам зарегистрировался на Google. Эта возможность называется Provisioning. В реальности Provisioning дает обширные возможности для работы с вашими пользовательскими аккаунтами на Google. Для внедрения  Provisioning в Drupal имеется специальный готовый модуль (googleappsapi + googleappsusers), который работает лишь частично, поэтому мне пришлось написать свой собственный модуль который использует Zend Gdata. Модуль довольно простой и в тоже время функциональный.
На уровне кода он делает следующее:
  • Вставляет в форму регистрации нового пользователя дополнительные поля (Google для регистрации также требует Имя и Фамилию); вставляет аналогичные дополнительные поля в форму изменения пользовательских параметров; делает проверку на вводимые значения;
  • Регистрирует пользовательский аккаунт на Google при регистрации нового пользователя в Drupal; удаляет пользовательский аккаунт на Google при удалении его в Drupal; обновляет параметры пользователя на Google при изменении их пользователем в Drupal.

Этот модуль также является неплохим примером (во всяком случае я так надеюсь) того каким образом можно добавлять собственные поля в форму регистрации новых пользователей (это не модуль Profile – у него другие задачи).
Прикрепляю здесь этот модуль (в нем имеется много интересных решений, на поиск которых ушло порядочное количество времени). Модуль называется TELEGRAF_ModPack. Также прикрепляю здесь и сборку Set_Zend+Gdata – это набор тестов для запуска Gdata (по непонятным причинам Zend Gdata отказывается сразу работать – выдается ошибка «captcha token required», но traceGdata.php из этой сборки решает эту задачу).

Также в плане интеграции почты есть еще и вторая очень интересная возможность. Если пользователь при просмотре своего почтового ящика предпочитает использовать веб-интерфейс, то делать это он может прямо через ваш проект – вы можете разместить на своей странице Гаджет для работы с почтой и пользователь увидит (после аутентификации) свой почтовый ящик прямо в контексте вашего проекта. Эта возможность реализуется через «Single Sign-On Service».

Теперь немого о том почему я не дошел до второго этапа (внедрения социальной сети) и почему я собственно пишу здесь обо всем об этом. Начнем с конторы Телеграф. Что она из себя представляет – сидят в комнате 15-20 человек, ищут и интересные новости и переразмещают их у себя (т.е. попросту эксплуатируют чужой контент). Также они занимаются и хостингом (реселлинг – т.е. перепродажа) – Swisshost.by (швейцарский хостинг в Белоруссии) – это тоже они. Посещаемость этого проекта – 0.5млн. человек в месяц (на мой субъективный взгляд не много и не мало).
Теперь об условиях. Возможно кому-нибудь в будущем доведется увидеть предложения работы от них, поэтому хочу рассказать по поводу оценки ими проделанной работы. Когда я пришел в первый раз к заказчику, я договорился с ним на оклад (не! сдельно). Договорились на 500$ в месяц. Сумма мелочная, т.к. даже в Белоруссии php-программист уже может найти оклад и в 800$-1300$, но меня это не сильно заботило, т.к. моя главная цель была найти вакансию связанную с Drupal. Поначалу все было нормально. Прошло полмесяца и часть работы была выполнена – заказчика все устраивало. Далее возникли сложности с Single Sign-On и хостингом – как оказалось, швейцарский хостинг в реальности был весьма посредственным (один выделенный сервер упал в самый неподходящий момент, а второй так и не удалось нормально настроить). Все проблемы мы совместно с администратором все-таки решили, но время было упущено (не! по моей вине конечно). Попутно я пытался взять аванс (на учебу срочно требовались деньги), прошло уже пол месяца и по договоренности ранее я рассчитывал получить его вовремя. Но управляющий вдруг не с того ни с сего куда то пропал – телефон отвечал «абонент находиться вне зоны действия сети» (От управляющего я научился одной интересной «вещи». Если вам нужно сделать так что бы вас никто не смог беспокоить по телефону, но при этом вы не желаете выключать телефон, сделайте так: включите переадресацию на несуществующий номер – звонящий будет всегда получать ответ «абонент находиться вне зоны доступа», а вы при этом сможете свободно звонить). Настал момент когда прошел ровно месяц (аванс я так и не получил – две недели не мог связаться). К этому времени SSO так еще и не удалось внедрить и тут мне заказчик заявляет «Знаешь, я рассчитывал внедрить две задачи (Provisioning и SSO) за один месяц, а ты выполнил только первую и частично вторую. Давай договоримся так – сейчас (после пришествия месяца) я тебе даю 50%, а остальную часть ты получишь когда доделаешь SSO. Может я и поступаю несколько буржуазно, но больше я ничего не могу тебе предложить.». Я был в шоке. Такого «скотства» я еще не видел – работать еще две недели за спасибо... Он планировал, а я по его мнению не вписался в его планы (хотя я не! нанимался на сдельную работу)... Конечно после этого я не стал ничего доделывать – я просто взял часть денег и стал тянуть время (плевать на остаток –  принципы дороже). В итоге Телеграф потерял два месяца + недописанный модуль с которым врядли можно что то сделать. 
Также размещаю здесь результат своей работы (т.е. «сливаю» качественные наработки) –  естественно я не буду соблюдать какую либо коммерческую тайну – в данном случае это просто не уместно.

После этого я принял решение больше не связываться с прозападникам и всегда брать предоплату.
Я очень надеюсь что мой опыт поможет вам избежать подобных ситуаций.
PM MAIL   Вверх
m0ro
Дата 5.2.2008, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 800
Регистрация: 19.5.2007

Репутация: 2
Всего: 68



что ж, спасибо за сообщение. чужой опыт всегда полезен. если есть (а я так думаю, что есть), чем поделиться в плане советов, информации - милости просим. если есть вопросы - опять же, милости просим..
желаю больше в такие ситуации не попадать
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Drupal | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.