Как разобрать формы Dynamics CRM? - PullRequest
2 голосов
/ 06 мая 2019

У нас есть интеграция с несколькими поставщиками CRM, которые позволяют вам создавать формы (HubSpot, SalesForce, Eloqua, Formspree и т. Д.).Эти формы затем отображаются в iFrame вместе с контентом, который создается с помощью нашего инструмента.Визуальный аспект этих форм очень важен, поэтому мы должны убедиться, что их стилизация соответствует остальному создаваемому контенту.Большинство из этих форм являются либо самостоятельным HTML-файлом, либо имеют встроенный скрипт.Для первого варианта использования авторы вставляют ссылку на наш файл JavaScript, который позволяет нам удалять стили из формы, внедрять наши стили и общаться с нашим приложением (например, после успешной отправки формы мы можем показать остальную часть содержимого)., так далее.).Последний вариант использования аналогичен, за исключением того, что наш скрипт уже присутствует, поскольку встраивание происходит с нашей стороны.

Наш текущий рабочий процесс имеет некоторые недостатки:

  • для наших клиентов, это отнимает много времени и требует технического персонала,
  • каждый раз, когда создается новая форма, нам нужно подготовить стили для нее,
  • эти формы очень динамичны в своей структуре HTML, чтоозначает, что стили часто нельзя использовать повторно,
  • каждый раз, когда форма обновляется, у нас может не быть готовых стилей для нее - что приводит к тому, что форма не имеет стиля.

Мысейчас думаю о альтернативных решениях .Одна мысль, которая приходит нам в голову:

  • Можем ли мы загрузить эти формы и проанализировать их модель данных?Включая:
    • заголовки и абзацы,
    • метки и соответствующие им входы / выборки / флажки и т. Д.
    • скрытые вводы
  • Можем ли мы затем повторно обработать форму этой формы?

Это позволило бы нам иметь дело с данными форм (тогда синтаксический анализ становится проблемой) и полностью контролировать представление форм и их отображение (мы заботимся о HTML).и CSS).Мы считаем, что вышеперечисленное должно произойти на стороне клиента, поскольку эти поставщики форм CRM выполняют определенный уровень профилирования, например загружают разные формы на основе файлов cookie посетителей.
При рассмотрении вышеупомянутой идеи возникают определенные вопросы,например:

  • Как мы будем обрабатывать проверку ввода?
  • Что происходит, когда появляется новый тип данных:
    • Как мы можем проанализировать неизвестное?
    • Откуда мы вообще знаем, что нам нужно его проанализировать?
  • Как контролировать (/ проверять), были ли данные успешно переданы в CRM?

Есть ли другие альтернативы, которые мы исследуем?

...