{"ref":"artifact:btc-ag-featuretoggle","page":"/artifacts/btc-ag-featuretoggle","json":"/artifacts/btc-ag-featuretoggle.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"btc-ag-featuretoggle","name":"Featuretoggle","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Requirements","checked":"2026-10-18","quote":"## Requirements\n* SAP 7.4\n* [abapGit](https://github.com/larshp/abapGit)\n* Eclipse + UI5/ADT Tools"}}],"domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"A feature toggle framework for ABAP that ships an unfinished feature to production deactivated: toggles declared as class attributes, branched on in code and switched in a UI5 GUI.","short":"Feature toggle framework for ABAP with a UI5 GUI","what_it_solves":"A class inherits from z_sy_feature and declares a toggle as a class attribute; code checks it by testing whether z_sy_feature=>feature_xx is abap_true and branching on the answer. That is what the framework is for: continuously delivering a potentially unfinished feature into the production system in a deactivated state. The repository ships both halves: the ABAP backend, installed from /src/abap/ with an ICF node to activate, and a UI5 frontend deployed as its own BSP application and opened through transaction z_sy_feature, which is where a toggle is flipped.","when_not_to_use":"Not where a toggle is meant to be switched on in a production system: the maintainer warns that features should never be enabled in a production system."},"links":{"repo":"https://github.com/btc-ag/Featuretoggle"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Install ABAP Backend","checked":"2026-10-18","quote":"Checkout/clone subfolder /src/abap/ via [abapGit](https://github.com/larshp/abapGit)"},{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Installation UI5 Frontend","checked":"2026-10-18","quote":"Link projekt to a new BSP-Container in your SAP-System"}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Install ABAP Backend","checked":"2026-10-18","quote":"Checkout/clone subfolder /src/abap/ via [abapGit](https://github.com/larshp/abapGit)"}]}},"identity":{"license":"BSD-2-Clause"},"source_available":true,"provides":[{"capability":"capability:feature-toggles","what_it_does":"Lets an ABAP class inheriting z_sy_feature declare a toggle as a class attribute and check its state at runtime, and its UI5 frontend switches toggles through transaction z_sy_feature.","sources":[{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README","checked":"2026-10-18","quote":"With this framework you can toggle features in ABAP-Code at runtime."},{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, How to run it?","checked":"2026-10-18","quote":"Toggle feature via the transaktion `z_sy_feature` (opens UI5 frontend)"}]}],"requires":[{"ref":"artifact:abapgit-abapgit","requirement":"required","basis":"binding","role":"installation","for":"Checking out the /src/abap/ subfolder into the system; the README lists it among the requirements and as step one of installing the ABAP backend.","sources":[{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Requirements","checked":"2026-10-18","quote":"* [abapGit](https://github.com/larshp/abapGit)"},{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Install ABAP Backend","checked":"2026-10-18","quote":"Checkout/clone subfolder /src/abap/ via [abapGit](https://github.com/larshp/abapGit)"}]}],"interfaces":[{"key":"sy-feature-icf-node","kind":"api","direction":"in","for":"the ICF node the installation creates and activates for the ABAP backend","sources":[{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Install ABAP Backend","checked":"2026-10-18","quote":"Check transaction `SICF` if node `/default_host/sap/bc/sy_feature` was created"},{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, Install ABAP Backend","checked":"2026-10-18","quote":"Activate node `/default_host/sap/bc/sy_feature`"}]},{"key":"toggle-gui","name":"UI5 GUI to manage toggle states","kind":"ui","direction":"in","for":"managing toggle states; opened through transaction z_sy_feature","sources":[{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, What is it?","checked":"2026-10-18","quote":"This repository includes the ABAP backend and a UI5 GUI to manage toggle states."},{"url":"https://github.com/btc-ag/Featuretoggle","title":"btc-ag/Featuretoggle — README, How to run it?","checked":"2026-10-18","quote":"Toggle feature via the transaktion `z_sy_feature` (opens UI5 frontend)"}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"maintainers":["actor:btc-ag"],"contributors":["actor:btcag","actor:johanneskonings","actor:larshp"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"3 contributors, org-owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2018-05, 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":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":24,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":24,"forks":5,"open_issues":2,"archived":false,"pushed_at":"2018-05-08","license_spdx":"BSD-2-Clause","org_owned":true,"default_branch":"master","created_at":"2017-05-10T05:49:35Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":2036,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2017-05-10","last_commit":"2018-05-08","commits":6,"contributors":3,"readme_path":"README.md","readme_sha":"7e7730cd0d41e1e45e09e75c12e9d04b1332e819","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:btc-ag","name":"BTC Business Technology Consulting AG","json":"/actors/btc-ag.json"}],"contributors":[{"ref":"actor:btcag","name":"BTCAG","json":"/actors/btcag.json"},{"ref":"actor:johanneskonings","name":"Johannes Konings","json":"/actors/johanneskonings.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}