custom fields

[UPDATE 31. October 2016]
Custom fields got merged into Core!! We are finalizing it. All open issues can be seen here and and pull requests here. You can expect it for version 3.7!!

For a long time the Joomla community has a demand for a simple but powerful custom fields feature in the core Joomla CMS. In the Joomla 2.5.x and 3.x series, the internal form library has evolved and it is now possible to build a custom fields extension around JForm and the internal plugin system of Joomla, which just works. That's why we created DPFields for our own extensions and the Joomla core extensions like the articles manager or the user manager. We soon realized that DPFields can perhaps fulfill the needs of a basic custom fields feature in Joomla. So we asked our fellow developers on the mailing list and got some positive feedback. After Allon joined the Joomla 4 architecture team, some discussions were held with the PLT members Chris Davenport and Marco Dings, if custom fields should come into Joomla 3.6 or waiting for Joomla 4. We all agreed that it would make sense to have it in the 3 series as well.

Introduction

We will take the source code of DPFields 1.2.x and port it to the Joomla CMS. The name of of the custom fields extension will be com_fields and will integrate as a horizontal component. A horizontal component is new construct which will make the life of extension developers much easier in Joomla 4. But that's another story.

The component itself manages the fields for the different contexts. The fields system plugin will then hook into various events to add the custom fields to the edit forms or display them on the front. Every component in the Joomla core which can make use of custom fields will have some new menu items to manage the fields. It is a similar approach as with categories. For the beginning we will add custom fields to the articles and users.

Let's get it!

To test out the custom fields feature for Joomla, install the patch from PR #11833 or download Joomla from the custom fields branch from our fork https://github.com/Digital-Peak/joomla-cms/tree/custom-fields.

download

Let's test it!

This short tutorial will show you how to create your first custom field for an article and display it on the front with a custom field.

Create a custom field

  1. Log in on the back end.
  2. Navigate to Content -> Articles.
  3. Click on the left sidebar on Fields.
  4. Click on the New button on the top.
  5. Define a title and label.
  6. Click the Save & Close button on the top.
custom fields sidebar edit field

Create an article

  1. Log in on the back end.
  2. Navigate to Content -> Articles.
  3. Click on the New button on the top.
  4. Define a title.
  5. Open the Fields tab.
  6. Add some text on the custom field.
  7. Click the Save & Close button on the top.
edit article 

View it on the front

  1. Log in on the back end.
  2. Create an article menu item in the menu manager and select the new article.
  3. Go to the front site of your Joomla installation.
  4. Open the article.
  5. Check if the custom field is displayed.
front article 

What will come next?

After some internal testing and hopefully feedback from early-bird testers, we will create the pull request. That starts a next round of input from a wider range of Joomlers. If all goes well we hope it will be in Joomla on the J and Beyond conference. We will keep you updated on that blog how it goes.

Future of DPFields

The future of DPFields is unknown at that point, but you will always be safe as we provide a migration path. For the closer future you don't have to worry as we will keep DPFields alive and do active development of new features for it (if accepted, we will port it to core then). If com_fields will get the attention we hope within the Joomla community, then we will provide a migration path for all DPFields users and shut down the project. If not, we will keep the DPFields extension suite definitely alive. For you as user, nothing will change right now, and we will make sure you will have a neat experience, with com_fields or com_dpfields.

 

[UPDATE 31. April 2016]

The development of the custom fields feature moved to it's won repository at https://github.com/joomla-projects/custom-fields.

[UPDATE 5. May 2016]

As the Joomla PLT team decided to change the version number for the version 3.5.2 to 3.6.0, com_fields will be part of Joomla 3.7.

[UPDATE 29. August 2016]

Custom fields PR #11833 has landed with over 100 issues closed, 50 pr's done and 200 commit. Please do further testing there and not on the custom fields project!

[UPDATE 31. October 2016]

Custom fields PR #11833 got merged. We are finalizing it now.