Skip to content

docs(config): add server.yaml generator page and link from Quick Start#151

Open
MrMurdog wants to merge 3 commits intoBOSWatch:developfrom
MrMurdog:develop
Open

docs(config): add server.yaml generator page and link from Quick Start#151
MrMurdog wants to merge 3 commits intoBOSWatch:developfrom
MrMurdog:develop

Conversation

@MrMurdog
Copy link

@MrMurdog MrMurdog commented Feb 8, 2026

Embed HTML generator page in docs. Includes back button to docs start page. Supports standard plugins/modules via schemas (AI-assisted).

image

Embed HTML generator page in docs. Includes back button to docs start page.
Supports standard plugins/modules via schemas (AI-assisted).
@Schrolli91
Copy link
Member

Looks nice - I'll take a look at it the next days.
@KoenigMjr maybe you will take a look at this, too?

@KoenigMjr
Copy link
Contributor

KoenigMjr commented Feb 9, 2026

Coole Sache!!
Und wirklich eine tolles Tool und eine super Idee, die es jedem erleichtert, mit der Config umzugehen.

Folgende Sachen sehe ich auf den ersten Blick beim herumprobieren:

KRITISCH

  • Auswahl von module/Plugin/router (Dropdown, im code "kind" und des Namen des Gewählten (Dropdown, im Code "title") wird nicht gegenseitig geprüft.
    Das heißt, ich könnte ein Modul "Telegram" erstellen oder aber auch ein Plugin "filter.ModeFilter".
    Beim Validieren ist das aber ok, sollte es aber nicht IMHO.

WUNSCHLISTE

  • Die einzelnen Router auf der linken Seite mit einer Code-Faltung ausstatten, so wie rechts bei der "Beispiel-Startkonfig" und "Self-Tests (Debug)" (Dieses Symbol: ▸)
  • beim filter.regexFilter können ja unzählige checks passieren. Eventuell die Möglichkeit, mit "+" einen neuen Check hinzuzufügen und dann Name/field/regex einzeln in Feldern, stilistisch wie z.B. beim doubleFilter mit "ignoreTime" und "maxEntry".
    Ist ja durchaus relevant, dass man mehrere unterschiedliche Filter zusammen in einen Filter baut, da das Verhalten ja unterschiedlich ist, ob man zwei Filter hintereinander schaltet oder in einen Filter zwei Checks (ODER / UND).(Siehe Appendix)
  • Beim "module/descriptor" auch statt einem Listenfeld die Konfigurationspunkte in einzelne Felder verpacken.
  • Für Entwickler eine "Hilfe", wie man neue Module/Plugin einfügen kann. Ich z.B. arbeite gerade an der Implementation vom "Multicast"-Modul (Bekannt aus BW1). Das ist kurz vor der Fertigstellung und ich würde das dann gerne auch in deinen Config-Editor einfließen lassen.

FRAGE

  • Was macht der "YAML exportieren"-Knopf? Der Import ist super, da hab ich gleich mal meine Config zum Spielen verwendet :) Aber der Export macht nichts und herunterladen ist ja richtig gut optisch neben dem Validieren (zuerst validieren, dann herunterladen, top!)

Cool stuff!!
And really a great tool and an excellent idea that makes it much easier for everyone to work with the config.

Here are a few things I noticed at first glance while playing around with it:

CRITICAL

  • The selection of module / plugin / router (dropdown, called "kind" in the code) and the name of the selected one (dropdown, called "title" in the code) are not cross-validated.
    This means I could create a module called “Telegram” or, alternatively, a plugin called “filter.ModeFilter”.
    Validation currently accepts this, but in my opinion it shouldn’t.

WISHLIST

  • Add code folding to the individual routers on the left side, similar to what already exists on the right for “Example start configuration” and “Self-Tests (Debug)” (this icon: ▸).
  • With filter.regexFilter, there can be an arbitrary number of checks. It might be useful to allow adding a new check via a “+” button, with name / field / regex as separate input fields — stylistically similar to how doubleFilter handles ignoreTime and maxEntry.
    It’s quite relevant to be able to combine multiple different checks within a single filter, since the behavior differs depending on whether you chain two filters or put multiple checks into one filter (OR / AND). (See appendix)
  • For module/descriptor, it would also be nice to replace the list field with separate input fields for the individual configuration options.
  • A “Help” section for developers explaining how to add new modules/plugins. For example, I’m currently working on the implementation of the “Multicast” module (known from BW1). It’s almost finished, and I’d like to integrate it into your config editor as well.

QUESTION

  • What does the “Export YAML” button do? The import works great — I immediately used my own config to play around 🙂
    But the export doesn’t seem to do anything. The "download"-button is really nice visually next to validation (validate first, then download — great idea!).

Eine Beispielhafter RegEx-Filter (alt und überholt, aber ein Beispiel) | an example RegEx-Filter (old and obsolete, but still an example!)

  • type: module
    res: filter.regexFilter
    name: Filter RegEx
    config:
    • name: "Allow All Except 1234567|2345678|3456789 (Netzstärke & Timesync)"
      checks:
      • field: ric
        regex: "^(?!(1234567|2345678|3456789)$).*"
    • name: "Allow 1234567 if ohne DLE"
      checks:
      • field: ric
        regex: "^1234567$" # (Exakter Match durch ^ und $)
      • field: message
        regex: "^((?!"DLE").)*$" # Check 2: Nachricht darf nirgendwo ""DLE"" enthalten.

FALLS WER SPIELEN MAG, ich habe es mal in mein "Ausprobier-Repo" eingespielt:
https://koenigmjr.github.io/BW3-Core/

oder genauer:
https://koenigmjr.github.io/BW3-Core/config-editor.html

@MrMurdog
Copy link
Author

Guten Morgen,

ich habe dass Tool schon meinerseits Überarbeitet und kleinere Fehler beseitigt und paar Sachen hinzugefügt, wie:

  • Ein Hilfe Button mit einer kleinen Anleitung für Nutzer und Entwickler die Ihre eigenen Module/Plugins hinzufügen möchten
  • Einen unter Editor, für Module wie dem RegEx oder Descriptor Modul, dass man dort die Unterkonfiguration genau so erstellen kann. Dies kann man auch für eigene Sachen nutzen.
  • Kategorisierung der Dropdown Auswahl, sodass nur noch die passenden Plugins/Module angezeigt werden.

Darüber hinaus wurden ein paar Formfehler behoben, wie bei der Definierung der Routen-Weiterleitung (name: wurde anstatt res: in die Config geschrieben)

Nun zu deiner frage zum YAML Export Button, dieser ist dafür da, dass falls sich das Ausgabe Feld nicht Automatisch bei einer Eingabe im Konfigurator aktualisiert, das man dies noch manuell Synchronisieren kann.

Die Änderungen werde ich in den nächsten stunden pushen. (muss noch meine eigenen Module rausnehmen 😅)


Good morning,

I have already revised the tool on my end, fixed minor bugs, and added a few things, such as:

  • A help button with a short guide for users and developers who want to add their own modules/plugins
  • One under Editor, for modules such as the RegEx or Descriptor module, so that you can create the subconfiguration there exactly as you want it. You can also use this for your own things.
  • Categorization of the dropdown selection so that only the appropriate plugins/modules are displayed.

In addition, a few formal errors have been fixed, such as in the definition of route forwarding (name: was written in the config instead of res:).

Now to your question about the YAML export button: this is there so that if the output field does not update automatically when you enter something in the configurator, you can still synchronize it manually.

I will push the changes in the next few hours. (I still have to remove my own modules 😅)

Translated with DeepL.com (free version)

@KoenigMjr
Copy link
Contributor

🥇 Ich find's klasse 👍

Copy link
Member

@Schrolli91 Schrolli91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants