Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 548884 - List of specification projects
Summary: List of specification projects
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: API.eclipse.org (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: Martin Lowe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 434494 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-07-02 14:36 EDT by Wayne Beaton CLA
Modified: 2019-09-20 14:41 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wayne Beaton CLA 2019-07-02 14:36:56 EDT
We need an API that provides a list of specification projects for a particular working group.

The input would be the identity of the working group (e.g. "jakartaee").

The output should include:

* The project name;
* The project id;
* URL to the project landing (PMI) page;
* The scope statement; and
* List of Git repository URLs.

Output in JSON would be fine.

I don't think that we need to add any authentication or authorization around the use of this API.
Comment 1 Christopher Guindon CLA 2019-07-02 14:49:20 EDT
How about we create a "projects" endpoint? 

We would need to implement two filters to meet your requirements:

1. spec_project
2. working_group 

For example: 

projects.eclipse.org/api/projects?spec_project=1&working_group=jakartaee

Thanks for the requirements!
Comment 2 Wayne Beaton CLA 2019-07-02 15:35:37 EDT
I think that this could work.

I assume that you're thinking of the two ways in which we associate working groups with projects.

* field_working_group which indicates an informal relationship between a project and zero or more working groups; and
* field_project_spec_working_group which describes a very formal relationship between a project and at most one working group for the purposes of doing specification work.
Comment 3 Christopher Guindon CLA 2019-07-03 08:29:33 EDT
Marking this as a P2 since it's a Q3 MBO for my team.
Comment 4 Christopher Guindon CLA 2019-07-03 11:20:01 EDT
*** Bug 434494 has been marked as a duplicate of this bug. ***
Comment 5 Eric Poirier CLA 2019-09-11 16:10:06 EDT
Hi Wayne,

There is now an endpoint on the Projects website to get a list of projects. It is also possible to filter the ones that are a spec project and to which working group it is associated to:

https://projects.php55.dev.docker/api/projects?spec_project=1&working_group=jakarta-ee

Please reopen this bug if there's an issue with this new endpoint.

Thanks!
Comment 6 Wayne Beaton CLA 2019-09-11 16:25:10 EDT
That endpoint returns an error.

This one works, however (is this what you meant?):

https://projects.eclipse.org/api/projects?spec_project=1&working_group=jakarta-ee

The list is incomplete. It does not, for example, include "Jakarta Server Pages" (it does include "Jakarta Server Faces", which is a different project). I also expect to see, for example, Jakarta Transactions (ee4j.jta) and Jakarta NoSQL (ee4j.nosql) in the output.
Comment 7 Eric Poirier CLA 2019-09-11 16:32:36 EDT
(In reply to Wayne Beaton from comment #6)
> That endpoint returns an error.
> 
> This one works, however (is this what you meant?):
> 
> https://projects.eclipse.org/api/
> projects?spec_project=1&working_group=jakarta-ee
> 
> The list is incomplete. It does not, for example, include "Jakarta Server
> Pages" (it does include "Jakarta Server Faces", which is a different
> project). I also expect to see, for example, Jakarta Transactions (ee4j.jta)
> and Jakarta NoSQL (ee4j.nosql) in the output.

One thing I forgot to mention is that I implemented pagination in this endpoint.

For example, ee4j.jsp is visible on the 2nd page:

https://projects.eclipse.org/api/projects?spec_project=1&working_group=jakarta-ee&page=2

It is also possible to change the page size by using the pagesize parameter like so:

https://projects.eclipse.org/api/projects?spec_project=1&working_group=jakarta-ee&page=2&pagesize=40

The default pagesize is 20 items.
Comment 8 Wayne Beaton CLA 2019-09-12 14:45:20 EDT
Ah. Okay. Thanks.
Comment 9 Eric Poirier CLA 2019-09-13 11:30:18 EDT
After discussion with Chris we decided to make the following changes:

The "working_group" filter will now be called "spec_project_working_group" to reflect the information that is being shown.

I will create a new filter called "working_group" that will fetch the projects that are associated to a working group and not necessarily a spec project.
Comment 10 Christopher Guindon CLA 2019-09-13 11:38:31 EDT
(In reply to Eric Poirier from comment #9)
> After discussion with Chris we decided to make the following changes:
> 
> The "working_group" filter will now be called "spec_project_working_group"
> to reflect the information that is being shown.
> 
> I will create a new filter called "working_group" that will fetch the
> projects that are associated to a working group and not necessarily a spec
> project.

+1 and we will also:

1. include the logo with each project
2. Remove some redundancy in the attribute names. For example, project_project_id will become project_id.
Comment 11 Eric Poirier CLA 2019-09-19 14:13:13 EDT
(In reply to Christopher Guindon from comment #10)
> (In reply to Eric Poirier from comment #9)
> > After discussion with Chris we decided to make the following changes:
> > 
> > The "working_group" filter will now be called "spec_project_working_group"
> > to reflect the information that is being shown.
> > 
> > I will create a new filter called "working_group" that will fetch the
> > projects that are associated to a working group and not necessarily a spec
> > project.
> 
> +1 and we will also:
> 
> 1. include the logo with each project
> 2. Remove some redundancy in the attribute names. For example,
> project_project_id will become project_id.

I merged my patch to production and those changes have been applied.

https://projects.php55.dev.docker/api/projects
Comment 12 Eric Poirier CLA 2019-09-20 08:55:06 EDT
(In reply to Eric Poirier from comment #11)
> 
> I merged my patch to production and those changes have been applied.
> 
> https://projects.php55.dev.docker/api/projects

This is the url I meant to post in my comment:

https://projects.eclipse.org/api/projects
Comment 13 Christopher Guindon CLA 2019-09-20 09:19:16 EDT
(In reply to Eric Poirier from comment #12)
> (In reply to Eric Poirier from comment #11)
> > 
> > I merged my patch to production and those changes have been applied.
> > 
> > https://projects.php55.dev.docker/api/projects
> 
> This is the url I meant to post in my comment:
> 
> https://projects.eclipse.org/api/projects

There is a few duplicates under "spec_project_working_group".
Comment 14 Eclipse Genie CLA 2019-09-20 10:48:48 EDT
New Gerrit change created: https://git.eclipse.org/r/149913
Comment 15 Eclipse Genie CLA 2019-09-20 10:52:01 EDT
New Gerrit change created: https://git.eclipse.org/r/149914
Comment 16 Eric Poirier CLA 2019-09-20 14:41:48 EDT
(In reply to Christopher Guindon from comment #13)
> (In reply to Eric Poirier from comment #12)
> > (In reply to Eric Poirier from comment #11)
> > > 
> > > I merged my patch to production and those changes have been applied.
> > > 
> > > https://projects.php55.dev.docker/api/projects
> > 
> > This is the url I meant to post in my comment:
> > 
> > https://projects.eclipse.org/api/projects
> 
> There is a few duplicates under "spec_project_working_group".

It is now fixed on production:

https://projects.eclipse.org/api/projects