Joomla! World Conference 2026

How we managed the migration of the Joomla Community Magazine from EasyBlog to Joomla Core.

The Joomla Community Magazine has a long history. Our archive dates back to July 2010. The Issue includes an article about the relaunch of the Magazine with a new design and K2 as component to manage the articles: Website Case Study: Joomla! Community Magazine

Ten years later, after one year break, the Magazine was relaunched using EasyBlog. K2 and EasyBlog had in common that they managed the content inside a component, had extra fields and a comment function (to put it simplified). The difficulty with the two components was: they don’t use Joomla and at some point they slowed down the development making it almost impossible to keep Joomla itself up-to-date.

First working group

At the end of 2024 a new working group led by Herman Peeren was formed to look into the  possibility of migrating from EasyBlog to Joomla Core. In this phase, the way was prepared for migrating the whole magazine from EasyBlog to “just Joomla”. 

At the beginning of 2026 Christiane Maier-Stadtherr, Benjamin Trenkle and I decided to take over and make a code sprint to bring the project to an end.

Baseline

The working group had made a good start on identifying what was needed:

  • Display articles from current issue on the homepage
  • Display all issues as category tree
  • Display authors, linked to their articles and listing them
  • A couple of modules to display past issues and current articles
  • Login for authors
  • A workflow from authors to editors, with notifications
    • Save as Draft
    • Submit for review
    • The editors should be able to reject, to set on hold or to accept and schedule the articles
  • A dashboard for the authors listing their articles (published and drafts)
  • Comments

Work

Except for comments all functionality needed could be realized with Joomla Core: Categories, Articles, Users, Contacts, Fields, Workflows.

For the articles and issues we created a category structure like this:

  • Draft
  • In Review
  • Issues
    • Year
      • Month

Workflows

For the workflow we are using two special plugins written by Benjamin Trenkle: one for the notifications and one that allows us to assign categories during transitions. This way we could create a workflow for article submission.

When an author creates a new article it gets stored in the category “Draft”. The author can still access the article and edit it. The submission form has an additional button “Submit for Approval” which is associated with a transition in the workflow: the article is moved to the category “In Review”. The author has no access to the article anymore. 

Now the editors can review the article and do the next step: Delete (the article gets trashed), Reject (article goes back to “Draft”), Set on hold (when the article is planned for a later issue) or Schedule. The last transition is Publish, the editor changes the category to the corresponding issue and sets the publishing date. The idea is also to use the fields “Start Featured” and “End Featured” to make the display of the current issue easier.

Graphical display of the workflow
Graphical display of the workflow

Users / Authors

We created a separate user group for Authors (a subgroup from Registered). They can login in the frontend and have access to the category “Draft”. Each author is linked to a Contact in the contact component and in the article the author is linked to the contact page. There are other articles about this topic:

How to create an author's page

How to create a conference website with Joomla Core

How to create a conference website with Joomla Core - Part 2

Since the editing of contacts in frontend is not easy, we decided to create additional fields for the user (image, about me and website) and load them in an override of the contact view. The authors can edit their information in the user profile.

Modules

To show Previous Magazine Issues we created an override for the Articles - Categories module to display the categories (years) as accordion and to show the total number of articles per year.

The Current Issue module is an Articles module displaying only featured articles.

Each issue has an introductory article with a list of all articles included in the issue. This list is an Articles module (In this Issue) in dynamic mode: it will display articles from the same category as the current one (link to article).

After login the author is redirected to an overview page displaying their own articles. For this we created two Articles modules, one for the category Draft and another one for the published articles.

Author's page with listed articles

Comments

For comments we got in touch with Lefteris Kavadas from Firecoders who agreed to give the Magazine a license for the pro version of his component CommentBox, a lightweight extension that smoothly integrates in Joomla articles (thanks Lefteris!).

Media upload

One important thing missing in Joomla Core is the possibility to limit the upload of images to a specific folder with restricted access for the user. To overcome this we installed the plugin Restricted FS from Dimitris Grammatikogiannis. The plugin creates a folder per user and restricts the access to media only to this folder (thanks Dimitris!).

Open Graph Image

We installed a small plugin from Andre Hotzler (OG:Image) which uses the article image as Open Graph image. From the same developer we use the Prism code highlighter plugin to nicely display code blocks in the articles (thanks Andre!). 

Clean Up

Over the years the Magazine site had accumulated a lot of extensions that were not needed anymore. So we swept the house, uninstalling every unnecessary extension, ending up with a website that’s much easier to maintain.

Migration

All the things mentioned above were preparations for the most important work: migrate all content from EasyBlog to Joomla. Benjamin Trenkle programmed a CLI (command line) plugin to:

  • create the Joomla categories
  • copy the EasyBlog articles into the corresponding Joomla categories
  • copy and assign tags
  • copy and assign article images
  • apply the correct workflow
  • creates a contact for each author/user
  • copy all EasyBlog comments to CommentBox

We tested the migration several times on a demo site until all steps worked as expected, then we repeated the procedure on the Magazine sandbox (a copy of the site on the same server) and finally did the real migration on the live site.

Design

Since another Working Group is working on a new design for all official Joomla websites, we decided to keep the current template and only add some CSS for the new views and modules. So although pretty much the whole magazine has changed under the hood, at the moment of writing you probably can’t tell things have changed. As soon as the design for all sites is ready, the JCM will look the part!

Thanks go to

I want to thank all people involved in the migration project, now and earlier. Special thanks to Benjamin for the hard work and patience during the sprint and afterwards. Also a big thanks to Christiane who offered her apartment as our working place. She is not only really good at creating workflows and overrides, she is also an excellent host.

Conclusion

Before we started, we were pretty sure that Joomla Core is perfect to create and manage a magazine - and we were right 🙂. Please click around, write comments, and, if you’re an author, submit articles. If you find errors or things that don’t look the way they should, please let us know.

Enjoy the relaunch! 

About the author

Since 2008, I am creating websites with Joomla. In 2014 I started volunteering in the Joomla community and I am now active in various teams (Maintainers, Accessibility, Events). I like to write articles for the Joomla Magazine and other blogs. Since 2019, I have been (co-)organising the JoomlaDay Germany / D-A-CH.

Visit website

Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project

Comments