Open anibalsanchez opened 4 years ago
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
Joomla Docs
PR Required Adjust plugins to updated terminology:
Magazine Article
Joomla Docs Longer Term
Joomla 4.1 Enhancements
Official 3rd Party Integrations
Tags to add: Documentation Required, RFC
Thinking in terms of the plugin names, it would be clearer:
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".
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.
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 :white_check_mark: 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.
I have just done the label and title stuff :+1:
@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.
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...
"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.
@wilsonge a decision needs to be made on this before RC so we have time to update strings and docs if required
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
Based on this (https://en.wikipedia.org/wiki/Web_service) can we agree to go with "Web services"
Based on the comments of Anibal, George and Brian, I would support "Web Services" too.
as #32496 has been merged shouldnt this be closed now or is there something outstanding?
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:
Should these become:
@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:
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:
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