{"ref":"artifact:sap-samples-ui5-p13n-tutorial","page":"/artifacts/sap-samples-ui5-p13n-tutorial","json":"/artifacts/sap-samples-ui5-p13n-tutorial.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-ui5-p13n-tutorial","name":"ui5-p13n-tutorial","artifact_type":"sample","ecosystem":"ui5","use_as":"starting-point","domain":"ui-and-frontend-bridge","origin_ring":"sap-official","description":{"one_line":"A ten-exercise UI5 tutorial that adds sap.m.p13n.Engine personalisation and sap.ui.fl.variants.VariantManagement to a custom table control: column selection, sorting, grouping, filtering and saved variants.","short":"UI5 tutorial adding p13n Engine personalisation to a custom table","what_it_solves":"A custom table control gains column selection, sorting and grouping, filtering with an info toolbar, a changed control state and saved variants, one exercise at a time, built on the two UI5 components the tutorial puts in focus: sap.m.p13n.Engine and sap.ui.fl.variants.VariantManagement. Two further exercises, both marked optional, add a custom filter control and filtering on a GridList. Its own framing is that it is for a custom control you already have and would like to enhance with filtering, sorting or other options, and that the knowledge then applies in your own application or control development."},"links":{"repo":"https://github.com/SAP-samples/ui5-p13n-tutorial"},"identity":{"license":"Apache-2.0"},"source_available":true,"type_properties":{"form":{"value":"tutorial","sources":[{"url":"https://github.com/SAP-samples/ui5-p13n-tutorial","title":"SAP-samples/ui5-p13n-tutorial — README, Description","checked":"2026-10-19","quote":"In this tutorial you can learn how to add personalization capabilities to almost every control."}]}},"demonstrates":["capability:ui5-flexibility"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:ajinkyapatil8190","actor:koeppel","actor:lucamueller01"]},"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":"good","evidence":"pushed 2026-05, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"poor","evidence":".github/workflows/deploy-pages.yaml failure, 2026-05-22"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"fair","evidence":"README 4 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":10,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":10,"forks":3,"open_issues":2,"archived":false,"pushed_at":"2026-05-22","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2024-04-29T14:15:02Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":1,"other_ci":false,"readme_bytes":4083,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2024-05-10","last_commit":"2026-05-22","commits":23,"contributors":3,"ci_status":"failure","ci_run_at":"2026-05-22","ci_workflow":".github/workflows/deploy-pages.yaml","ci_event":"push","readme_path":"readme.md","readme_sha":"5131c6b6d955b0d12aa63d1f852002e13e4958fa","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:ajinkyapatil8190","name":"Ajinkya Patil","json":"/actors/ajinkyapatil8190.json"},{"ref":"actor:koeppel","name":"Janik Köppel","json":"/actors/koeppel.json"},{"ref":"actor:lucamueller01","name":"Luca","json":"/actors/lucamueller01.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}