By Rahul Saini on 2021-06-29 18:32 in GSoC 21 Frontend Inline Editing

This is the first report of the GSoC project Frontend inline editing. The goal of this project is to make the frontend text of a Joomla website inline editable.

 

GSoC's official coding period started on 7th June.

The first phase(7-15 June)

I was busy with college exams. So this was an extended community bonding period for me. Ideally, GSoC students are expected to spend around 18 hours a week on their project, but I will spend more to make up for my first week in the upcoming weeks.

 

The second phase(16-20 June)

    The main goal of this phase was to get familiar with the Joomla codebase and test the approach which I had in mind. I explored the Joomla codebase(specifically com_content, com_modules, and com_config) and implemented Article title inline editing. I was also thinking about an approach to make Article content and Module headings inline editable using the code already being written for the Article title.

 

Coding part:

  • A Javascript function replaces the Article title with an Html text area and makes an Ajax request when the user focuses on that text area. Depending upon the server response, the function will update the Article title on the frontend.
  • A controller to handle Ajax request
  • A model to save data

 

PR Link: https://github.com/joomla-projects/gsoc21_frontend-inline-editing/pull/1

 

The third phase(21-28 June)

    After completing the Article title, I got confident/experienced enough to think about the end goals of this project. Then, with the help of Aníbal Sánchez and Roland Dalmulder, the following objectives were finalized.

  • Article Title
  • Article Body
  • Module Title
  • Module Body if it contains only text
  • Custom fields
  • Support for editor wherever it suits
  • Option to disable and enable inline editing

 

This week I explored how plugins work in Joomla. This was required to add the inline editing support for Custom fields. Now custom text fields are inline editable.

PR Link: https://github.com/joomla-projects/gsoc21_frontend-inline-editing/pull/4