Главной целью практически любого ревью является отсев деффектов, а в последнюю очередь просев форматирования. Посему, именно на них стоит концентрировать внимание в первую очередь при прогоне глазами кода.
Вот этапы, которые лично я использую в ревью (можно предлагать в комментах дополнения):
«Наших» модулей оказалось довольно много и, даже просто рассказывая в одном предложении про каждый из модулей, мы бы потратили не один час. Очень порадовало то, что были вопросы о том, как опубликовать свой модуль? какие преимущества? и др.
Сейчас процедура получения права на публикацию модуля усложнилась, но это к лучшему. Благодаря такой процедуре, будут отсеиваться бесполезные модули и те, которые дублируют без особых причин функционал уже существующих модулей.
В то время как ваш модуль может находиться в песочнице длительное время, вы можете уже сейчас публиковать патчи, которые исправляют ошибки или добавляют новые фичи в существующие contrib-модули, разработчиком которых вы не являетесь.
Contrib-модулями называются модули, которые были созданы и опубликованы на drupal.org сторонними разработчиками. Любой желающий может их использовать (contribution).
23-го апреля в Москве состоялась конференция DrupalConf. Наша доблестная команда в составе 4х человек тоже посетила событие, поэтому, спешу поделиться впечатлениями.
Конференция прошла в районе ВДНХ. Я был в Москве первый раз, поэтому все время был под впечатлением окружающих соружений и памятников:
Сжатие файлов уменьшает трафик от сервера к посетителю сайта, а значит посетитель сможет быстрее загрузить страницу и сервер не будет передавать "лишний" трафик.
Мы с вами рассмотрим:
Какие бывают виды сжатия?
Что предлагает ядро Drupal для решения этой проблемы?
Ведение проектов веб-студии требует наличия ряда инструментов:
Система управления проектами (планирование, задачи)
Багтрекер (ведение разработки и учет деффектов)
Система управления кодом (администрирование репозиториями)
Система документооборота (хранение общей и проектной документации)
Система биллинга времени (слежение за расходом времени на задачи)
Система рассчетов и бухгалтерии
Существует масса конкретных продуктов и решений для каждой из этих категорий, и я не буду расписывать все их. Вместо этого, я опишу что использовали мы, как эволюциировал наш выбор и на чем вы в конце-концов остановились.
Одним из самых развиваемых направлений сайтостроения в последние годы являются социальные сети, главная задача такого сайта дать большему количеству людей площадку для общения. Количество пользователей сайта возрастает и уследить изменения которые они делают ставится все сложнее. Для удобного наблюдения за активностью сайта или пользователя существуют специальные модули, которые мы сейчас и рассмотрим.
Цель рассматриваемых модулей отследить действия пользователя и вывести в удобном виде. Чем больше действий модуль может фиксировать тем лучше. Другой важный показатель — интеграция с другими модулями и наличие развитого API.
В последнее время NoSQL стало модным словом в веб-разработке. Некоторые проекты используют подобные БД для узких частей архитектуры, некоторые мигрируют на них полностью. Такие БД как правило отличаются от реляционных простой архитектурой и высокой масштабируемостью. На данный момент нас интересует MongoDB как одна из наиболее популярных NoSQL баз данных. Постараемся выделить сильные и слабые стороны, рассмотреть некоторые особенности разработки, область применения в друпале, а также постараемся понять на практическом примере что означает термин Map/Reduce.
MongoDB это что-то среднее между key-value хранилищами (которые обычно быстры и масштабируемы) и традиционными реляционными базами данных (MySQL, PostgreSQL и т.п.), которые предоставляют расширенные запросы и богатый функционал.
В первой части статьи про составное CCK-поле это поле было создано. Настало время добавить к этому полю отрисовку графиков в реальном времени. Этому и будет посвящена вторая часть статьи.
Напомню, что в конце первой части статьи мы получили вот такое поле:
Мы добавим на форму создания ноды таблицу, где пользователь сможет вносить данные и добавлять нужное количество строк в таблице. Об этом будет первоя часть статьи. Также прикрутим отрисовку графика по этим данным в момент их ввода, то есть "на лету" - это уже вторая часть.
Основные проблемы, которые нужно решить:
Одна строка таблицы должна была стать единым элементом, чтобы можно было на этапе валидации проверить заполнение всех ячеек одной строки таблицы.
Вывод в виде таблицы как на форме, так и на странице ноды был четко указан на мокапе и в требованиях.
Возможность добавлять, обрабатывать и сохранять в базе неограниченное количество рядов данных.