Skip to the content
Documentation
Manuals

The se7enxweb extension catalogue

The 65 extensions the kernel's composer.json requires, grouped by purpose, with repository, license and documentation: the first place to look for ideas and examples.

  • Topic type: Concept
  • For: Visitors Developers Designers Application creators
  • doc.help.extension-development.part-1-from-user-to-developer.the-se7enx-98ea2b3b
  • Last changed
  • JSON
On this page

Part 1, chapter 8. The kernel of Exponential does not come alone: its composer.json requires 66 packages of the se7enxweb organization, 65 extensions and the Composer installer that puts extensions into extension/. It suggests a dozen more. This chapter lists them by what they do. For a developer they are two things at once: building blocks you can use, and working, maintained examples of every kind of extension this book teaches.

The list was taken from the kernel's composer.json on the day this page was written. To see the current one:

grep -o '"se7enxweb/[^"]*"' composer.json | sort -u

Repositories are on GitHub under github.com/se7enxweb, packages on Packagist under packagist.org/packages/se7enxweb. The license column is what GitHub detects in each repository; where it says GPL-2.0, read the extension's own LICENSE and ezinfo.php for "or any later version". Pages in the documentation exist for many of them; the column "Doc" links them.

Page building: Exponential Layouts

A visual page builder ported to Exponential from the upstream layouts packages. Thirteen packages that show how a large feature is split into a domain core, an API, a user interface and pluggable query handlers.

PackageWhat it doesLicenseDoc
explayoutsLayouts, zones, blocks and rules: storage, resolver, rendererGPL-2.0
explayouts_coreCore domain layer (layout, rule, collection, block and zone services)GPL-2.0
explayouts_apiPHP API adapters between content and LayoutsGPL-2.0
explayouts_standardStandard block handlers (title, text, button, image ...)GPL-2.0
explayouts_uiAdministration user interface for LayoutsGPL-2.0page
explayouts_ui_apiJSON API and single page editor shellGPL-2.0page
explayouts_site_apiBridge between Layouts and the site APIGPL-2.0
explayouts_relation_list_queryRelation list collection query handlerGPL-2.0
explayouts_tags_queryTags collection query handlerGPL-2.0
explayouts_content_browserContent browser back endGPL-2.0
explayouts_content_browser_coreContent browser core servicesGPL-2.0
explayouts_content_browser_uiServer-rendered content browser user interfaceGPL-2.0
expquery_translatorSearch query parser and node filter, ported from a query translator libraryGPL-2.0

Site framework

PackageWhat it doesLicenseDoc
expsite_apiSimple PHP services over the content model for site codeGPL-2.0
expsite_coreSite helpers: breadcrumb path, redirect, mailGPL-2.0
expsite_appA holder for one project's design overrides and customizationsGPL-2.0
expsite_data_mediaSite data for the media siteGPL-2.0
expsite_installerOne-command site bootstrapGPL-2.0

Administration and editing

PackageWhat it doesLicenseDoc
exp_adminuiAn alternative administration interface (AdminUI)GPL-2.0feature
expuiThe JavaScript API of the admin: jQuery 4 and the Exp namespace, replacing YUIGPL-2.0
ezautosaveSaves drafts while editors typeGPL-2.0-or-laterpage
ezieImage editor inside the editing interfaceGPL-2.0-or-laterpage
ezmultiuploadUpload many files at once by drag and dropGPL-2.0-or-laterpage
ezwtThe website toolbar: edit from the public siteGPL-2.0-or-laterpage
expchangeclassChange the content class of an object or a whole classGPL-2.0
ezownerchangeReassign the owner of contentGPL-2.0
powercontentContent creation tools for templates and codeGPL-2.0
sevenx_dseDatabase source editor in the administrationGPL-2.0page
git_managerGit checkouts, branches and backups from the browserGPL-2.0page
ezupdatePackage manager: Composer, Packagist and package servers in the adminGPL-2.0page

New kinds of fields (datatypes)

PackageWhat it doesLicenseDoc
eztagsTaxonomy: tags as a datatype, with modules and fetch functionsGPL-2.0page
birthdayA date stored as YYYY-MM-DDGPL-2.0-or-laterpage
enhancedezbinaryfileAn extended file fieldGPL-2.0-or-laterpage
enhancedselection2An extended selection fieldGPL-2.0-onlypage
exp_enhanced_linkA link field to content or URLsGPL-2.0-or-laterpage
ngclasslistA field that stores a list of content classesGPL-2.0page
ezgmaplocationA map location fieldGPL-2.0-or-laterpage
ezstarratingStar ratingsGPL-2.0-or-laterpage

Users and security

PackageWhat it doesLicenseDoc
sevenx_authentication_2faTwo-factor sign-in and social login handlersGPL-2.0-or-laterpage
ezmbpaexPassword expiry and validationGPL-2.0page
hcaptchahCaptcha as a datatypeGPL-2.0page
recaptchareCAPTCHA as a datatypeGPL-2.0page

Search, SEO and statistics

PackageWhat it doesLicenseDoc
bcgooglesitemapsXML sitemapsGPL-2.0-or-laterpage
bcwebsitestatisticsPage view and order statisticsGPL-2.0-or-laterpage
xrowmetadataMeta data and sitemaps for search enginesGPL-2.0-or-laterpage

Import, export and integration

PackageWhat it doesLicenseDoc
bccieExport of collected informationGPL-2.0page
ezodfImport and export of office documentsGPL-2.0-or-laterpage
xrowextractContent import and export (CSV, XML, JSON, packages)GPL-2.0page
syndicationContent synchronization between installationsGPL-2.0page
ezprestapiREST API v2 content providerGPL-2.0page
cjw_tmvTools for an external web service integrationGPL-2.0
expqueueA database-backed job queueGPL-2.0-or-laterpage

Communication, commerce, intelligence, databases

PackageWhat it doesLicenseDoc
cjw_newsletterNewslettersGPL-2.0page
ezpaypalPayPal payment gateway for the shopGPL-2.0page
expaiExponential Intelligence: AI-assisted content creationGPL-2.0-or-laterpage
ezoracleOracle database driverGPL-2.0-or-later

Template tools

PackageWhat it doesLicenseDoc
owsimpleoperatorWrite template operators as plain methods; expose permitted PHP functionsGPL-3.0-or-laterpage
swarkMany template operators and a few workflow eventsGPL-2.0-or-laterpage
ezurlmultisiteURL operators for links across sitesGPL-2.0

Designs and site packages

PackageWhat it doesLicenseDoc
sevenx_themes_simpleThe default design theme "Simple"GPL-2.0page
sevenx_themes_mediaThe media site themeGPL-2.0
cjw_themes_jumperA converted media-site design themeGPL-2.0
ezwebinThe classic website interface designGPL-2.0-or-laterpage
ezflowPage blocks and zones, the older page builderGPL-2.0-or-laterpage
ezdemoThe demo site designGPL-2.0-or-laterpage

The installer

PackageWhat it does
exponential-legacy-installerThe Composer installer for packages of type ezpublish-legacy-extension: it puts each one into extension/<name>

Suggested, not required

The kernel's composer.json also suggests (installs only when you ask) these extensions, among others: ezfind (Solr search), ezauthorize (payment gateway), ezsi (edge side includes), ezscriptmonitor (long running scripts), bcurlaliaswithdash, sevenx_valkey and sevenx_valkey_cache (Valkey and Redis), adminaid, ezpm (private messages). Read the suggest block of composer.json for the current list and one line on each.

Extensions that ship inside the kernel's own repository are not in either list: ezjscore, ezoe, ezformtoken and expservices. They are always there.

How to use this catalogue as a developer

You want to learnRead
A small template operatorstr_replace (in the kernel tree), then owsimpleoperator
A datatypebirthday (small), then eztags (large)
A module with views and policiesezownerchange, expchangeclass
Workflow eventsswark (eventtypes/event/)
ezjscore ajax functionsezstarrating, ezautosave
A design extensionsevenx_themes_simple
A large feature split into packagesthe Layouts packages
Modern JavaScript without inline scriptsexpui

Learning from an extension, step by step takes two of them apart.

Become an Exponential Partner. Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster. Start with Partners: start here and How to apply.

Was this helpful?

Only your answer is kept, not who you are.

Something wrong on this page? Report an error