Thread [YAML::PP] Include von YAML welches nicht aus Datei kommt (6 answers)
Opened by barney at 2023-11-03 18:19

barney
 2023-11-03 18:19
#195392 #195392
User since
2008-08-31
132 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

im aktuellen Projekt verwenden wir YAML zur Konfiguration. Die Konfigurationen kommen aus der Datenbank, also nicht vom Dateisystem. Ein Wunsch ist dass die Konfiguration aus Komponenten zusammensetzbar ist. Die erste Idee war die Verwendung eines Tools wie Cue, aber diesen Schritt wollen wir aktuell nicht gehen.

Die zweite Idee ist die Verwendung von CPAN:YAML::PP::Schema::Include. Das scheint zu funktionieren. Aber weil die YAML nicht als Dateien vorliegen muss man einen eigenen loader angeben, der die Daten aus der DB nachlädt. Dazu muss man aber ein paar Workarounds machen damit Include.pm nicht abbricht, weil es intern von Dateien ausgeht. Mit diesen Workaraounds können wir aber zur Not leben.

Die Frage ist ob jemand eine bessere Idee hat. Ideal wäre es wenn man ohne großen Aufwand eigene Prozessierungsanweisungen angeben könnte. Dann könnten man z.B. folgendes benutzen:

Code: (dl )
1
2
3
4
5
6
7
8
---
workflow:
- s1
- s2
sections:
my_section: *section_42

snippets: !load_snippets otobo-snippet-42


Das Snippet 42 wäre dann in etwa:

Code: (dl )
1
2
3
4
5
6
7
8
---
snippets:
- &section_42
key1: val1
key2: val2
- &section_43
key1: val11
key2: val22


Die Syntax mit den Ankern und Aliasen habe ich aber noch nicht getestet.

View full thread [YAML::PP] Include von YAML welches nicht aus Datei kommt