? ? No Code Attached Yet Documentation Required
avatar anibalsanchez
anibalsanchez
3 Nov 2020

I've just realized that what people call Web Services, it is named "Joomla API" and the naming inconsistency is general.

Since "Joomla API" can refer to any API in Joomla (For instance, the Joomla Platform API), it would be great if we can avoid confusions naming web services as "Web Services". For more info about the definition of API as "application programming interface" https://en.wikipedia.org/wiki/API

Please, check the following inconsistencies between the official channels and the "Web Services" / "Joomla API" feature.

Joomla 4 tutorial: Using the Web Services API
https://www.youtube.com/watch?v=lT9qodsvfZg

Joomla! Api
https://docs.joomla.org/Category:Joomla!_Api

J4.x:Adding an API to a Joomla Component
https://docs.joomla.org/Category:Joomla!_Api

Joomla Api Specification
https://docs.joomla.org/Category:Joomla!_Api

J4.x:Joomla Core APIs
https://docs.joomla.org/J4.x:Joomla_Core_APIs

Joomla Web Services API 101 - Tokens, Testing and a Taste Test
https://magazine.joomla.org/all-issues/august-2020/joomla-web-services-api-101-tokens,-testing-and-a-taste-test

Web Services Working Group
https://docs.joomla.org/Web_Services_Working_Group

On Joomla 4, there are plugins named:

  1. Web Services - Banners
  2. API Authentication - Basic Auth
  3. API Authentication - Joomla Token

In this case, it is not clear if all Joomla APIs of any kind are restricted with authentication, or only the Web Services are restricted with the "api-authentication" plugins.

So, it would be great if we settle to name web services as Joomla "Web Services" and remove all references to "Joomla API" or "API" to refer to "Web Services". In this way, the Joomla usage of the term "Web Service" will be close to the general usage of the concept. For more information about the "Web Service" term: https://en.wikipedia.org/wiki/Web_service

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
5.00

avatar anibalsanchez anibalsanchez - open - 3 Nov 2020
avatar joomla-cms-bot joomla-cms-bot - labeled - 3 Nov 2020
avatar particthistle
particthistle - comment - 4 Nov 2020

I agree @anibalsanchez - when writing the JCM article it was a saga to find enough information, as well as know correct terminology to use (vs what had been implemented so far).

I propose a checklist to move forward with making the changes. Open to additions.

Confirm terminology

  • Use "Joomla! 4.x Web Services" for specific references to Joomla Web Services
  • Use "Web Services" as the general reference to Joomla Web Services

Joomla Docs

PR Required
Adjust plugins to updated terminology:

  • Web Services - Banners
  • API Authentication - Basic Auth
  • API Authentication - Joomla Token

Magazine Article

Joomla Docs Longer Term

  • Add individual detail pages for each Web Service listed in https://docs.joomla.org/J4.x:Joomla_Core_APIs
  • On individual detail pages, add example usage cases and complete mapping of field syntax that can be used for each Web Service request.

Joomla 4.1 Enhancements

  • Improvements to Web Services Authentication to allow use by other ACL levels (currently only Super Users)
  • Review Roadmap - is everything there?
  • Are there other features that can be considered to include in Web Services for Joomla 4.1?

Official 3rd Party Integrations

  • Zapier
  • IFTTT
  • Integromat

Tags to add: Documentation Required, RFC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/31306.

avatar zero-24 zero-24 - change - 4 Nov 2020
Labels Added: ?
avatar zero-24 zero-24 - labeled - 4 Nov 2020
avatar zero-24 zero-24 - change - 4 Nov 2020
Labels Added: ?
avatar zero-24 zero-24 - labeled - 4 Nov 2020
avatar joomla-cms-bot joomla-cms-bot - change - 4 Nov 2020
Labels Removed: ?
avatar joomla-cms-bot joomla-cms-bot - unlabeled - 4 Nov 2020
avatar anibalsanchez
anibalsanchez - comment - 4 Nov 2020

Thinking in terms of the plugin names, it would be clearer:

  • Web Services - Banners
  • Web Services Authentication - Basic Auth
  • Web Services Authentication - Joomla Token

We need to avoid the use of API. The regular Joomla user doesn't know what is an API. On top of this, API can refer to any API of the system. In all of these cases, we are talking only about "Web Services".

avatar anibalsanchez
anibalsanchez - comment - 4 Nov 2020

One more point, in the WordPress ecosystem, a similar feature to Joomla "Web Services" is named "REST API". API is qualified with "REST"; so the API is always going to be "RESTful Web services".

So, changing to "Web Services" on Joomla helps to differentiate the feature and define a wider scope for future development.

avatar particthistle
particthistle - comment - 5 Nov 2020

Admin: Not sure why the label:RFC got dropped by the bot. @anibalsanchez do you want to add [RFC] to the subject line?

I've added to the items I've updated so far.

There's a few of the JDOCs that are going to need more of a coder's eye, as there's some function names and framework references that need refactoring to change what the impact may be of /api/ folder as an example.

avatar zero-24 zero-24 - change - 5 Nov 2020
Title
Web Services or Joomla API?
[RFC] Web Services or Joomla API?
avatar zero-24 zero-24 - edited - 5 Nov 2020
avatar joomla-cms-bot joomla-cms-bot - change - 5 Nov 2020
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 5 Nov 2020
avatar zero-24
zero-24 - comment - 5 Nov 2020

I have just done the label and title stuff 👍

avatar anibalsanchez
anibalsanchez - comment - 5 Nov 2020

@particthistle My report is about the displayed name in the user interface and in the documentation. It must be "Web Services".

There's no need for refactoring or complicating the issue. If coding people are happy calling Web Services as API internally, there is no issue with that.

avatar laoneo
laoneo - comment - 5 Nov 2020

Is it only me, but Web Services is the wrong name. It is a Rest API. Not mor or less, or not? Web Services is too general...

avatar anibalsanchez
anibalsanchez - comment - 5 Nov 2020

"Web Services" is a more general concept than "Rest API"; it includes the "Rest API" as a special case. So, "Web Services" is not wrong. @laoneo

In the future, Joomla Web Services could also support SOAP APIs or GraphQL APIs.

avatar brianteeman
brianteeman - comment - 22 Feb 2021

@wilsonge a decision needs to be made on this before RC so we have time to update strings and docs if required

avatar wilsonge
wilsonge - comment - 22 Feb 2021

I'd prefer webservices I think as the term inside the CMS. We're not limited to just REST (even if that's what we are providing out the box). However the directory in the CMS should remain as API as by convention most websites use the /api/ path in their API urls

avatar brianteeman
brianteeman - comment - 22 Feb 2021

Based on this (https://en.wikipedia.org/wiki/Web_service) can we agree to go with "Web services"

avatar jeckodevelopment
jeckodevelopment - comment - 23 Feb 2021

Based on the comments of Anibal, George and Brian, I would support "Web Services" too.

avatar brianteeman
brianteeman - comment - 8 Apr 2021

as #32496 has been merged shouldnt this be closed now or is there something outstanding?

avatar particthistle
particthistle - comment - 14 Apr 2021

My checklist is a wider note on what else needs to be changed in regards to making Web Services something people uptake.

The issue @anibalsanchez has raised may be much simpler in regards to Joomla 4 changes, and may be able to see this issue closed.

The only suggestions remaining from @anibalsanchez's list are whether to rename these plugins:

  • API Authentication - Basic Auth
  • API Authentication - Joomla Token

Should these become:

  • Web Services Authentication - Basic Auth
  • Web Services Authentication - Joomla Token
avatar anibalsanchez
anibalsanchez - comment - 14 Apr 2021

@particthistle You are right in the sense that naming the plugins as Web Services Authentication would be much clearer. However, the plugin group has already be named as api-authentication. So, following the Joomla naming conventions for plugins the plugin group prefix must be API Authentication.

I think it would be better to name the plugins as:

  • API Authentication - Web Services Basic Auth
  • API Authentication - Web Services Joomla Token Auth
avatar Hackwar Hackwar - change - 20 Feb 2023
Labels Added: ? ? No Code Attached Yet Documentation Required
Removed: ? ? ?
avatar Hackwar Hackwar - labeled - 20 Feb 2023

Add a Comment

Login with GitHub to post a comment