Как я могу динамически определить логику копирования и части моего приложения через веб-интерфейс? - PullRequest
1 голос
/ 14 декабря 2011

Мы много тестируем электронную почту.Прямо сейчас вся копия и логика для каждого электронного письма жестко запрограммированы, но мы хотим иметь возможность динамически обновлять как копию, так и логику через веб-интерфейс (чтобы мы могли тестировать итерации быстрее и проще).

Пример текущей жестко запрограммированной логики (в Ruby) может выглядеть примерно так:

# weekly email

if @user.emailed_before?
  "Hey again #{@user.name}!"
else
  "Hey #{@user.name}!"
end
...

Что было бы хорошим способом определить это с помощью псевдокода (или некоторогопростой синтаксис) в веб-интерфейсе?

Существуют ли уже оптимизированные синтаксисы и синтаксические анализаторы для этого материала?

Сначала я хочу сделать что-то вроде этого:

Предварительно определите определенные переменные (USER_NAME, USER_EMAILED_BEFORE и т. Д.), Затем определите некоторый базовый синтаксис и поток управления, а затем обновите логику и копию в интерфейсе следующим образом (этот конкретный подход основан на шаблонизаторе Усов):

{{ IF USER_EMAILED_BEFORE }}
<p>Hey there old friend, {{USER_NAME}}!</p>
{{ ELSE }}
<p>Hey there stranger, {{USER_NAME}}!</p>
{{ END }}

Это попадет на сервер / базу данных в виде текста, а затем будет проанализирован в шаблон, который будет использоваться при отправке реальных писемt out.

Это разумный подход?Есть ли лучший и / или более простой способ сделать это?

Буду очень признателен за отзывы!Спасибо!

...