Антон Кузьменко выступил с интригующей темой “WebForm vs EntityForm. Кто кого?”. Drupal Cafe #18
Видео с презентации вы сможете увидеть, перейдя по ссылке https://youtu.be/vChlw10QVL0?list=PLtUZRIj1OWYzCGb3OCYMVYqnrJ-EpH0Ot
1. PDFer: создаем PDF документы легко.
Троеглазов Андрей
WebForm vs EntityForm. Кто кого?
Кузьменко Антон
2. Кузьменко Антон
Junior Drupal developer
Мой опыт связанный с Drupal
● Development
● Собственный модуль
● Интеграция со сторонними сервисами (amoCRM, Trello,
Slack, Instagram)
● Проведение DrupalSchool в НГТУ
● Котрибьютор на Drupal.org
4. ● WebForm: Модуль, который позволяет Вам добавлять
формы. Каждая форма хранится в виде node. Таким
образом вы добавляете новые формы как и другой контент
сайта.
● EntityForm: Модуль Entityform с виду такой же, как и веб-
формы, но с использует API сущностей. Он использует
обычное Field API в качестве своеобразного конструктора
форм. Следовательно, вы можете добавить любые поля,
которые вы хотите.
Что это?
5. Базовые отличия
WebForm EntityForm
- Форма - нода - Форма — сущность
- Удобный и понятный UI - Не понятный UI для рядового пользователя
- Отправка настраивается из самой формы - Отправка при помощи Rules
- 484,875 reported installs. С 2004 года. - 18,637 reported installs. С 2011 года.
- Несколько типов полей - Работает со всеми полями
- Поля не создают отдельных таблиц - DrupalWay. 5 форм по 10 полей – 100 новых таблиц.
- Результаты хранит по-своему - Результаты - сущности
- Для своей работы создаёт новый CT - Не создаёт CT
6. WebForm
● Большое количество модулей, которые интегрируются с ним.
● Т.к. формы - это ноды, они наследуют все функции нод
● Нет интеграции с большим количеством модулей, поскольку не
используются сущности.
● Интеграция с Views ограничена
Интеграция
7. EntityForm
● Entityforms использует Entity API, что гарантирует работу с:
• Views
• Rules
• Entity Reference
• Любой модуль для полей в Drupal, в том числе: Data, File,
Geofield, Address, Media и многое другое.
● Другие инструменты для Entity будут работать с модулем
● Интеграция с Field group
● Интеграция с Conditional Fields
Интеграция
8. ● WebForm: Если из коробки – немного магии. Или WebForm
UUID, WebForm Features.
● EntityForm: Features из коробки
Переезд
Теминг
● WebForm: Если из коробки – немного магии. Или WebForm
UUID.
● EntityForm: Есть машинное имя – есть теминг.
9. ● WebForm: #2075941: порт-формы в Drupal 8
● EntityForm: Уже в Drupal 8 (eForm)
Drupal 8
Выгрузка результатов
● WebForm: Выгрузка в CSV из коробки.
● EntityForm: Выгрузка используя Views data export
10. ● Процесс взаимодействия с Entityform должны быть гораздо более
знакомым, чем писать собственный код, который интегрируется с
Webform.
● Программирование для Webform является отличным способом
узнать Form API.
Entityform Types и Entityform submissions –можно использовать
стандартные hooks, чтобы взаимодействовать с ними.
● Вспомогательные классы, такие как EntityFieldQuery и Entity
Metadata Wrappers.
Программирование
11. WebForm
● Нужен удобный интерфейс для изменения форм
● Большое количество форм с большим количеством полей
● Устраивает стандартный функционал или есть нужный
модуль для его расширения
● У вас нет проблем с темингом и переносом
● Вы – кликер с одним инстансом
● Вы - старовер
Когда использовать?
12. EntityForm
● Владелец сайта умеет добавлять и редактировать Content
Types
● Не большое количество форм или уверены, что +100500
новых таблиц не создают нагрузку
● Нужны сложные и не стандартные поля
● Есть опыт разработки используя сущности
Когда использовать?