Comments 12
> такой центр создания страховых продуктов, который бы не требовал специального программирования (равно как и дорогостоящих специалистов)
> Поэтому программист может просто скопировать текущий активный калькулятор
fail
> Поэтому программист может просто скопировать текущий активный калькулятор
fail
UFO just landed and posted this here
Придумали API, который описывается в виде XML. Вполне ограниченный набор полей, типов, действий и т.п. Он небольшой и описывает достаточно большой набор вариантов как полей, так и действий с ними. Т.е. текстовое поле, длина такая-то, может содержать такие-то символы, минимальная длина такая-то и все в таком духе.
Потом это уже все автоматически процессится и получается на выходе уже визуальное представление в виде html/css/js — бэкэндная поддержка на сервере. Представление в общем виде легко меняется через CSS, но в частности конкретно под какой-то проект можно и его скелет поменять, это просто связка html+xslt.
Потом это уже все автоматически процессится и получается на выходе уже визуальное представление в виде html/css/js — бэкэндная поддержка на сервере. Представление в общем виде легко меняется через CSS, но в частности конкретно под какой-то проект можно и его скелет поменять, это просто связка html+xslt.
UFO just landed and posted this here
Copy Source | Copy HTML
<CONTROLLER>
<Element id="Name" type="userinput" datatype="single" required="true">
</Element>
<Element id="_HelloName" type="calculated" required="true">
<Formula>
<Depends>
<f1 on="value" of="Name" />
</Depends>
<Map type="concat" trim="both">
Hello, {f1}!
</Map>
</Formula>
</Element>
</CONTROLLER>
<MODEL>
<Element id="_HelloName">
<Map type="xml">
<identity />
</Map>
</Element>
</MODEL>
<VIEW>
<Element id="Name" type="text" tab="Пример">
<title>Как вас зовут?</title>
<alert>Ожидается имя в написании русскими буквами</alert>
</Element>
<Element id="_HelloName" tab="Пример">
</Element>
</VIEW>
В CONTROLLER мы описали требования к полям, во VIEW их внешний вид на странице.
Что касается вопроса линейности зависимостей, то она линейна, т.е. нет ветвлений (ну в прямом понимании этого слова, безусловно, есть такие понятия, как участвует поле в форме или нет в зависимости от ранее указанных значений, но это уже другая тема). На практике это означает, что клиент сначала указывает поле А, а только потом уже может произойти обработка логики Б, которое от него зависит. Вопрос про «сначала В, а потом А» не понял, т.к. не смог представить это на практике.
UFO just landed and posted this here
Весь продукт сделан на CMF Mozart, который, в общем, крутится на всех этих W3C технологиях. Когда-то у нас в API даже были средства по работе с Xforms, но они не прижились. Т.е. они были псевдо элементами, поскольку браузеры все это не поддерживали и весь процессинг приосходил на сервере. Это долгая история, но сейчас, глядя на развитие различных стандартов, включая HTML5, я бы сказал уже, что у XForms нет особого будущего. В общем, мы от них отказались в самой системе и особо не рассматривали в Insurance как продукте, потому что все-таки задачи хоть и схожие, но хотелось иметь что-то специфическое, конкретное под нашу задачу, а не униврсальное, и потому со своими причудами типа XForms.
Пример, озвученный вами, решается ведь просто: разместите сумму в начале списка (пусть это будет диапазон), а все остальные поля поставьте в зависимость от этой суммы. =) Разве это не решение?.. Мы ведь делали свой продукт не на основе какой-то теории, был вполне реальный пример с довольным большим списком практических страховых продуктов. И под все их них возможности Insurance подошли. Хотя изначально вопрос о линейности стоял, но практического применения иного алгоритма просто не смогли найти.
Пример, озвученный вами, решается ведь просто: разместите сумму в начале списка (пусть это будет диапазон), а все остальные поля поставьте в зависимость от этой суммы. =) Разве это не решение?.. Мы ведь делали свой продукт не на основе какой-то теории, был вполне реальный пример с довольным большим списком практических страховых продуктов. И под все их них возможности Insurance подошли. Хотя изначально вопрос о линейности стоял, но практического применения иного алгоритма просто не смогли найти.
UFO just landed and posted this here
Задача ведь не сделать так, как хочет пользователь. Сколько людей — столько и мнений. Задача — сделать нормальную возможность ПОЛУЧИТЬ итоговую сумму с оформленной формой. Надо просто решиться и выбрать, как это преподнести клиенту. Чем у клиента больше возможностей, тем сложнее выбор. Должна быть одна форма. Все.
Система ведь для того и нужна, чтобы оперативно вносить новые данные или изменять старые. Если по каким-то причинам продажи не пойдут и причиной этому будет форма, ее можно оперативно поменять. Для этого система предлагает все условия.
Спорить можно долго. Мы реализовали то, что, как нам кажется, достаточно и при этом не усложняет систему настолько, чтобы писать толмуды документации. Возможен вариант иного развития событий.
Система ведь для того и нужна, чтобы оперативно вносить новые данные или изменять старые. Если по каким-то причинам продажи не пойдут и причиной этому будет форма, ее можно оперативно поменять. Для этого система предлагает все условия.
Спорить можно долго. Мы реализовали то, что, как нам кажется, достаточно и при этом не усложняет систему настолько, чтобы писать толмуды документации. Возможен вариант иного развития событий.
UFO just landed and posted this here
Вообще, если это интересно, то имеется демо-сайт, где можно увидеть разные варианты калькуляторов и полазить внутри, посмотреть, как они сделаны. Могу выслать в личку.
Sign up to leave a comment.
Insurance. Часть I: Страховые калькуляторы своими руками