Hallo,
hier mal ein Beispiel wie ich mir eine dokumentenbasierte Konfiguration vorstelle:
{
"_id": "id_builder_area_01",
"contract": "DBRef..",
"position" : 2,
"name" : "Beginn und Dauer",
"inquiries" : [
{
"_id": "id_builder_inquiry_01",
"name": "Vertragsart",
"phrase" : "Möchten Sie einen befristeten oder unbefristeten Arbeitsvertrag abschließen?",
"short_description": "Sie können sich hier direkt für einen befristeten...",
"long_description": "Einige Vorfragen zur Auswahl eines befristeten oder unbefristeten Arbeitsvertrags ...",
"reply": {
"type": "MULTIPLE_CHOICE",
"entities": [
{
"option": "Unbefristeter Vertrag",
"value": 0,
"tooltip": "Lorem Ipsum",
"next_inquiry": "id_builder_inquiry_03"
},
{
"option": "Befristeter Vertrag",
"value": 1,
"tooltip": "Lorem Ipsum",
"next_inquiry": "id_builder_inquiry_03"
},
{
"option": "Vertragsart erörtern",
"value": 2,
"tooltip": "Lorem Ipsum",
"next_inquiry": "id_builder_inquiry_02"
}
]
}
},
{
"_id": "id_builder_inquiry_02",
"name": "Erörterung",
"phrase" : "Wählen Sie eine der folgenden Möglichkeiten aus.",
"short_description": "Anhand Ihrer Auswahl ermitteln wir automatisch, ob für Sie ein befristeter oder unbefristeten Arbeitsvertrag in Frage kommt",
"reply": {
"type": "MULTIPLE_CHOICE",
"entities": [
{
"option": "Frage Nr.1",
"value": 0,
"next_inquiry": "id_builder_inquiry_03"
},
{
"option": "Frage Nr. 2",
"value": 1,
"tooltip": "Lorem Ipsum",
"next_inquiry": "id_builder_inquiry_03"
}
]
}
},
{
"_id": "id_builder_inquiry_03",
"name": "Arbeitnehmerinformationen",
"phrase" : "Bitte fügen Sie die persönlichen Daten des Arbeitnehmers an.",
"reply": {
"type": "INPUT",
"next_inquiry": "id_builder_inquiry_04",
"entities": [
{
"type": "SELECT",
"name": "gender",
"validator": "TODO",
"required": true,
"options": [
{
"value": "m",
"text": "Herr"
},
{
"value": "f",
"text": "Frau"
}
]
},
{
"type": "DEFAULT",
"name": "first_name",
"validator": "TODO",
"required": true,
"tooltip": "Ihr Vorname"
},
{
"type": "DEFAULT",
"name": "last_name",
"validator": "TODO",
"required": true,
"tooltip": "Ihr Nachname"
}
]
}
}
]
}
Wie man dort gut sieht bietet diese Art der Persistierung eine durchaus höhere Flexibilität. In einem RDBMS ließe sich dieses natürlich auch abbilden, aber es würde doch einer erheblichen Anzahl an Tabellen bedürfen.
MfG
M.Klein