blob: 3d5f54a5bcafebdedc18c2519552640715e79a69 [file] [log] [blame]
<!DOCTYPE html>
<title>EMF Client Platform</title>
<link rel="stylesheet" media="screen"
<link rel="stylesheet" media="screen"
<link rel="stylesheet" media="screen"
<link href=''
rel='stylesheet' type='text/css'>
<link rel="icon" type="image/png" href="public/images/ecp.png" />
<script src="public/javascripts/jquery-1.9.0.min.js"
<script src="public/javascripts/bootstrap.js" type="text/javascript"></script>
<script src="public/javascripts/common.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css"
href="//" />
<script src="public/javascripts/cookieconsent.js" type="text/javascript"></script>
<style type="text/css">
#greyedout {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 1000;
background: rgba(0, 0, 0, 0.8);
display: flex;
justify-content: center;
align-items: center;
<div id="greyedout">
<h1>Please navigate to the <b><a href="./emfforms">EMF Forms</a></b> web site, as ECP is now merged into EMFForms.</h1>
<div class="container-fluid fill">
<div class="banner">
<div class="row-fluid">
<div class="span2" style="padding: 0.5em;">
<a href="index.html"> <img src="public/images/ecp.png" />
<div class="span10 pull-left">
<h2>EMF Client Platform</h2>
<p>Are you still manually coding UIs?</p>
<div class="row-fluid">
<div class="navbar span12">
<div class="navbar-inner" id="topbar">
<button id="topbtn" type="button" class="btn btn-navbar"
data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span><span class="icon-bar"></span><span
<div class="nav-collapse">
<ul class="nav">
<li><a href="index.html"> <img class="nav-image"
src="public/images/home.png" /> <span>&nbsp;Home</span>
<li><a href="gettingstarted.html"> <img
class="nav-image" src="public/images/getting-started.png" /> <span>&nbsp;Getting
<li><a href="download.html"> <img class="nav-image"
src="public/images/download.png" /> <span>&nbsp;Download</span>
<li><a href="documentation.html"> <img class="nav-image"
src="public/images/documentation.png" /> <span>&nbsp;Documentation</span>
<li><a href="support.html"> <img class="nav-image"
src="public/images/support.png" /> <span>&nbsp;Support</span>
<li><a href="gettinginvolved.html"> <img
class="nav-image" src="public/images/getting-involved.png" />
<span>&nbsp;Getting Involved</span>
<li><a href="communication.html"> <img class="nav-image"
src="public/images/communication.png" /> <span>&nbsp;Contact</span>
<div class="content">
Everyone is invited to get involved with the EMF Client project.
Before you plan any kind of contribution, it is a good idea to
contact the <a
<ul class="no-bullets">
<li><em><strong>Writing bug reports</strong></em>
Please provide a short and concise explanation of the problem and
a snippet to reproduce the issue, ideally a JUnit test case that
outlines the expected behavior. You are also invited to enter
feature requests. Please use <a
target="_blank"> Bugzilla </a> to report bugs and feature
<li id="commitGuidelines"><em><strong>Commit
Message Guidelines</strong></em>
<p>We have the following commit message template:
(Bug &lt;Bug ID&gt; - &lt;Bug Title&gt;) | (TCI - &lt;Fix&gt;)
&lt;Commit Description&gt;?
Change-Id: &lt;Generated Gerrit Change ID&gt;
Signed-off-by: &lt;sign off name and email&gt;
</pre> <strong>Instructions (Please continue READING):</strong>
<li><em>TCI commits</em>: For trivial code changes please use
a TCI commit message. See list below for examples. If in doubt
please discuss with reviewer.</li>
<li><em>Normal Commits</em>: For all other commits use a
commit message starting with 'Bug'. Bug reports with Proper
Titles: Before using a Bug title for a commit, committer must
update the Bug title to a reasonable and descriptive title for
the task they have worked on</li>
<li><em>Commit Description</em>: Additionally to the title,
the commit message can describe briefly (2-3 sentences) how this
commit fixes the bug from a technical perspective</li>
<li><em>Multiple Commits for same bug</em>: Of course you may
use the same bug and therefore bug title for multiple commits and
their message, in this case please provide a unique description</li>
<li><em>Reviewers responsibility</em>: The reviewer is
responsible also for checking that the bug title is descriptive
and reflects the committed change and that the description if any
reflects the technical change</li>
</ul> <strong>TCI message examples: </strong>
<li>Version Update of manifest and pom</li>
<li>anonymous to inner class Conversion</li>
<li>Renaming local vars, e.g. because of typos</li>
<li>Externalizing strings</li>
<li><em><strong>Use Gerrit to contribute to ECP</strong></em>
We use <a href="" target="_blank">
Gerrit </a> code review so you can easily contribute to ECP and get a
review for your changes. Please make sure that all your commits
refer to a <a
target="_blank"> Bugzilla </a> Bug.
<li><em><strong>Providing a patch to fix a bug or
add a feature</strong></em>
Please attach your patch to the bug report in question or create a
new report using <a
target="_blank"> Bugzilla </a>.
<li><em><strong>Contribute documentation</strong></em>
If you found something that is not documented yet, please share
your knowledge with other users. Please <a
us</a> to find the appropriate place to add your documentation.
<li><em><strong>Bug report quality policy</strong></em>
Please note that our bug reports (BRs) are an essential source
information for adopters to get an overview about applied changes
and new features. Therefore, titles must indicate the affected
component and express the goal of a change. <br /> It is the
reviewer's responsibility to verify that the BR complies with this
<li><em><strong>Tag bug reports to be retested</strong></em>
<p>If you believe that a change could cause a regression for a
consumer please add the "test" keyword to highlight that this
feature should be re-tested when a consumer upgrades the affected
component. Common instances where this keyword must be added
<li>when the behavior of a component has changed</li>
<li>when a new feature has been added which is enabled by
This also includes any changes of the default behavior and
adaptations of visible UI elements, even if they are considered an
improvement. Further, this includes non-trivial refactorings. If
in doubt, prefer to tag a BR. <br> Additionally to the "test"
tag, provide a comment like this:
</p> <pre>
Summary of the critical part of the change
Potential regressions
Affected areas / use cases
Things that shall be tested
Again, it is part of the code review to check the BR title and the
existence of an appropriate comment. <br> If you identify a
regression or change of behavior after the fact, please add the
"test" keyword and the testing information as well.
<li><em><strong>Tag "noteworthy" bug reports</strong></em>
<p>Use this tags on bug reports, that are "noteworthy" especially:</p>
<ul><li> New features</li>
<li>Process changes</li>
<p>In general, consider if you would write an article about a release and ask yourself, whether you would mention this bug report. If yes, it is noteworthy.
Adopters and developers will use this information to learn what's noteworthy in a release. So please make sure, that "noteworthy" bug reports have a proper description.</p>
<li><em><strong>Tag bug reports with "Help wanted"</strong></em>
<p>If you want to encourage that other contributors or committers pick up a Bug
report, please tag the Br with the "help wanted" keyword. In turn, if you want
to contribute to the project, the "help wanted" BRs are a good starting point.</p>
<h4>Developer Resources for EMF Forms</h4>
Using Oomph we want to ease the setup pain for new contributors and
committers of EMFForms. Here are the necessary steps:
<ul class="no-bullets">
<li><b>Step 1: Download <a
href="">Oomph</a> for
your Platform
<li><b>Step 2: Start Oomph</b>
<ul class="no-bullets">
<li>Update Oomph to the latest version if required (Simple
Mode: Upper right corner or Advance Mode: left bottom)</li>
<li>Switch to Advanced Mode (Upper Right corner, Advanced
<li>Drag and Drop / add ("+" in the upper right corner) this
profile <a
Profile</a> </br> <img src="public/images/image_profile.png" />
<li>Select the 'EclipseSource IDE' entry and press next</li>
<li>Drag and Drop / add ("+" in the upper right corner) this
setup file: <a
into the top list. You should now see a new Entry at the top: </br> <img
src="public/images/image_emfforms.png" /> </br> Select the EMFForms
entry and <b>double click</b> it, it should be <b>BOLD</b> now: </br>
<img src="public/images/image_emfforms_selected.png" />
<li>Press next and select the way you want Oomph to install
your Eclipse and Workspace</li>
<li>Press Finish and let Oomph do the magic</li>
<li><b>Step 3: When Oomph finishes you still have to do
some manual steps</b>
<ul class="no-bullets">
<li>Locate and open the file in the bundle imported from the
repository. When it is resolved, set this definition as the
target platform. This may take quite some time at first.</li>
<!-- Should be done by OOmph
To set up an API baseline, download the latest <a href="">Release for Target Platforms</a> from the list of single releases and open up your Preferences. Navigate to Plug-in Development > API Baselines. Select "Add Baseline", name your baseline meaningful and click "Browse" to select the root folder of your downloaded ECP SDK. Click OK and once the baseline is initialized, click Finish.
<li><b>Step 4: Start developing using ECP</b></li>
<h4>Framework Developer Documentation</h4>
<ul class="no-bullets">
See the <a href="devguidelines.html">developer documentation</a>.
<h4>Branching scheme</h4>
<ul class="no-bullets">
In our GIT Repositories we are using the branching scheme
described <a class="link"
<p>We have a master branch containing the last release. A
development branch containing the current development state and
(hopefully) some feature branches containing new feature
<p>So if you are a developer please commit on the develop
branch in the future. If you develop a new feature please open a
feature branch and merge it back to the develop branch when your
feature is finished. Don't commit on the master branch as it
should only contain stable release versions merged there by the
release engineer.</p>
<li><img alt="Branching Scheme"
src="public/images/branchStrategy.png" height="452" width="355" />
<h4>Profiling and Performance Debugging</h4>
<ul class="no-bullets">
<li>YourKit is kindly supporting the EMF Client Platform open
source project with its full-featured <a target="_blank"
Java Profiler</a>, which helped us to greatly improve EMFCP.
<div class="footer">
<div class="row-fluid">
<div class="span2 text-center">
<a href="" target="_blank">
Privacy Policy </a>
<div class="span2 text-center">
<a href=""
target="_blank"> Terms of Use </a>
<div class="span2 text-center">
<a href="" target="_blank">
Copyright </a>
<div class="span2 text-center">
<a href="" target="_blank"> Legal </a>
<div class="span2 text-center">
target="_blank"> About </a>
<div class="span2 text-center">
<a href="" target="_blank"></a>
<div class="text-center">
Icons are from <a
href="" target="_blank">Icon
<!-- Google Tag Manager -->
(function(w, d, s, l, i) {
w[l] = w[l] || [];
'gtm.start' : new Date().getTime(),
event : 'gtm.js'
var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l='
+ l
: '';
j.async = true;
j.src = '' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-5WLCZXC');
<!-- End Google Tag Manager -->
(function(w) {