SampleSampletypeA worked example you read or clone. Evidence: it demonstrates, it never provides.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →Reference

ui5con-2026-ui5-linter-workshop

SAP's UI5con hands-on workshop that takes a legacy UI5 app, seeded with deprecated APIs and inline scripts, from its first UI5 linter report to a clean, CSP-compliant one.

A legacy UI5 codebase accumulates deprecated APIs, global variables and CSP violations that nobody notices until the next major release breaks them, and this workshop project is built to have exactly that problem on purpose. It is a variant of the OpenUI5 Todo sample app, seeded with jQuery.sap.* calls, sap.ui.controller(), global variable access and inline scripts, so attendees run UI5 linter, auto-fix what it can, and resolve the rest by hand across a set of hands-on lecture sections. Its own README warns not to use the code as a best-practice reference; the modernised result, with every finding resolved, sits on the repository's final-result branch.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Demonstrates
LintingUI5LintingcapabilityCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.

Who is behind it

SAP SamplesSAP SamplesOrganisationMaintains this
In the atlas: maintains 222
@SAP-samples
maintainerMatthias OßwaldPersonContributes to this
In the atlas: contributes to 29
@matz3
Max ReichmannPersonContributes to this
In the atlas: contributes to 10
@maxreichmann
2 contributors

What it declares

Every artifact

Type
Sample
Origin
By SAP
Use as
A reference

As a sample

Form
Workshop or CodeJam material

Connections1

ui5con-2026-ui5-linter-workshop connectionsui5con-2026-ui5-linter-workshopPROVIDES→ demonstrates1demonstrates authoredLinting

README

quoted from SAP-samples/ui5con-2026-ui5-linter-workshop under Apache-2.0, read
SAP-samples/ui5con-2026-ui5-linter-workshop/README.mdOn GitHub

OpenUI5 logo

UI5 Linter Workshop - Sample App

UI5con 2026 Germany Hands-on Workshop: UI5 Linter in Action: Integrating It Into Your Development Process

This repository contains the demo project for the UI5 linter Hands-On at UI5con 2026. It is a variant of the OpenUI5 Todo sample application available at github.com/UI5/sample-app.

About the Workshop

Modernize a legacy UI5 app end-to-end using UI5 linter — from your first ui5lint report to a clean, CSP-compliant, future-proof codebase. You'll auto-fix what you can, manually resolve the rest, and wire linting into your workflow and CI so regressions never sneak back in.

Prerequisites: Laptop with Node.js (LTS) and Git installed, a code editor, and basic UI5 development experience.

Workshop Materials

Presentation slides: Download the workshop slides (PDF)

Start here: hands-on-lectures/00-overview.md

The workshop is divided into the following sections:

  1. Introduction & Setup (5 min)
  2. Running UI5 Linter - First Analysis (10 min)
  3. Understanding Linter Rules (5 min)
  4. Hands-on: Auto-fixing Issues (10 min)
  5. Hands-on: Manual Fixes (15 min)
  6. Best Practices & Wrap-up (optional/informational)

Reference: Appendix - Legacy Patterns

(Optional Outlook) Coding Agents Support:
If you'd like to automate the modernization steps you've learned here, check out the UI5 Modernization Plugin — a coding‑agent toolkit that builds on the UI5 linter and orchestrates a five‑phase modernization with per‑phase verification and commits. Learn more in the SAP Community Blogpost.

About This Demo Project

Important

This project intentionally contains legacy code patterns for educational purposes. Attendees will identify and fix these issues step-by-step during the workshop using the UI5 linter.

Do not use this code as a reference for best practices! The legacy patterns include:

  • Deprecated APIs (jQuery.sap.*, sap.ui.controller(), etc.)
  • Global variable access
  • Deprecated themes and libraries
  • CSP-violating inline scripts
  • Legacy test setup

Checkout github.com/UI5/sample-app for the original version of this application, following best practices and using modern API.

Final Result

The modernized version of this application (with all linter issues resolved) is available on the final-result branch.

How to obtain support

Create an issue in this repository if you find a bug or have questions about the content.

For additional support, ask a question in SAP Community.

Contributing

If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.

License

Copyright 2026 SAP SE or an SAP affiliate company and ui5con-2026-ui5-linter-workshop contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

Apache-2.0, read

Details

Sources3
Added by handdiscovered herechecked
github.com/SAP-samples/ui5con-2026-ui5-linter-workshoptree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors2

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:sap-samples-ui5con-2026-ui5-linter-workshop
JSON
/artifacts/sap-samples-ui5con-2026-ui5-linter-workshop.json
MCP
Connecting an agent