28-29 АВГУСТА
Киев, Украина
Киев, Украина
Просмотрел имеющийся список тем для конференции, но пока что не вижу одну, которая именя интересует больше всего. Очень часто бывает большая необходимость реализовать в своем модуле функционал, который уже есть или в самом друпале (core modules or core files) или в имеющихся модулях. Самый легкий пример -- использование Views или Ubercart в своих модулях.
К сожалению, все больше вижу что разработчики не желают читать исходники или просто не знают
что это можно сделать, но это большой минус для них. Быть может подобная тема (разработка темы/модуля с использованием имеющихся исходных исходников) будет также интересна.
Я взагалі відчуваю що в друпалі э багато чого прихованого. Дійсно вивчивши всы нутрощі Друпала, можна багато чого гарного напрограмити, щоб не находити велосипед наново..
Прошу прощения за ответ на русском. Не хочу позориться своими познаниями украинского :(
Так вот, разрабатываю сейчас проект, в котором необходимо импортировать порядка 3К записей в продукты. Для продуктов юзается Ubercart. Продукты расширены полями CCK и к ним прикручена таксономия.
Вот так вот в лоб решить не получилось -- node_save забирает кучу памяти (256К не хватило).
А вот сохранение термов таксономии сработало (категорий всего порядка 100, так что тут повезло).
Так вот, пришлось ковырять node.module и делать копии функций у себя, убирая все ненужное (в основном, обрезая вызовы ненужных hook_nodeapi). Чтобы определить ненужный вызовы пришлось смотреть а что они делают.
Это самый банальный пример. Второй банальный пример -- использование Views в модулях. Не копая исходники задачу решить крайне сложно.
К чему я все это написал -- долго пришлось рассказывать остальным разработчикам какие параметры юзаются в функциях и как их найти и с какого бока к этому вообще подходить.
Видимо не правильно подошли к реализации node_save() я импортил посредством node_save 15000 топиков форума +150000 комментов к ним все прошло гладко. Используйте при написании импорта http://drupal.org/project/batchapi данная "фича" позволяет разбивать весь процесс на более мелкие. Память там совершенно не причем умирает время исполнения скрипта. Так вот данный модуль позволяет разбивать задачу на подзадачи т.е. импорт 150000 комментов к примеру по времени занимает 15-20 минут (выполнения скрипта) что недопустимо на хостинге. Если побить его на пачки т.е. импортить по 1000 комментов 150 раз причем 1000 комментов сохраняются к примеру за 8 сек что не нарушает никаких регламентов по времени выполнения скриптов.
Изучил друпал сначала по схеме базы данных (тоже была задача импорта, всталял все напрямую) два года назад, затем "походами на медведя" в сорцы. Сейчас при работе с чем-то закрытым, очень не хватает возможности залезть в код и посмотреть как работает.
Ковирял в user.module, profile.module - доковирял до неузнаваемости.
В команде много мы делали нового, и только после ресерчинга Друпала, находил то что мы сами сделали.
Яркий пример модуль Masquarade.
К чему веду - тривиальная задача, если она у вас на мисли - она 100% есть в друпале - только поискать, погуглить и все.
Тот же CCK, Views - верю и знаю многому там можно поучится. Чтобы потом с разумом исплользовать.
И мне очень нравится, что в друпале как то интуитивно понимаш его.
Нужно перехватит Submit - есть hook_submit()
Надо validate - есть hook_validate()
И много другого.
Но и сложности тоже бывають..
Вот только вопрос.. Выносить это в отдельую презентацию или нет. Тема очень уж размыта и требует четкой формулировки что именно включить в нее.
Я могу хоть как-то рассказать, но вот задать вектор четкий не могу, уж очень щас занят -- дедлайн :(
Можно не обязательно готовить презентацию. Можно организовать обсуждение (круглый стол) - все, кому интересна эта тема и есть что добавить - присоединяться к вам.
Формат круглого стола такой - есть модератор (человек, который вдадеет темой и ведет обсуждение, не допускает "зависания" беседы и возвращает все в нужное русло, если участники отвлеклись), есть примерный план обсуждения (который можно набрость заранее, а потом, в самом начале обсуждения, дополнить предложениями участников), есть флп-чарт, на котором записываются основные поинты, что бы можно было потом восстановить нить дискуссии и вспомнить к чему пришли. Я думаю, что на днях напишем пост в блог про возможные форматы выступлений, что бы поле для деятельности расширить :).
Предолжите эту тему на странице докладов и попросите, что бы помогли вам ее дополнить. Посмотрите на отзывы участников и потом решите - проводить стол или нет.