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

sevenx_classes, the content classes package

Every content class of the sevenx_classes package with its name, group and datatypes, how the package is installed, and how the installer changes some classes afterwards.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/site-packages/sevenx-multisite/sevenx-classes.md

On this page

sevenx_classes, the content classes package

This page is for developers and administrators who need to know which general content classes a sevenx_multisite installation has and where they come from. It answers: what the sevenx_classes package contains, how it is installed, and what the installer changes in these classes afterwards. The site-specific ng_* classes are on The demo content packages.

Contents

  1. The package
  2. The classes
  3. How the package is installed
  4. What the installer changes afterwards
  5. History

The package

FieldValue
Namesevenx_classes
Summarysevenx content classes
Typecontentclass
Install typeinstall (<package ... install_type="install">)
Versionnumber 6.0, release 10-stable; <ezpublish><version> 6.0.10-stable
LicenseGPL, text in documents/LICENCE
Filespackage.xml, documents/LICENCE, 33 files ezcontentclass/class-<identifier>.xml
Required bysevenx_multisite, sevenx_multisite_clean, sevenx_site, sevenx_site_clean

Its <provides> list has 34 entries because file is listed twice; there are 33 class files and 33 <install> items, and the same 33 items under <uninstall>. The published archive of 6.0.15 is sevenx_classes.ezpkg.

The classes

Read from the <identifier>, the eng-US entry of <serialized-name-list>, the <group> elements, the is-container attribute and the <attribute datatype="..."> elements of each class file.

IdentifierNameGroupContainerAttributesDatatypes beyond ezstring and ezxmltext
articleArticleContentyes13ezauthor, ezboolean, ezdatetime, ezkeyword, ezobjectrelationlist, ezsrrating, xrowmetadata
article_mainpageArticle (main-page)Contentyes13ezauthor, ezboolean, ezdatetime, ezimage, ezkeyword, xrowmetadata
article_subpageArticle (sub-page)Contentno5ezkeyword, xrowmetadata
bannerBannerContentno5ezimage, ezkeyword, eztext
blogBlogContentyes4ezkeyword, xrowmetadata
blog_postBlog postContentyes7ezboolean, ezdatetime, ezkeyword, xrowmetadata
commentCommentContentno3eztext
documentation_pageDocumentation pageContentyes4ezboolean, ezkeyword
eventEventContentno7ezdatetime, ezkeyword, xrowmetadata
event_calendarEvent calendarContentyes4ezselection, xrowmetadata
feedback_formFeedback formContentyes8ezemail, eztext, xrowmetadata
fileFileMediano4ezbinaryfile, ezkeyword
flashFlashMediano4ezkeyword, ezmedia
folderFolderContentyes8ezboolean, ezdatetime, ezkeyword, xrowmetadata
forumForumContentyes3xrowmetadata
forum_replyForum replyContentno2eztext
forum_topicForum topicContentyes4ezboolean, ezsubtreesubscription, eztext
forumsForumsContentyes2(none)
frontpageFrontpageContentyes8ezkeyword, ezobjectrelation, xrowmetadata
galleryGalleryContentyes7ezkeyword, ezobjectrelation, ezsrrating, xrowmetadata
geo_articleGeo ArticleContentyes13ezauthor, ezboolean, ezdatetime, ezgmaplocation, ezimage, ezkeyword, xrowmetadata
imageImageMediano6ezimage, ezkeyword, ezsrrating, xrowmetadata
infoboxInfoboxContentno5ezimage, ezurl
linkLinkContentno5ezboolean, ezurl, xrowmetadata
multicalendarMulticalendarContentno3ezobjectrelationlist
pollPollContentno3ezoption
productProduct(none in the file)yes12ezkeyword, ezmatrix, ezmultioption, ezobjectrelationlist, ezprice, ezsrrating, xrowmetadata
quicktimeQuicktimeMediano4ezkeyword, ezmedia
real_videoReal videoMediano4ezkeyword, ezmedia
reviewReviewContentno5ezboolean, ezinteger, eztext
silverlightSilverlightMediano3ezmedia
videoVideoMediano6ezkeyword, ezmedia, ezsrrating, xrowmetadata
windows_mediaWindows mediaMediano4ezkeyword, ezmedia

The datatypes come from extensions: ezsrrating from ezstarrating, ezgmaplocation from ezgmaplocation, xrowmetadata from xrowmetadata. The installer's preInstall() registers the first two (and ngenhancedlink, eztags) in content.ini [DataTypeSettings] for the running process before the packages are installed, and lists all three extensions in ActiveExtensions; see Extensions it activates.

How the package is installed

The setup installs required packages before the site package's post-install runs (see Dependencies and install order). CreateSites installs them with 'non-interactive' => true (kernel/setup/steps/ezstep_create_sites.php). In that mode eZContentClassPackageHandler (kernel/classes/packagehandlers/ezcontentclass/ezcontentclasspackagehandler.php) skips a class whose remote id already exists: "Non-interactive installs (e.g. CLI) must not destructively replace existing classes and their content objects."

Six of the 33 classes carry the same remote id as a class of the kernel's base data (share/db_data.dba): article, comment, file, folder, image and link. On a new installation these six keep the base data's definition; the other 27 are created from the package.

Note

When you import sevenx_classes by hand into an existing site, the class handler offers the choices of its ERROR_EXISTS conflict: replace, skip, create a new class, or update the existing class ("attributes are added and updated, none removed"). See Import versus install.

What the installer changes afterwards

sevenxMultiSiteInstaller adjusts some of these classes during the install:

StepClassChange
preInstall()folderadds tags ("Tags", ezkeyword) and publish_date ("Publish date", ezdatetime), named in the primary language
preInstall()user (base data)adds two_factor ("Two-step sign-in", datatype sevenxauthentication2fa) when extension/sevenx_authentication_2fa exists
post-install updateClassAttributesfolderrenames short_description to "Summary" and show_children to "Display sub items"
post-install updateTemplateLookClassAttributestemplate_look (base data)adds twelve attributes such as site_map_url, footer_text, hide_powered_by, footer_script
post-install removeClassAttributetemplate_lookremoves the attribute id

Two repair steps then rebuild class name lists that were stored under a number instead of a language code (postInstallResyncContentClassNames, postInstallRepairClassNameLists); see Post-install fixes.

History

The git history of packages/sevenx_classes starts on 2024-01-13 ("Renamed Key Site Package Internal Directories For Initial Editing and Improvments To Begin"), when the folder packages/ezwebin_classes was renamed to packages/sevenx_classes (git log --follow shows the rename). Later commits switched every class to an eng-US translation (2024-01-13), gave the article, image and product classes a star rating attribute (2024-02-27), added xrowmetadata to most page classes (2024-04-02), added the review class (2026-09-12) and made product a container (2026-09-30).

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.

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