Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Joomla site with Joomlatools Pages - Joomladay USA 2021

Building a Joomla site with Joomlatools Pages - Joomladay USA 2021

Joomlatools Pages is an easy to use page generator for Joomla inspired by the ideas and concepts of flat-file CMS systems and static site generators. Make no mistake Pages is not a static site generator (SSG), Pages works in a dynamic, lazy and smart way. A page is dynamically generated, cached and only re-generated when its content or layout has changed.

Created by Joomla co-founder Johan Janssens Pages makes developing Joomla sites easy and fun. It gives you total control over your data and your layouts, with near zero additional extensions, and provides massive speed gains out of the box. Sounds too good to be true? This presentation will show you how.

We will build a simple Joomla site with a frontpage, a blog and a contact form in 40min and show you how Pages can:

- Render articles with custom layouts and using custom fields without needing a CCK extension
- Create modules on the fly and display it anywhere without needing Modules Anywhere
- Create search engine optimised URL's without needing a SEF extension
- Receive form submissions without needing a form extension

To top it off we will show how Pages makes the site lightning fast with the flip of switch.

If you like to get started already, check out Pages on Github and read the Pages release announcement, for questions jump on to the community forums.

- Event: https://jdayusa.com/sessions-2022/sessions-2021
- Video: https://youtu.be/NRStpcyliZ0

Johan Janssens

April 24, 2021

More Decks by Johan Janssens

Other Decks in Programming


  1. http://www.joomlatools.com/developer @joomlatools
    Everything is a Remix
    It’s not where you take things from —

    it’s where you take them too

    View Slide

  2. Question
    If Joomla would be about food, would it be:

    a. A cookbook

    b. A soup kitchen

    c. A restaurant

    View Slide

  3. View Slide

  4. Standing on the shoulders of giants

    View Slide

  5. 1
    The GPL is not just a legal document, it’s much more, it’s a creativity
    manifesto embracing and perpetuating the idea that everything is a

    remix through the freedom of use, study modify and copy it provides.

    View Slide

  6. Joomla means “all together …”

    View Slide

  7. Framing Joomlatools Pages

    View Slide

  8. 2
    Joomlatools Pages is a just-in-time page generator combining the power of a
    dynamic web application, with the performance of a static site generator.

    Pages is not a static site generator (SSG), Pages works in a dynamic, lazy and
    smart way. A page is dynamically generated, cached and only re-generated when its
    content or layout has changed.

    Pages is datasource agnostic, you can use any kind of data source, for example you
    could use, a Joomla component, a database table, a headless CMS like Strapi, or even a
    webservice like Airtable or Google Sheets.

    From: https://github.com/joomlatools/joomlatools-pages/wiki

    View Slide

  9. 3
    Joomlatools Pages provides a no-code MVC

    View Slide

  10. Learnings from the past …

    View Slide

  11. 4
    Locality of Behaviour (LoB)

    "The primary feature for easy maintenance is locality: Locality is that characteristic of
    source code that enables a programmer to understand that source by looking at only a
    small portion of it." -- Richard Gabriel

    The LoB Principle:

    The behaviour of a code unit should
    be as obvious as possible by
    looking only at that unit of code

    In as much as it is possible, and in balance with other concerns, Pages strives to make the
    behaviour of a code element obvious on inspection.

    View Slide

  12. 5
    Rendering a list of weblink in Joomlatools Pages

    • Single file

    • Dynamic

    • Separated logic

    • Any-datasource

    • Copy-paste

    • Cacheable

    • Itemid

    View Slide

  13. 6
    Further reading

    1. Framing Pages - A just-in-time page generator


    2. Framing Pages - Standing on the shoulders of components


    View Slide

  14. It’s demo time

    View Slide

  15. Turning this ….

    View Slide

  16. … into this

    View Slide

  17. Johan Janssens

    Joomla Co-Founder / Former Lead Developer

    View Slide

  18. More Info

    View Slide