joomla x overview

Download Joomla X Overview

If you can't read please download the document

Upload: niels-braczek

Post on 17-Feb-2017

388 views

Category:

Internet


0 download

TRANSCRIPT

Why?

Current version is based on a 10 years old, outdated technology

Backend technologies like Laravel and frontend technologies
like Angular2 and React attrack our developers.

Market runs away from Joomla!

Not using state-of-the-art technology is like a death sentence to the project.

A new technological base is urgently needed.

Current version is based on a 10 years old, outdated technology

Backend technologies like Laravel and frontend technologies like Angular2 and React attrack our developers.

Market runs away from Joomla!

Not using state-of-the-art technology is like a death sentence to the project.

A new technological base is urgently needed.

Orthogonality

The Joomla! X (formerly known as Joomla! 4) architecture is based
on the principle of Orthogonal Components.

This principle describes Vertical Components,
like Content, Weblinks, or Users,

that are combined with Horizontal Components,
like Workflow, Tagging, or Versioning.

Horizontal Components add functionality to Vertical Components
without explicit code in the components.

The Joomla! X (formerly known as Joomla! 4) architecture is based on the principle of Orthogonal Components.

This principle describes Vertical Components,
like Content, Weblinks, or Users,

that are combined with Horizontal Components,
like Workflow, Tagging, or Versioning.

Horizontal Components add functionality to Vertical Components without explicit code in the components.

Storage

Courtesy DRs Kulturarvsprojekt

Components use Entities to communicate with the
Storage Layer through Repositories,

which can use different connections for read and write access.

Doctrine2 DBAL adds out-of-the-box support
for MySQL, SQLite, PostgreSQL, Oracle, MS SQL Server,

and other sources as CSV or XML files and
web services can be added transparently.

Relations are resolved automatically.

Components use Entities to communicate with the Storage Layer through Repositories,

which can use different connections for read and write access.

Doctrine2 DBAL adds out-of-the-box support for MySQL, SQLite, PostgreSQL, Oracle, MS SQL Server,

and other sources as CSV or XML files and
web services can be added transparently.

Relations are resolved automatically.

Rendering

Courtesy Kisa Naumova

Components enclose Entities with ContentTypes
to add semantics to the data.

No layout information is provided, because there's no
knowledge about the context.

Renderers turn content into HTML, JSON, plain text or arbitrary other formats.

HTML rendering is a bit different, though, since the content
has to be embedded into the layout.

Components can add own ContentTypes.

Components enclose Entities with ContentTypes to add semantics to the data.

No layout information is provided, because there's no knowledge about the context.

Renderers turn content into HTML, JSON, plain text or arbitrary other formats.

HTML rendering is a bit different, though, since the content has to be embedded into the layout.

Components can add own ContentTypes.

PageBuilder

Courtesy Ivanevian

For the web, content is organised using Pages based on Templates.

Master Layouts are used to combine static and dynamic content,
that gets used on multiple Pages.

A Page defines a URL, the underlying Master Layout, and additional
static and dynamic content.

Any component's output can be viewed in any position,

and the blocks can be related to each other to show data added by
the Horizontal Components.

For the web, content is organised using Pages based on Templates.

Master Layouts are used to combine static and dynamic content, that gets used on multiple Pages.

A Page defines a URL, the underlying Master Layout, and additional static and dynamic content.

Any component's output can be viewed in any position,

and the blocks can be related to each other to show data added by the Horizontal Components.

Approach

Too many obstacles, like tight coupling and insufficient tests,
made incremental development a nightmare.

A clean base allowed making fast progress, so the basics already
are in place.

All architectural goals defined in Odense and Athens are or
will be implemented.

A release will not happen without a one-click upgrade for the core
and a reasonable support for 3PD extensions.

Too many obstacles, like tight coupling and insufficient tests, made incremental development a nightmare.

A clean base allowed making fast progress, so the basics already are in place.

All architectural goals defined in Odense and Athens are or will be implemented.

A release will not happen without a one-click upgrade for the core and a reasonable support for 3PD extensions.