#2 Facet #N original BuildPtr . . . usages BuildPtr[] uint64 File storage (XML) LazyLoading Build, which produced the fingerprint Other builds Data Summary UI Fingerprint Storage
day if … • “original” points to the deleted Run • All “usages” also point to the deleted build •Limitations: • No extension points allowing altering the behavior • Fingerprint Facets cannot prohibit the removal • Cannot reliably store fingerprints for external items • Examples: External Docker images from DockerHub (Docker Traceability) 5
•Fingerprints are isolated • =>Good proof-‐of-‐concept •What we need: • Flexible data structure (facets have no standards) • Lazy loading of data to Jenkins • Retention strategy • Data accessibility 7
All layouts are being managed by FingerprintFacets •Proposal: • Make Fingerprints inheritable • Add getIcon(), getDisplayName(), etc. • Make layout customizable as well 11
DB (for the type we select for Jenkins 3.0) •FingeprintListener • Allows to listen for FP events • onLoaded(), onCreated(), onDeleted() •FingerprintDispatcher • canDelete(), etc. 12