Idea Summary
APEX should generate ASCII-safe Static IDs by default when pages or shared components are created.
Currently, when an APEX page or shared component is created with a name containing umlauts or other non-ASCII characters, these characters can also end up in the generated Static ID. For example, a page named Übersicht may result in a Static ID containing Ü.
This can cause problems with split exports, especially on Windows or in mixed operating system environments, when pages or shared components contain umlauts or other special characters.
With APEX 26.1 this becomes even more critical, because the split APEXlang export also includes the page Static ID in the file name on page level. This can lead to conflicting validation errors, for example:
Static ID must be uppercase
and at the same time:
Static ID must match the file name
As a result, an export generated by APEX itself may not validate cleanly without manually renaming Static IDs and/or files.
APEX should therefore avoid auto-generating Static IDs that later violate APEX validation rules or create inconsistent APEXlang file names.
Use Case
This idea would be useful for teams that use APEX split exports, APEXlang exports, Git, Windows development environments, mixed operating system environments, or CI/CD pipelines.
Typical use cases include:
Creating pages or shared components with localized names, for example German names containing Ä, Ö, Ü, or ß.
Using split exports for source control, where generated file names need to be stable, portable, and valid across different operating systems.
Validating APEXlang exports before committing or deploying them.
Working in teams where some developers use Windows and others use Linux or macOS.
Running automated validation and deployment pipelines that expect generated exports to be valid without manual file renaming.
The main benefit is that an application exported by APEX should be valid and portable by default, without requiring developers to manually normalize Static IDs and file names.
Preferred Solution
APEX should generate Static IDs in a deterministic, portable, ASCII-safe format.
A recommended character set would be:
[A-Z0-9_]
or, if hyphens should remain allowed:
[A-Z0-9_-]
Examples:
Übersicht → UEBERSICHT
Auftrag ändern → AUFTRAG_AENDERN
Größenprüfung → GROESSENPRUEFUNG
Länder-Auswahl → LAENDER_AUSWAHL
Suggested behavior:
- Transliterate non-ASCII characters where possible, for example
Ä → AE, Ö → OE, Ü → UE, ß → SS.
- Convert the result to uppercase.
- Replace spaces and unsupported characters with
_.
- Remove or normalize all remaining unsupported characters.
- Ensure that generated APEXlang file names and Static IDs stay consistent.
Optionally, APEX could also show a warning when a manually entered Static ID contains characters outside the recommended portable character set.