Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Project Management Infrastructure"

(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.
+
The Eclipse [https://projects.eclipse.org Project Management Infrastructure] (PMI) consolidates Eclipse project management activities into a single consistent location and experience.  
  
Themes of this effort include:
+
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:
The following themes guide the Project Management Infrastructure:
+
  
* Trust committers to do the right thing;
+
''NO LONGER SUPPORTED''
* Once and only once (avoid repeating information);
+
<strike>json/projects/all
* Everything is undoable (i.e. revision tracking); and
+
* Export project data
* Do the simplest thing that can possibly work (avoid complexity)
+
* 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>
  
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.
+
json/project/%
 +
* Export project data for a specific project.
 +
* e.g. http://projects.eclipse.org/json/project/technology.egit
  
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.
+
json/repos/git
 +
* Export all Git repos with project association
 +
* e.g. http://projects.eclipse.org/json/repos/git
  
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.)
+
json/reviews/upcoming
 +
* Export all recent past and future review activity
 +
* e.g. http://projects.eclipse.org/json/reviews/upcoming
  
==Projects==
+
json/reviews/complete
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.
+
* Export all past review activity (completed reviews only)
 +
* e.g. http://projects.eclipse.org/json/reviews/complete
  
All of this information is presented for consumption by the general community.
+
json/proposals
 +
* Export proposals in community review
 +
* e.g. http://projects.eclipse.org/json/proposals
  
[[Image:Project-info.png|center]]
+
json/release/%
 +
* Export project simultaneous release participation data
 +
* e.g. http://projects.eclipse.org/json/release/kepler
  
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/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
  
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.
+
jsonp/technology/%
 +
* Export technology type information (in JSONP format)
 +
* e.g. http://projects.eclipse.org/jsonP/technology/modeling
  
[[Image:Project-info-edit.png|center]]
+
=Migration to the PMI=
  
Clicking "Edit" puts the system into "edit" mode allowing the user to make changes.
+
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.
  
[[Image:Project-info-edit2.png|center]]
+
The link below provides information regarding the feature development schedule and where you can find the various bits of functionality.
  
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.
+
* [[Project Management Infrastructure/Migration|Migration]].
  
Note that PMC members and EMO staff members can also make changes to project information (these changes are also tracked).
+
=Current State=
  
==Releases==
+
The Project Management Infrastructure is deployed for [http://projects.eclipse.org Eclipse projects]. For more information, please see [[Forges]].
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 current implementation supports:
  
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.
+
*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.
  
[[Image:Pmi-release.png|center]]
+
=Links=
  
There other benefits of this set up:
+
*[[Project Management Infrastructure/Overview|Overview]]
 
+
*[[Project Management Infrastructure/Development|Development]]
* Finding and updating this information is consistent and easy; and
+
*[[Project Management Infrastructure/Technology Choices|Technology Choices]]
* 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.
+
*[[Project Management Infrastructure/Overview and Design|Design]]
  
Again, it is assumed that project members will revisit and tweak this information periodically during the development cycle of a release.
+
[[Category:Project Management Infrastructure]]

Revision as of 13:08, 12 November 2021

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. 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