Skip to main content
Jump to: navigation, search

Difference between revisions of "Project Management Infrastructure"

(Web APIs)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In 2011, the Eclipse Foundation began a new effort to replace the existing project management infrastructure--which includes the Developer Portal--with a new unified infrastructure with the intent to make project management activities more consistent and generally easier for all involved.
+
{{Warning|Project management functionality is being migrated from Eclipse Developer Portal into the Project Management Infrastructure. This document (and linked document) are works-in-progress.}}
  
Themes of this effort include:
+
The Eclipse Project Management Infrastructure (PMI) consolidates Eclipse project management activities into a single consistent location and experience.
 +
 
 +
Project Management Infrastructure themes:
  
 
* ''Improved consistency''. Configuration/data-driven project web presence, direct linkage between releases, reviews, and plans. Information--including basic project metadata, project plans, and release review information--is captured and retained in a consistent (and easily leveraged) data-based format (rather than in multiple documents in arbitrary formats).
 
* ''Improved consistency''. Configuration/data-driven project web presence, direct linkage between releases, reviews, and plans. Information--including basic project metadata, project plans, and release review information--is captured and retained in a consistent (and easily leveraged) data-based format (rather than in multiple documents in arbitrary formats).
 
* ''All-in-one-place''. Committers are able to edit information in place on the project information pages. Text/information in one place with links in another is eliminated where possible. Comments and discussion related to reviews, elections, etc. are connected directly to the item being discussed.
 
* ''All-in-one-place''. Committers are able to edit information in place on the project information pages. Text/information in one place with links in another is eliminated where possible. Comments and discussion related to reviews, elections, etc. are connected directly to the item being discussed.
 
* ''Get started faster''. By default, projects are provided with a data-driven website that includes consistent links to project releases, reviews, downloads, etc. Projects can opt to override the default and provide their own customized web presence.Setting up a project presence is a matter of configuration, not PHP programming against proprietary APIs.
 
* ''Get started faster''. By default, projects are provided with a data-driven website that includes consistent links to project releases, reviews, downloads, etc. Projects can opt to override the default and provide their own customized web presence.Setting up a project presence is a matter of configuration, not PHP programming against proprietary APIs.
 +
=Using the PMI=
  
=Links=
+
*[https://www.eclipse.org/projects/handbook/#pmi Project Metadata]
 +
*[https://www.eclipse.org/projects/handbook/#pmi-releases Release Metadata]
 +
*[[Project Management Infrastructure/Creating A Contribution Questionnaire|Creating A Contribution Questionnaire]]
  
*[[Project Management Infrastructure/Development|Development]]
+
=Web APIs=
*[[Project Management Infrastructure/Technology Choices|Technology Choices]]
+
*[[Project Management Infrastructure/Overview and Design]]
+
*[[Project Management Infrastructure/Data Migration|Data Migration]]
+
*[http://projects.eclipse.org Live instance] for testing and experimentation
+
  
=Overview=
+
The PMI provides a small number of web APIs:
==Projects==
+
Project information pages, which are are used as the primary website by many Eclipse projects, are generated from data provided by project committers. On these pages, you will find useful information such as project description, scope, Bugzilla summaries, commit summaries, lists of repositories, and a multitude of useful links.
+
  
All of this information is presented for consumption by the general community.
+
''NO LONGER SUPPORTED''
 +
<strike>json/projects/all
 +
* Export project data
 +
* e.g. http://projects.eclipse.org/json/projects/all
 +
* e.g. http://locationtech.org/json/projects/all
 +
* e.g. http://polarsys.org/json/projects/all</strike>
  
[[Image:Project-info.png|center]]
+
json/project/%
 +
* Export project data for a specific project.
 +
* e.g. http://projects.eclipse.org/json/project/technology.egit
  
Users are not required to log in to access information about projects, releases, and many other aspects of the system. But if the user does log in, more options are made available to them.
+
json/repos/git
 +
* Export all Git repos with project association
 +
* e.g. http://projects.eclipse.org/json/repos/git
  
A logged in user, for example, has the ability to edit information about projects for which they are a member. That is, a project committer, or project lead can edit information about their projects. In this case, an "Edit" option appears.
+
json/reviews/upcoming
 +
* Export all recent past and future review activity
 +
* e.g. http://projects.eclipse.org/json/reviews/upcoming
  
[[Image:Project-info-edit.png|center]]
+
json/reviews/complete
 +
* Export all past review activity (completed reviews only)
 +
* e.g. http://projects.eclipse.org/json/reviews/complete
  
Clicking "Edit" puts the system into "edit" mode allowing the user to make changes.
+
json/proposals
 +
* Export proposals in community review
 +
* e.g. http://projects.eclipse.org/json/proposals
  
[[Image:Project-info-edit2.png|center]]
+
json/release/%
 +
* Export project simultaneous release participation data
 +
* e.g. http://projects.eclipse.org/json/release/kepler
  
All changes are tracked via a built-in revision control system. Other project members can review revisions to see who changed what and when; more usefully, the information can be reverted if mistakes are made.
+
json/technology/%
 +
* Export technology type information
 +
* e.g. http://projects.eclipse.org/json/technology/modeling
 +
* e.g. http://projects.eclipse.org/json/technology/internet%20of%20things
  
Note that PMC members and EMO staff members can also make changes to project information (these changes are also tracked).
+
jsonp/technology/%
 +
* Export technology type information (in JSONP format)
 +
* e.g. http://projects.eclipse.org/jsonP/technology/modeling
  
==Releases==
+
=Migration to the PMI=
At the beginning of a release cycle, projects are required to describe their plans for the release in a project plan. A project plan is expected to evolve somewhat during development on the release. At the end of the release, a project is required to provide retrospective documentation of the release for community review. All of this information is captured and maintained by the Project Management Infrastructure.
+
  
The primary benefits of maintaining this information within the system are consistency in how the data is provided, and ease of dissemination. This information is useful and valuable: having it in a format that is easily consumable will mean that it can easily be disseminated to a wide audience.
+
The PMI replaces the Developer Portal along with other means of specifying project data, including project plans, IP Logs, and more. While we are migrating to the PMI, there will be a period of time where some functionality will rest in the ''old'' Developer Portal and some in the new infrastructure.
  
The "edit" mode for a release provides the ability to set the date and name of the release. Additionally, there are several tab groups of fields to specify a description, project plan items, and review items.
+
The link below provides information regarding the feature development schedule and where you can find the various bits of functionality.
  
[[Image:Pmi-release.png|center]]
+
* [[Project Management Infrastructure/Migration|Migration]].
  
There other benefits of this set up:
+
=Current State=
  
* Finding and updating this information is consistent and easy; and
+
The Project Management Infrastructure is deployed for [http://projects.eclipse.org Eclipse projects], [http://locationtech.org/projects LocationTech], and [http://polarsys.org/projects PolarSys]. For more information, please see [[Forges]].
* By having explicit fields with built-in help text, the committer/project lead providing this data knows exactly what data is required and in what format.
+
  
Again, it is assumed that project members will revisit and tweak this information periodically during the development cycle of a release.
+
The current implementation supports:
  
=Themes=
+
*Project, release, and review metadata;
The following themes will guide the development of the new Project Management Infrastructure:
+
*Simultaneous release participation;
 +
*Intellectual Property Contribution Questionnaires; and
 +
*Project lead elections
 +
*Committer elections;
 +
*Committer retirement (emeritus designation); and
 +
*Intellectual Property Contribution Questionnaires.
  
* Trust committers to do the right thing;
+
=Links=
* Once and only once (avoid repeating information);
+
* Everything is undoable (i.e. revision tracking); and
+
* Do the simplest thing that can possibly work (avoid complexity)
+
  
We assume that committers will always endeavour to do the right thing. Specifically, we give committers leeway to do what they think is right. This, in combination with revision tracking means that mistakes can be easily undone. A committer may, for example, make ill-informed changes to a project's scope that is later reversed by the project lead or PMC.
+
*[[Project Management Infrastructure/Overview|Overview]]
 
+
*[[Project Management Infrastructure/Development|Development]]
It would be easy to get mired in multiple layers of approvals for various activities, or complex logic to prevent committers from shooting themselves in the proverbial foot. But such complexity makes the cost of later change and ongoing maintenance prohibitively high.
+
*[[Project Management Infrastructure/Technology Choices|Technology Choices]]
 +
*[[Project Management Infrastructure/Overview and Design|Design]]
  
Note that we make a distinction between committers and general users. We do not--as a general rule--trust the general population to do the right thing. For completeness, we include with the definition of "committers" all those users with roles that permit them access to the project (including project leads, pmc members, EMO staff, etc.)
+
[[Category:Project Management Infrastructure]]

Latest revision as of 12:23, 30 November 2018

Warning2.png
Project management functionality is being migrated from Eclipse Developer Portal into the Project Management Infrastructure. This document (and linked document) are works-in-progress.


The Eclipse Project Management Infrastructure (PMI) consolidates Eclipse project management activities into a single consistent location and experience.

Project Management Infrastructure themes:

  • Improved consistency. Configuration/data-driven project web presence, direct linkage between releases, reviews, and plans. Information--including basic project metadata, project plans, and release review information--is captured and retained in a consistent (and easily leveraged) data-based format (rather than in multiple documents in arbitrary formats).
  • All-in-one-place. Committers are able to edit information in place on the project information pages. Text/information in one place with links in another is eliminated where possible. Comments and discussion related to reviews, elections, etc. are connected directly to the item being discussed.
  • Get started faster. By default, projects are provided with a data-driven website that includes consistent links to project releases, reviews, downloads, etc. Projects can opt to override the default and provide their own customized web presence.Setting up a project presence is a matter of configuration, not PHP programming against proprietary APIs.

Using the PMI

Web APIs

The PMI provides a small number of web APIs:

NO LONGER SUPPORTED json/projects/all

json/project/%

json/repos/git

json/reviews/upcoming

json/reviews/complete

json/proposals

json/release/%

json/technology/%

jsonp/technology/%

Migration to the PMI

The PMI replaces the Developer Portal along with other means of specifying project data, including project plans, IP Logs, and more. While we are migrating to the PMI, there will be a period of time where some functionality will rest in the old Developer Portal and some in the new infrastructure.

The link below provides information regarding the feature development schedule and where you can find the various bits of functionality.

Current State

The Project Management Infrastructure is deployed for Eclipse projects, LocationTech, and PolarSys. For more information, please see Forges.

The current implementation supports:

  • Project, release, and review metadata;
  • Simultaneous release participation;
  • Intellectual Property Contribution Questionnaires; and
  • Project lead elections
  • Committer elections;
  • Committer retirement (emeritus designation); and
  • Intellectual Property Contribution Questionnaires.

Links

Back to the top