- Testing applications A testing strategy for applications on Exponential - unit tests without a database, tests against a throwaway database, template and link checks, browser checks with a test user, accessibility, and what to run before…
- Yearly checklist for resellers The yearly review of a reseller business around Exponential - partner level and renewal, cost model and prices, offers and service levels, contracts, PHP versions and extensions across all customer sites, security and…
- How do I write rich text without the Online Editor? Click Disable editor below a rich text field to edit its text as simple tags (paragraphs, headings, bold, links, embeds); Enable editor switches back; the setting lasts for your session, and the text is checked when you…
- Why does search not find an item I know exists? Search finds only published versions of items you may read, whole words, and only fields marked as searchable; drafts, the trash, unsearchable fields, a search scope that is too narrow, and indexing that runs later are…
- How do I import or export a word processor document? The OpenOffice.org entry of an item's tree menu imports an OpenDocument text (.odt) as a new published item below it, replaces the item's content with a document as a new version, or exports the item to .odt (and, with…
- How do I work with content as files over WebDAV? Where an administrator has switched WebDAV on, connect your file manager to the site's WebDAV address with your usual account; folders are items, dropping files creates items, saving a file of the same name makes a new…
- Bundle worksheet A worksheet to fill in once per bundle and review at every release - identity, base and versions, parts, licenses, installation, database and server, security, updates, support and partnership - with the page that…
- Custom template functions Writing a template function (a brace tag with named parameters and an optional body) in an extension - functionList, hasChildren, attributeList, process, evaluating parameters, rendering the body, registration in…
- DB-less PHPUnit tests Write fast PHPUnit tests for extension code that need no database - the bootstrap, loading your classes, testing services, validators, datatype string round trips and template operators, and running only the tests of a…
- Glossary for PHP developers The terms a PHP developer meets in Exponential code and documentation, from accumulator and append.php to worker and zygote, each with a one-line meaning and the page or file that explains it.
- How do I give a group edit rights on one section only? Create a role with content/read, content/create and content/edit policies, then assign it to the user group with the limitation Section, so the rights apply only to the content of that section.
- Inside the core: permissions and persistent objects How a module decides access (hasAccessTo, the limitation list, error codes) and how kernel classes store themselves through eZPersistentObject, with today's static calls and links to the developer pages.
- Integration security checklist A checklist for the security review of an Exponential integration before go-live and once a year - credentials, accounts and roles, transport, input handling, outbound calls, logging, audit, data protection and incident…
- Keep trash items for 90 days Step by step - empty Exponential's trash on a schedule while keeping each item for a set number of days, with content.ini [TrashSettings] KeepItemsForDays and the trashpurge cronjob part (in no part by default), and…
- Media and images for apps The landing page of the media pages for app developers - what the REST API gives for images (the original file path), how image aliases give screen-sized versions through expimage services, and what is not possible…
- Newsletter lists and subscriptions Manage newsletter lists and subscribers in cjw_newsletter - subscription statuses, the subscriber and list views, CSV import and export, the blacklist and bounces, and good practice for consent.
- Publish a poll For editors - publish a quick opinion question with the shipped Poll class, set its options, show results, and present them honestly as indicative; and when a consultation is the better tool.
- Registration order and overrides How the template engine decides which class serves an operator name - the order it reads the eztemplateautoload.php files, "last registration wins", the 21 names two classes register on a development installation, and…
- Reseller reading path Every reseller page in a sensible reading order, in five stages from understanding the licenses to running the business, with the time each stage takes and shorter paths for owners, sales staff and technical staff.
- Showing "Powered by Exponential" How and when partners show that a site is "Powered by Exponential" - the badge in the program's point list, where to place it, honest wording, the customer's consent, accessibility, and how it helps the community.
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