{"ref":"artifact:abdulbasitg-cds-numberrange-plugin","page":"/artifacts/abdulbasitg-cds-numberrange-plugin","json":"/artifacts/abdulbasitg-cds-numberrange-plugin.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abdulbasitg-cds-numberrange-plugin","name":"cds-numberrange-plugin","artifact_type":"cds-plugin","ecosystem":"cap","domain":"data-and-persistence","origin_ring":"independent","description":{"one_line":"A CAP plugin that fills an annotated CDS element with the next number from a named range, optionally with prefix, suffix and padding, keeping the counter in a database entity it adds to the model.","short":"Fills a CDS element from a database-backed number range","what_it_solves":"The field in question is the one a business user reads as a document number: an integer that counts up, optionally carrying a prefix or a suffix and padded to a fixed width with a character you choose. A range is declared under cds in package.json with a name, a start value and an increment, and the @plugin.numberrange.rangeid annotation on an element names the range it draws from. The counter is a row in plugin.numberrange.Ranges, an entity the plugin adds to your model and exposes as a projection in its own NumberRangePluginService, so the current value is readable from the service. createOnDraft decides whether a draft entity takes its number while it is still a draft or on activation, and the README notes that key fields must be configured in draft mode. Samples cover SQLite in memory, persistent SQLite and SAP HANA; testing with [PostgreSQL](external:postgresql) is still on the README's list of work to do, and the README asks that fields the plugin fills are never edited by hand."},"links":{"npm":"https://www.npmjs.com/package/cds-numberrange-plugin","repo":"https://github.com/abdulbasitg/cds-numberrange-plugin"},"identity":{"author":"Abdulbasıt Gülşen","license":"MIT"},"compat":{"runtimes":["node"]},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/abdulbasitg/cds-numberrange-plugin","title":"cds-numberrange-plugin — README","checked":"2026-10-18","quote":"npm install cds-numberrange-plugin"}]}},"provides":["capability:data-modelling"],"maintainers":["actor:abdulbasitg"],"provenance":{"discovered_via":[{"source":"source:sap-community","channel":"cap-tag"}],"first_seen":"2026-09-08"},"drafted_with_ai":true,"contributors":["actor:abdulbasitg"]},"effective_normative_relations":[{"instrument":"instrument:sap-developer-license-3-2-cap","relation":"use-constrained-by","sections":["1","2","3"],"applies_when":"A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.","note":"This is inherited applicability, not a licence verdict about the artifact itself. Review the agreement for the actual materials and use; an explicit artifact relationship to another revision takes precedence.","scope":{"kind":"artifact"},"sources":[{"url":"https://cap.cloud.sap/resources/license/developer-license-3_2_CAP.txt","title":"SAP Developer License Agreement 3.2 CAP","checked":"2026-09-16","quote":"documentation, plug-ins, templates, scripts and sample code, libraries, software development kits"}],"inherited_from":"cap-plugins-and-applications","relevant_capabilities":["agent-systems-access","async-processing","data-import-export","database-connectors","deployment","destinations","llm-integration","mcp-servers","plugin-authoring","replication","retrieval-augmented-generation","rfc-connectivity"]}],"readings":{"liveness":[{"label":"Maintenance","tier":"fair","evidence":"6 months since release"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-05, not archived"}],"compatibility":[{"label":"Declared for","tier":"good","evidence":">=8 — includes cds 10 and 9"},{"label":"Survived majors","tier":"poor","evidence":"no release since @sap/cds 10 shipped (July 2026)"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"8 test files"},{"label":"Docs","tier":"fair","evidence":"README 3 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":52,"unit":"installs/week","note":"More people watching than installing — noticed deliberately rather than pulled in."},{"value":17,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","latest_version":"1.0.2","majors":{"1":{"version":"1.0.0","date":"2025-06-16"}},"license":"MIT License","first_release":"2025-06-16","last_release":"2026-05-01","releases":3,"cadence_days":315,"maintainers":1,"repository":"git+https://github.com/abdulbasitg/cds-numberrange-plugin.git","peer_cds":">=8","test_script":false,"types":false,"downloads_weekly":52,"stars":17,"forks":1,"open_issues":4,"archived":false,"pushed_at":"2026-05-01","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":1,"tree_truncated":false,"test_files":8,"workflows":0,"other_ci":false,"readme_bytes":3226,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"readme_path":"README.md","readme_sha":"c686887d55676ee5a810009cd1e6996be9c79b75","months_since_release":6,"dormant":false,"repository_directory":null,"dependencies":0,"node_engine":null,"downloads_monthly":443,"created_at":"2025-06-08T10:49:57Z","open_prs":1,"first_commit":"2025-06-08","last_commit":"2026-05-01","commits":20,"repo_read":"2026-10-24"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"npm","path":"CHANGELOG.md","version":"1.0.2","url":"https://github.com/abdulbasitg/cds-numberrange-plugin/blob/main/CHANGELOG.md"},"format":"keep-a-changelog","releases":[{"version":"1.0.2","date":"2026-05-01","date_source":"heading","heading":"[1.0.2] - 2026-05-01","url":"https://github.com/abdulbasitg/cds-numberrange-plugin/blob/main/CHANGELOG.md#102---2026-05-01","sections":[{"kind":"fix","heading":"Fixed","items":1},{"kind":"other","heading":"Chore","items":1}],"hash":"d6850aca68f67995"},{"version":"1.0.1","date":"2025-06-20","date_source":"heading","heading":"[1.0.1] - 2025-06-20","url":"https://github.com/abdulbasitg/cds-numberrange-plugin/blob/main/CHANGELOG.md#101---2025-06-20","sections":[{"kind":"fix","heading":"Fixed","items":2}],"hash":"de609b29d57bc664"},{"version":"1.0.0","date":"2025-06-16","date_source":"heading","heading":"[1.0.0] - 2025-06-16","url":"https://github.com/abdulbasitg/cds-numberrange-plugin/blob/main/CHANGELOG.md#100---2025-06-16","sections":[{"kind":"feature","heading":"Added","items":5}],"hash":"a73fe6714cea86dd"}],"versions":[{"version":"1.0.2","date":"2026-05-01"},{"version":"1.0.1","date":"2025-06-20"},{"version":"1.0.0","date":"2025-06-16"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:abdulbasitg","name":"Abdulbasıt Gülşen","json":"/actors/abdulbasitg.json"}],"contributors":[{"ref":"actor:abdulbasitg","name":"Abdulbasıt Gülşen","json":"/actors/abdulbasitg.json"}],"explained_by":[{"ref":"content:a-cap-plugin-for-flexible-number-range-management","name":"A CAP Plugin for Flexible Number Range Management: cds-numberrange-plugin","json":"/content/a-cap-plugin-for-flexible-number-range-management.json"}],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}