-
Notifications
You must be signed in to change notification settings - Fork 0
Adding dynamic tabs
Mikron edited this page May 19, 2024
·
1 revision
The dynamic tabs are an extension (and replacement, once it has similar level of functionality) for the existing external reputation system (which is somewhat specialized and not well-documented).
Assumptions:
- Each
Epic
operator will be able to configure any (there may be soft warnings, though, if someone goes overboard) number of customizable tabs to be filled with any data - The tab would, in the MVP version, have a title (spread across existing language versions) and a big text field for content (entered manually, JSON-based, akin to current take on
CharacterSheet
) - The content would be then interpreted according to the rules and rendered into a simple HTML structure to be displayed - headers, text, tables, lists
- The content would have to be filtered for
<script>
,<iframe>
,and other suspicious tags for safety; consider whether filtering links out is also reasonable - The tabs would be displayed between the default tabs (
Descriptions
andOrganizations
) andGM Data
(which is supposed to always be on the end); until Reputation tabs are decommissioned, they will precede the custom tabs as well - Display order would be decided via configuration
- Since this is configured on the
Epic
level, there should be a choice how to display a tab when there is no data - an empty tab with a message, or no tab at all - Initially, this will be done for
Character
Possible extensions:
- Adding an option to replace the manual input with an API call configuration, with URI and time between calls (manual "call now" button included, disabling automatic calls also possible); the possibility to edit the API-provided payload locally would be retained
- Copying the solution for
Group
- Copying the solution for
Story
- Adapting the current
CharacterSheet
to use this solution instead - A possibility to create multiple tabs with a single configuration (adding another level in the payload structure)