Gate ~ FMCU ~ management dashboard/en: Unterschied zwischen den Versionen
< Gate ~ FMCU ~ management dashboardZur Versionsübersicht zurückkehren
← Gate ~ FMCU ~ management dashboard/en
← Gate ~ FMCU ~ management dashboard/en
| Zeile 95: | Zeile 95: | ||
**Display TimeInfo | **Display TimeInfo | ||
| − | [[Datei:gg-barcode-reader-gate.png| | + | Here are some screenshots: |
| − | [[Datei:gg- | + | [[Datei:gg-general.png|zentriert|904x904px]][[Datei:gg-barcode-reader-gate.png|zentriert|952x952px]]<br /> |
| + | [[Datei:gg-audio-player-camera.png|zentriert|841x841px]] | ||
| + | <br /> | ||
| + | [[Datei:gg-tracking-camera.png|zentriert|809x809px]] | ||
| + | [[Datei:gg-displays.png|zentriert|811x811px]] | ||
| + | |||
| + | |||
| + | A subsection is often has a structure with a combo box named '''Type''' at the top and some fields that follow. This structure is used for configuring an entity that can have several implementations. What is important is that the implementation can differ in type and number of controls. For example, a simulator of the gate has only two properties: | ||
| + | <br /> | ||
| + | [[Datei:gg-gate-simulator.png|zentriert|810x810px]] | ||
| + | <br /> | ||
| + | |||
| + | === Architecture === | ||
| + | The picture below gives a bird's eye view of the configuration management. | ||
| + | <br /> | ||
| + | [[Datei:gg-architecture-configuration-management.png|zentriert|1150x1150px]] | ||
| + | <br /> | ||
| + | |||
| + | When the gate starts and the Configuration.json is present it is created from the Initial Configuration (base.py or other .py configuration file). | ||
| + | The Schema contains a set of data for describing controls in form components: | ||
| + | |||
| + | * Which controls should contain a component | ||
| + | * Validations rules if any | ||
| + | |||
| + | E.g. a form component can contain a text box and an input for integers. The data range for integer should 1-100. | ||
| + | |||
| + | The Default Data contains the initial data for controls in form components. | ||
| + | |||
| + | Edit this section | ||
| + | <span name="Roadmap"></span> | ||
| + | |||
| + | === Roadmap === | ||
| + | The features are planned for the upcoming release: | ||
| + | |||
| + | * Configurations page allows you to see the list of available configurations. You can: | ||
| + | ** Clone an existing configuration to a new one | ||
| + | ** Delete a configuration | ||
| + | ** Make a configuration active. Only one configuration can be used by the server and it is called ''active''. | ||
| + | * Apply button. This should apply changes on-the-fly. | ||
| + | * Restart button. This should restart the docker container and apply settings, which cannot be applied on-the-fly. | ||
| + | * Extend the vue form generator library: | ||
| + | ** Make the switch control consistent with the switch controls on other pages | ||
| + | ** Add a control which allows you to manage an array of items (e.g. the list of connected gates). E.g. <nowiki>https://codepen.io/safx/pen/AhCtk</nowiki> | ||
| + | * Import/Export of a Configuration.json. | ||
| + | * Reset any configuration to the default one (by removing the json file | ||
| + | |||
| + | <br /> | ||
| + | |||
| + | == Management of Events == | ||
| + | The following sections contains the term '''Path''', which means the path is part of the URL. E.g., path '''/events''' for the FMCU Server running under '''<nowiki>https://server.maxcrc.de/</nowiki>''' means | ||
| + | <nowiki>https://server.maxcrc.de/events</nowiki> | ||
| + | |||
| + | == Events == | ||
| + | Web path: | ||
| + | /events | ||
| + | The page shows a filterable and sortable list of events: | ||
| + | {| class="wikitable" | ||
| + | !Name | ||
| + | !Description | ||
| + | |- | ||
| + | |Date | ||
| + | |Date and time when the event occurred | ||
| + | |- | ||
| + | |Name | ||
| + | |Translated name of the event | ||
| + | |- | ||
| + | |Gate | ||
| + | |Gate if appropriate where the event occurred | ||
| + | |- | ||
| + | |State | ||
| + | |The state of the event if supported | ||
| + | |- | ||
| + | |Category | ||
| + | |Category to which the event belongs to | ||
| + | |- | ||
| + | |Info | ||
| + | |Additional info about the event | ||
| + | |} | ||
| + | Edit this section | ||
| + | |||
| + | == Event Definitions Page == | ||
| + | Path: | ||
| + | /event-definitions | ||
| + | The page shows a list of definitions of events: | ||
| + | {| class="wikitable" | ||
| + | !Name | ||
| + | !Description | ||
| + | |- | ||
| + | |Name | ||
| + | |Name | ||
| + | |- | ||
| + | |Event Definition Groups | ||
| + | |Groups to which the event belongs to if any | ||
| + | |- | ||
| + | |Supported States | ||
| + | |Can be empty (for impulse events) or '''On, Off''' (for the events with states) | ||
| + | |- | ||
| + | |Category | ||
| + | |Category to which the event belongs to | ||
| + | |} | ||
| + | Edit this section | ||
| + | |||
| + | == Event Definition Groups == | ||
| + | Path: | ||
| + | /event-definition-groups | ||
| + | The page shows a list of event groups: | ||
| + | {| class="wikitable" | ||
| + | !Name | ||
| + | !Description | ||
| + | |- | ||
| + | |Name | ||
| + | |Name | ||
| + | |- | ||
| + | |Events | ||
| + | |Event definitions assigned to the group | ||
| + | |- | ||
| + | |Delete | ||
| + | |Delete button | ||
| + | |} | ||
| + | An event definition group allows you to group one or more events so that it can be bound to a user group. See '''Event Subscriptions''' below | ||
| + | |||
| + | Edit this section | ||
| + | |||
| + | == Event Subscriptions == | ||
| + | Web path: | ||
| + | /event-subscriptions | ||
| + | The page shows a list of event definition groups bound to a user groups. | ||
| + | {| class="wikitable" | ||
| + | !Name | ||
| + | !Description | ||
| + | |- | ||
| + | |Group | ||
| + | |User group | ||
| + | |- | ||
| + | |Event definition group | ||
| + | |Event definition group | ||
| + | |- | ||
| + | |Locked | ||
| + | |When locked, events are not sent to the users of the group | ||
| + | |- | ||
| + | |Info | ||
| + | |Any informative text | ||
| + | |- | ||
| + | |Delete | ||
| + | |Delete button | ||
| + | |} | ||
| + | When a event definition group is bound to a user group and not locked, new events from the event definition group are sent to the users from the user group. The user must have a valid email address. | ||
| + | |||
| + | Example. A user group '''Alarm events''' with two members '''user1''' and '''user2''' is bound to an event definition group '''Alarm events''' with two events '''GateTailgating''' and '''GateStateFireAlarm'''. When either or both of these events occur, both users '''user1''' and '''user2''' receive an email notification about that. | ||
| + | |||
| + | Edit this section | ||
| + | |||
| + | == Configuration == | ||
| + | Path: | ||
| + | /configuration | ||
| + | In order the emails with events can be sent out, the '''Email''' section with the information like the hostname, port etc. of the outgoing server and credentials should be properly configured. | ||
<br /> | <br /> | ||