Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Standards

The standards Exponential follows and how well it complies (accessibility, security, privacy, web, internationalization, PHP, documentation, APIs, databases, Git, coding and testing), its architectural rules, and a…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/standards/README.md

On this page

Standards

This section is for developers who build on Exponential and for administrators and decision makers who have to say which standards a site meets. It answers three questions: which published standards Exponential follows and how far it complies with each of them, which architectural rules its code follows, and which design patterns the code uses and where.

Every page cites the code, settings, tests or continuous integration jobs that support what it says. Where a claim could not be checked, the page says Unverified; where Exponential does not comply, the page says so and lists the gap. Compliance of a site also depends on its own templates, content and operation: the software can make compliance possible, but a site has to keep it.

How to read the status

StatusMeaning
CompliesThe requirement is met by the software as shipped, and the page names the evidence.
Partly compliesSome requirements are met, others are not or only in some parts (for example the administration but not every public design).
Does not complyThe software does not meet it; the page says what is missing.
Not applicableThe standard does not apply to what Exponential does.
UnverifiedNo evidence was found either way; nothing is claimed.

Standards Exponential follows

AreaPageStandards covered
AccessibilityAccessibilityWCAG 2.2 AA, WAI-ARIA 1.2, EN 301 549
SecuritySecurityOWASP Top 10, OWASP ASVS, Content Security Policy Level 3, OWASP cheat sheets
PrivacyPrivacyGDPR, ePrivacy (cookies), consent and unsubscribe
The web platformWeb platformHTTP semantics and caching, HTTP/2, TLS, HTML, CSS, ECMAScript, URLs, cookies, feeds, sitemaps
LanguagesInternationalizationUnicode and UTF-8, CLDR and ICU, BCP 47 and ISO language codes, right-to-left and bidi, time zones
PHPPHP and ComposerSupported PHP versions, PHP-FIG PSRs, Composer, Semantic Versioning
Code styleCoding standardsThe phpcs ruleset, PHPStan, file headers, naming, CSS and JavaScript rules
Code prefixesNaming prefixes: sevenx and expsevenx as 7x's official public PHP code prefix, exp for work assigned to the Exponential project and the Exponential Foundation
TestsTesting and continuous integrationPHPUnit, the test map, the CI workflows and the gates before a push
HistorySource control and releasesGit conventions, commit messages, changelogs, tags and version numbers
Planned changesPlanned changes with OpenSpecOpenSpec: proposal, specs, design, tasks, plan, apply and verify of a larger change
DocumentationDocumentation and publishingDITA 1.3, CommonMark and GFM, GNU FDL 1.3, PDF, EPUB 3 and EPUB Accessibility
InterfacesAPIs and protocolsOAuth 2.0 and OpenID Connect, REST and JSON, WebDAV, SOAP, feeds, mail, LDAP
DatabasesDatabases and SQLSQL and the dialect of each supported database, the database abstraction

Architecture

PageWhat it covers
Kernel architectureThe request lifecycle, modules, views and functions, policies, datatypes, persistent objects, settings and siteaccesses, designs and overrides, templates, extensions, caches, workflows, cronjobs, the database layer and the Velocity application server
Layering and naming rulesWhich layer may use which, and how new classes, modules, templates, settings and commands are named
Compatibility, releases and deploymentThe backwards compatibility policy, version numbers and releases, and how a change is deployed

Design patterns

The design pattern catalogue lists every abstraction of the Exponential 6 stack: factories, singletons, registries, handlers and strategies, abstract base classes, observers and event hooks, adapters and facades, persistent objects, datatypes, template operators, fetch functions, module views, policy functions, workflow events, cronjob parts and the INI settings that plug classes in, with the file, the class, a description and the extension point of each. It is generated from the source code and can be rebuilt at any time with php bin/php/exppatterncatalogue.php --write.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x