{"ref":"artifact:tricktresor-guidrasil","page":"/artifacts/tricktresor-guidrasil","json":"/artifacts/tricktresor-guidrasil.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"tricktresor-guidrasil","name":"guidrasil","artifact_type":"generator","ecosystem":"abap","domain":"ui-and-frontend-bridge","origin_ring":"independent","description":{"one_line":"A visual designer for classic SAP GUI screens that wraps containers and controls in a generic shell and generates the ABAP program that displays the layout it places.","short":"Visual designer generating ABAP code for classic SAP GUI screens","what_it_solves":"Building a classic SAP GUI screen normally means writing container and control creation code by hand for every element. guidrasil wraps each container and control it starts with, docking, custom, dialogbox and splitter containers, plus icon, text and calendar controls, in a generic shell created through one `CREATE` method, with attributes read and saved through a single serialised, generic mechanism. Because its manager class tracks where every container and control sits, it can generate a complete ABAP program that displays them, and the same manager can return object references by name so a generated layout can still be manipulated in code afterwards. It starts from report `ZGUIDRASIL_INI_CONTROLS`, which registers the available control classes in a custom table."},"links":{"repo":"https://github.com/tricktresor/guidrasil"},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:abap-classic-ui","what_it_does":"Wraps SAP GUI containers and controls behind one generic `CREATE` method and a single serialised attribute mechanism, then lets its manager class generate a complete ABAP program that recreates the containers and controls placed in the designer.","sources":[{"url":"https://github.com/tricktresor/guidrasil","title":"tricktresor/guidrasil — README","checked":"2026-09-14","quote":"you can generate a complete genuine ABAP program for displaying these controls."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"maintainers":["actor:tricktresor"],"contributors":["actor:christianguenter2","actor:ennowulff"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, org-owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2019-01, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs/ with 1 page, README 5 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":12,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":12,"forks":1,"open_issues":5,"archived":false,"pushed_at":"2019-01-16","license_spdx":"MIT","org_owned":true,"default_branch":"master","created_at":"2018-10-10T21:51:31Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":5050,"docs_files":1,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2018-10-10","last_commit":"2019-01-16","commits":34,"contributors":2,"readme_path":"README.md","readme_sha":"b18291cab365638bf279730354818430fb320750","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:tricktresor","name":"Tricktresor","json":"/actors/tricktresor.json"}],"contributors":[{"ref":"actor:christianguenter2","name":"Christian Günter","json":"/actors/christianguenter2.json"},{"ref":"actor:ennowulff","name":"Enno","json":"/actors/ennowulff.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}