https://wiki.eclipse.org/api.php?action=feedcontributions&user=Derek.toolan.eclipse.org&feedformat=atomEclipsepedia - User contributions [en]2024-03-28T11:42:54ZUser contributionsMediaWiki 1.26.4https://wiki.eclipse.org/index.php?title=Papyrus-RT/User/User_Guide/Getting_Started&diff=415756Papyrus-RT/User/User Guide/Getting Started2017-04-06T13:44:06Z<p>Derek.toolan.eclipse.org: Merge edit by Peter.cigehn.tieto.com</p>
<hr />
<div>[[File:PapyrusForRealTime-Logo-Icon.png|left|bottom-align|]]<br/><br/><span style="font-family: Helvetica,Arial,sans-serif; font-size: 48px;"><b>Getting Started with Papyrus for RealTime v0.9</b></span><br/><br/><br/><br />
<br />
__TOC__<br />
<br />
== Introduction ==<br />
<br />
This tutorial will show the creation of a simple model using '''Papyrus for RealTime version 0.9.0''' (based on Eclipse Neon).<br />
<br />
{{warning |Installation| As a precondition to going through this tutorial, you must have Papyrus for Real Time installed and the tool open. Please see the [[Papyrus-RT/User#Installation | Papyrus-RT User installation page]] for information on installing Papyrus for Real Time.}}<br />
<br />
{{note|Linux| The instructions in this tutorial are illustrated using Linux. Steps and images may differ slightly if the installation is done on a different operating system (both Windows and Mac OS are supported for developing models). Some of these differences have been indicated when known, but some may also be missing.}}<br />
<br />
{{note|PDF Version| A [https://wiki.eclipse.org/images/6/6f/GSwPRT09.pdf PDF version] of this tutorial is also available.}}<br />
<br />
This exercise will show the creation of a project and model and how UML-RT concepts can be used to easily create the application's structure and behavior.<br />
<br />
At its base, a UML-RT model consists of capsules (UML active classes with composite structure) that communicate through ports defined by protocols (collaboration specifications) These protocols specify the messages (signals) that can be exchanged between capsules, as well as their payloads. Hierarchical state machines are used to represent the behavior of capsules, where transitions between states are triggered by messages received on the capsule's ports.<br />
<br />
If you are not familiar with UML-RT and want to know a bit more, you should take a look at the initial [https://www.eclipse.org/papyrus-rt/content/overview.php Papyrus-RT Overview] page. Note that this page reflects an early version of Papyrus-RT and visual elements shown on that page may not completely match those of this tutorial. The concepts, however, ar the same).<br />
<br />
The model that will be created as part of this tutorial is a simple "PingPong" model. In this model, implemented using UML-RT, two players will be playing an eternal game of ping pong.<br />
<br />
It is a very simple model that will show how a UML-RT model is constructed. Each player will be portrayed using UML-RT capsules and a UML-RT protocol will be used to define how the ball is exchanged between players through ports on each player capsule.<br />
<br />
== Create a Papyrus for Real Time Project containing a UML-RT model. ==<br />
<br />
Papyrus for Real Time is a Domain-Specific Modeling Language (DSML) tool based on Papyrus. We will use the Papyrus Project creation wizard to create a project configured for Papyrus for Real Time.<br />
<br />
=== Workspace ===<br />
<br />
After starting Papyrus-RT and dismissing the welcome screen, you are presented with the Papyrus-RT workspace<br />
<br />
[[Image:GSwPRT09Workspace.png]]<br />
<br />
=== Select File -> New -> Papyrus Project ===<br />
<br />
[[Image:GSwPRT09NewPapyrusProject.png]]<br />
<br />
=== Selecting the language to be used for the model ===<br />
<br />
In the resulting dialog:<br />
<br />
# Select '''UML-RT''' as the language for the model that will be created by clicking on the radio button next to the UML-RT icon<br />
# Click on '''[Next]'''.<br />
<br />
[[Image:GSwPRT09SelectModelLanguage.png]]<br />
<br />
=== Define the project ===<br />
<br />
You can now define the project's name and its location, as well as the name of the model file that will be created.<br />
<br />
# Enter the '''name''' for the project. This project can hold multiple artefacts and will contain a Papyrus model by default. For this tutorial, we will use the name "'''PingPong'''".<br />
# By default, the project will be created in the current workspace. You can, however, select an alternative location if, for example, you wish to store your project under source control.<br />
# Enter "'''PingPong'''" as the model file name.<br />
# Click on '''[Next]'''<br />
<br />
[[Image:GSwPRT09DefineProject.png]]<br />
<br />
=== Provide model initialization information ===<br />
<br />
There is more information that can be provided to create a useful model.<br />
<br />
# The "Root model element" is a representation of the model itself. For this tutorial, and for consistency, we will name it "'''PingPong'''".<br />
# The wizard let's you select a template of the model you are creating, select "'''UML-RT for C++'''"<br />
# There is no more information to add on this wizard page as they are already set in the wizard. Click '''[Finish]''' to create the project and its contained model.<br />
<br />
Note that there are three templates that you can select in the v0.9 version of Papyrus-RT:<br />
<br />
# '''UML-RT for structural modelling''': only provides support for capsule, ports, and protocol. Capsule state machines cannot be created when this template is used.<br />
# '''UML-RT basic''': provides all UML-RT capabilities, including the creation of capsule state machines to express the behaviour of capsules. However, no target language is set for code generation.<br />
# '''UML-RT for C++''': provides all the capabilities to create UML-RT models that can generate C++ code. This includes the the UML-RT RTS and C++ primitive types libraries.<br />
<br />
Note that these templates build on top of each other, so even if you select one of the first two templates, you can still add the profiles and libraries to get to the "UML-RT for C++" configuration<br />
<br />
[[Image:GSwPRT09ModelInit.png]]<br />
<br />
=== Project and Model Created ===<br />
<br />
You now have an empty model ready to be populated!<br />
<br />
[[Image:GSwPRT09ProjectModelCreated.png]]<br />
<br />
{{note|Tip:Code Snippet View| Although not use as part of this tutorial, many Papyrus-RT users like to have the Code Snippet View displayed along with the Properties View. This can be accomplished by dragging the Code Snippet View to the right of the Properties View.}}<br />
<br />
== Our project: PingPong ==<br />
<br />
For this tutorial, we will be creating a simple model of a ping pong game, with two players.<br />
<br />
The system will consist of two capsules ("active classes) that will communicate to show whose turn it is to hit the ball. Because the system is run by computer, no errors will be made playing, so you will have to kill the executable when testing, else it will run forever...<br />
<br />
So let's get started!<br />
<br />
== Create a protocol ==<br />
<br />
Let's start by determining how the PingPong ball will go from one player to the other. To do this, we can think of the ping pong ball as a message to the other player to which they need to reply (hit the ball back). In UML-RT, the structure that governs the messages that can be exchanged between entities (players in this case) is a protocol.<br />
<br />
Protocols define protocol messages that define how messages can be sent and received between model elements (called "Capsules" in UML-RT - more on that later). These protocol messages can be incoming, outgoing, or symmetrical (i.e., both ingoing and outgoing).<br />
<br />
In the case of protocols that are not purely symmetric, i.e., that have either or both incoming and outgoing messages, there is also a need for the concept of conjugation, i.e., of reversing the role of the protocol, a concept that will be addressed further when used later in this tutorial.<br />
<br />
In the case of this ''Getting Started'' tutorial, we could create a symmetric protocol where there would be a single symmetrical protocol message called, for example, "ball". However, to better explore the concept of protocols, we will define our "PingPong" protocol to have one outgoing protocol message called "ping" and one incoming protocol message called "pong".<br />
<br />
=== Create the protocol ===<br />
<br />
The first step is to create the protocol itself.<br />
<br />
# Right-click on the "PingPong" model in the Model Explorer and select "'''New UML-RT Child &gt; Protocol'''"<br />
# The name of the protocol is highlighted, name the protocol "'''PingPongProtocol'''" and hit return.<br />
<br />
You can also see the protocol and its messages in the Properties view.<br />
<br />
You now have a "protocol" in the Model Explorer.<br />
<br />
[[Image:GSwPRT09CreateProtocol_1.png]]<br />
[[Image:GSwPRT09CreateProtocol_2.png]]<br />
<br />
=== Add protocol messages to the protocol ===<br />
<br />
As mentioned previously, a protocol may contain many different "protocol messages" that specify "''operations''" and their associated data.<br />
<br />
Our protocol will "''ping''" its opponent and, in return, will respond to a "''pong''". This tells us that there will be a "ping" outgoing protocol message and a "pong" incoming protocol message.<br />
<br />
'''Tip''': Protocols should be defined from the client's perspective. In practice, this means that the provider of the service defined by the protocol will have their ports conjugated and the client's ports will by un-conjugated. This makes sense as there will typically be more clients than service providers, so adopting this best practice will reduce the number of ports that need to be conjugated.<br />
<br />
In the case of this model, it does not matter as there is no distinct service provider or client. After all, in a game of ping pong, both sides "serve"! For this tutorial, we will consider that the player that starts the game will be sending the "ping" and will therefore be the "server" / "Service Provider."<br />
<br />
# Right-click on the protocol<br />
# Select to create a "'''New UML-RT Child &gt; InProtocolMessage'''".<br />
# The protocol message is created and its name is ready to be edited in the model explorer in the model explorer .<br />
# Rename the protocol message to "ping" (remember, as the server, the port will be conjugated, so it will have to be the opposite of the action we expect, so incoming).<br />
<br />
[[Image:GSwPRT09AddProtocolMessages.png]]<br />
<br />
=== Add the "pong" Protocol Message ===<br />
<br />
To create the "pong" message, use the same process as for the creation of the "ping" protocol message, above, except that you will instead create a "ProtocolMessageOut" and name the protocol message "pong"<br />
<br />
# Right-click on the PingPong protocol and select "'''New UML-RT Child &gt; OutProtocolMessage'''"<br />
# Rename the resulting protocol message to "'''pong'''"<br />
# You now have a "'''pong'''" protocol message in addition to "ping".<br />
<br />
[[Image:GSwPRT09AddPongProtocolMessage.png]]<br />
<br />
=== The "PingPong" protocol is now complete ===<br />
<br />
The protocol and its protocol messages can now be seen in both the Model Explorer and the Properties view.<br />
<br />
[[Image:GSwPRT09PingPongProtocolComplete.png]]<br />
<br />
== Defining the Tutorial's "PingPong" System's Structure ==<br />
<br />
Now that we have a protocol, we can move on to creating the structure of the "PingPong System."<br />
<br />
We will need to create three capsules for this tutorial model:<br />
<br />
* '''Two capsules that will be representing the two players: "Pinger"''' ("player 1")** and "Ponger"** (player 2). We will be creating two capsules to highlight some aspects of the communication mechanisms, especially related to how ports are used with asymmetric protocols. If we had a symmetric protocol, we could simply use two instances of the same capsule, but that would be a less interesting model for a tutorial. Also note that, in this example, the two capsules will be slightly different as one has the added responsibility to start the game<br />
* '''A top capsule representing the complete system ("Top") '''In UML-RT, the building blocks are capsules and there is always a top capsule that represents the system to be built. The complete set of capsules that are required to implement the system's functionality are then included by the containment hierarchy from this top capsule.<br />
<br />
== Create the Pinger capsule ==<br />
<br />
This capsule will represent the starting player in the game. As such, it will be responsible for sending the first "ball" (message). It will also have to react when receiving the ball from the other player.<br />
<br />
=== Create the Pinger ("player 1") capsule ===<br />
<br />
Let's start by creating the Pinger capsule.<br />
<br />
# Right-click on the PingPong model in the Model Explorer and select "'''New UML-RT Child &gt; Capsule'''"<br />
# After the capsule is created, it's name is selected for edition, name it "'''Pinger'''"<br />
<br />
[[Image:GSwPRT09CreatePingerCapsule.png]]<br />
<br />
=== Look at the Pinger capsule and open it's diagram ===<br />
<br />
Now that we have a capsule, let's have a look at what it contains and at its diagram.<br />
<br />
# Expand the '''Pinger''' capsule in the model explorer by clicking on the triangle at the beginning of its Model Explorer entry. You will notice that there is already a contained element: '''Pinger''''s diagram link. In Papyrus-RT, every capsule has a capsule diagram, this link is a quick way to open it<br />
# That diagram link is also accessible from the "'''Editor'''" under the '''View''' heading.<br />
<br />
[[Image:GSwPRT09OpenPingerCapsuleDiagram.png]]<br />
<br />
=== Open Pinger's capsule diagram ===<br />
<br />
To do this, simply double-click on either of the diagram described in the previous step (or single-click on the blue textual link in the editor view list)<br />
<br />
One open, you will see:<br />
<br />
# The representation of the '''Pinger''' capsule. It does not contain much right now, but we will work on that in this tutorial.<br />
# A editor tab is added at the bottom of the editor. This is useful when you have multiple diagram open so you can easily navigate between them<br />
# A tool palette providing you with the various tools that are relevant when working on a diagram in the context of the capsule's structure (in this case).<br />
<br />
[[Image:GSwPRT09PingerCapsuleDiagram.png]]<br />
<br />
=== Add an external port to Pinger ===<br />
<br />
In order to be able to communicate, Pinger will need an external port through which it can send messages to other capsules. Let's add this port now.<br />
<br />
# Click on "'''Port'''" in the tool palette.<br />
# Click on the right border of the '''Pinger''' capsule.<br />
# In the resulting dialog, select "'''Port with Existing Protocol'''"<br />
# In the resulting dialog, expand the "'''PingPong'''" model entry and select the "'''PingPong'''" protocol that was created earlier.<br />
# Name the resulting port "'''pingPort'''". This can be done by using the direct editor available on the port name.<br />
# Since we have decided that '''Ping''' would be the "'''server'''" capsule, we also have to change the conjugation of its port. To do so, look in the '''Properties''' view just below the '''Editor''', and make sure that the "'''UML-RT'''" tab is selected<br />
# Click on the box to the left of "'''Is conjugated'''".<br />
# When the port is conjugated, you will notice that its graphical element will change from being all black to getting a white fill, graphically showing the conjugation state.<br />
{{note|Context menu|A quicker way to change the conjugation of a port is to right-click on the port and select UML-RT Properties > Is Conjugated}}<br />
<br />
[[Image:GSwPRT09AddPingerExternalPort1.png]]<br />
[[Image:GSwPRT09AddPingerExternalPort2.png]]<br />
[[Image:GSwPRT09AddPingerExternalPort3.png]]<br />
[[Image:GSwPRT09AddPingerExternalPort4.png]]<br />
[[Image:GSwPRT09AddPingerExternalPort5.png]]<br />
<br />
=== Add a log port ===<br />
<br />
If we want to make sure that the model actually runs correctly, we will need to get some information displayed. The Papyrus-RT runtime provides a logging mechanism to allow the model to print out information. In the current version, it only does this to stdout, but this capability is extensible to use other output targets.<br />
<br />
So all that is needed to be able to log event to the screen is to add a log port to the capsule.<br />
<br />
# Select the Port tool and create a port in the middle of the capsule<br />
# In the resulting dialog, select the "Log" entry<br />
# Leave the name as is. You have now create a log port through which you can print messages. We will see how to use it when we add the behaviour to the capsule.<br />
<br />
[[Image:GSwPRT09AddLogPort.png]]<br />
<br />
=== Create Pinger's state machine ===<br />
<br />
As mentioned, the behaviour of a capsule is represented by a state machine, but one is not provided by default as some capsules may not need to have behaviour.Examples of capsules not needing behaviour are for container capsules, such as "Top", and some patterns, such as dynamic forwarding.<br />
<br />
# Right-click on the '''Pinger''' capsule in the Model Explorer and select "'''New UML-RT Child &gt; StateMachine'''" to create the state machine.<br />
# The state machine is created and its diagram is available from the '''Editor''''s '''View''' list.<br />
<br />
[[Image:GSwPRT09CreatePingerStateMachine.png]]<br />
<br />
=== Add the Pinger StateMachine behaviour ===<br />
<br />
# Now that we have a state machine, let's add the behaviour to it: open the '''Pinger::StateMachine. '''You will notice that we already provide you with the initial pseudostate and a state ("State1") to get you started<br />
# Move these two initial elements to better positions, as shown and rename "'''State1'''" to "'''Playing'''" (hint: use the Properties tab)<br />
# We will also add a transition that will be taken when the other player returns the ball. Using the transition tool draw a transition from the "'''Playing'''" state to itself.<br />
<br />
[[Image:GSwPRT09AddPingerStateMachineBehaviour_1.png]]<br />
[[Image:GSwPRT09AddPingerStateMachineBehaviour_2.png]]<br />
<br />
=== Add initial transition action ===<br />
<br />
All that is now left is to add some triggers (which allow for transitions to be taken as a response to a message) and code block (remember, we are using C++ as the "Action Language".<br />
<br />
Let's start with the Initial Transition. Note that the initial transition is always taken once, when the capsule is instantiated, so it does not need an trigger.<br />
<br />
# Click on the '''Initial''' transition and then open the '''Code Snippet View'''" in the Properties View area. Make sure that the "'''Effect'''" tab is selected at the bottom of the view.<br />
# In the code snippet view, add the following code:<br />
<br />
<pre><br />
// Start the game by sending a "ping" to the other player<br />
log.log("Starting game");<br />
if ( pingPort.ping().send() ) {<br />
log.log( "ping sent!");<br />
} else {<br />
log.log( "Error sending Ping!");<br />
}<br />
</pre><br />
<br />
[[Image:GSwPRT09AddInitialTransitionAction.png]]<br />
<br />
=== Edit the trigger and code for self transition ===<br />
<br />
# Select the transition in the diagram and switch to the '''Properties''' view.<br />
<br />
[[Image:GSwPRT09EditSelfTransitionTriggerAndCode.png]]<br />
<br />
=== Add the transition trigger ===<br />
<br />
# Click on the [+] button in the '''Trigger''' section to create a new trigger.<br />
# From the resulting dialog, select the '''pingPort'''.<br />
# From the list of protocol messages, select the '''pong''' protocol message.<br />
# Click OK to set the trigger.<br />
# You now have a trigger defined for this transition. When the model runs, any message received while in the '''Playing''' state will result in this transition being taken.<br />
# Notice that the transition name has be set to the name of the protocol message selected, providing a clue on the diagram as to when the transition is triggered.<br />
<br />
[[Image:GSwPRT09AddTransitionTrigger.png]]<br />
<br />
=== Add code for the transition ===<br />
<br />
The only thing left to do for this transition is to add its code. The basic steps are the same as those taken previously to add the code for the initial transition<br />
<br />
# Click on the transition and the '''Code Snippet View''' to bring up the C++ editor for the transition. Make sure that the "'''Effect'''" tab is selected at the bottom of the view.<br />
# Type in the following code (you will notice that it is very similar to that of the initial transition):<br />
<br />
<pre><br />
// Reply to a pong message by sending a ping.<br />
log.log("Pong received!");<br />
if ( pingPort.ping().send() ) {<br />
log.log( "ping sent!");<br />
} else {<br />
log.log( "Error sending Ping!");<br />
}<br />
</pre><br />
[[Image:GSwPRT09AddTransitionCode.png]]<br />
<br />
=== You are now done with the creation of the Pinger capsule! ===<br />
<br />
== Create the "Ponger" capsule ==<br />
<br />
To create the "'''Ponger'''" capsule, simply follow the same steps as when '''Pinger''' was created, with the following differnces:<br />
<br />
* The capsule will be named "'''Ponger'''" instead of "'''Pinger'''"<br />
* The port is named "pong" and is '''not''' conjugated.<br />
* You should place the port on the left edge of the capsule, instead of the right. This will allow us to put both capsules side by side so that their ports will be easy to connect.<br />
* The capsule's state machine will be different as it does not need to start the game and it will not return the fifth ball in order to stop the game.<br />
<br />
=== Create the "Ponger" capsule's structure ===<br />
<br />
Create the '''Ponger''' capsule's structure using the same instructions as for the '''Pinger''' capsule structure, but with the following changes:<br />
<br />
* The capsule is named "'''Ponger'''"<br />
* The external port is placed on the left edge of the capsule, instead of the right. This will make it easier for us to connect the capsules when we put both side by side.<br />
* The external port is named "pongPort"<br />
* The external port is '''not''' conjugated.<br />
* The log port is created in the same way<br />
<br />
The result should be as shown below.<br />
<br />
[[Image:GSwPRT09CreatePongerCapsuleStructure.png]]<br />
<br />
=== Create the Ponger Capsule's statemachine ===<br />
<br />
Create the '''Ponger''' capsule's statemachine using the same instructions as for the '''Pinger''' capsule structure, but with the following changes:<br />
<br />
* The intial transition code will simply log that '''Ponger''' is ready to play:<br />
<br />
log.log("Ponger is ready");<br />
<br />
* The self-transition's trigger will be on '''PongPort''''s '''ping''' protocol message.<br />
* The self-transition's code will simply send a '''pong''' for every '''Ping''' received.<br />
<br />
The result should be as shown below.<br />
<br />
[[Image:GSwPRT09CreatePongerStateMachine.png]]<br />
<br />
== Create the "Top" system capsule ==<br />
<br />
Although it is possible to generate the various capsules on their own, the interactions between them would not happen until their ports are interconnected.<br />
<br />
To do this, we create a "Top" capsule that will contain instances of the capsules that we can then connect. Once this is done, we can generate the code for that "Top" capsule and execute it.<br />
<br />
Note that, although it is not a requirement, the "'''Top'''" capsule we will create in here will be only structural, it will not, by itself, implement behaviour, other than that of its contained capsule parts.<br />
<br />
=== Create the "Top" capsule ===<br />
<br />
# Create a new capsule in the model and name it "'''Top'''".<br />
# Open Top's capsule diagram.<br />
# From the model explorer, drag and drop a Pinger capsule into Top's compartment, on the left side.<br />
# From the model explorer, drag and drop a Ponger capsule into Top's compartment, on the right side. Aim to have their ports vertically aligned.<br />
# Use the Connector tool from the palette to draw a connector between each capsule part's ports.<br />
# That's it! You have created the Top capsule with two capsule parts that can now communicate with each other!<br />
<br />
[[Image:GSwPRT09CreateTopCapsule.png]]<br />
<br />
== Execute the model ==<br />
<br />
Now that the model is complete, we can execute it.<br />
<br />
=== Set the top capsule ===<br />
<br />
First, we need to identify which capsule to use as the "top" capsule. This is typically something that is done only once.<br />
<br />
# Right-click on the "'''Top'''" capsule in the Model Explorer to bring up the context menu<br />
# Select "'''Set as default top capsule'''"<br />
<br />
Although there are no visible changes, the capsule is now set as the "Top" capsule.<br />
<br />
[[Image:GSwPRT09SetTopCapsule.png]]<br />
<br />
=== Generate the model ===<br />
<br />
Now that the "top" capsule is set, you can generate the code from the model.<br />
<br />
# Right-click on the model's root element ("'''PingPong'''" at the top of the Model Explorer).<br />
# Select "'''Generate code (incremental)'''"<br />
# Click OK the resulting dialog<br />
<br />
[[Image:GSwPRT09GenerateModel.png]]<br />
<br />
=== Generated model code ===<br />
<br />
When generating the code for the model, a CDT project is created to hold the code.<br />
<br />
[[Image:GSwPRT09GeneratedModel.png]]<br />
<br />
=== Compile the model ===<br />
<br />
To compile and run the model, you will need a compatible build environment. At present, we support Linux.<br />
<br />
{{Note|Use of command line| The integration with CDT is not yet complete. To build the system, you will have to go to the command line.}}<br />
{{Note|Using an OS other than Linux| If you are using an operating system other than Linux, you can still compile and run your model. Go to [[Papyrus-RT/User_Guide/Compiling_and_running_Papyrus_for_Real_Time_applications | Compiling and running Papyrus for Real Time applications]] for alternatives}}<br />
<br />
# Open a terminal and go to the folder where the code was generated, in this case, the folder name would be '''''<workspace>''/PingPong_CDTProject/src''', replacing "''<workspace>''" with the path to your workspace location, e.g., "~/workspaces/GettingStarted".<br />
# Type "make" at the command prompt to compile and link the model's generated code.<br />
<br />
[[Image:GSwPRT09CompileModel.png]]<br />
<br />
=== Run the model's executable ===<br />
<br />
You can then run the executable, making sure to kill it soon after it starts, else it'll run forever...<br />
<br />
# At the command prompt, type "'''./TomMain'''"<br />
# Quickly type "Ctrl-c" to kill the execution<br />
<br />
[[Image:GSwPRT09RunModelExecutable.png]]<br />
<br />
== Congratulations! ==<br />
<br />
[[Image:Papyrus-rt-congratulations.png]]<br />
<br />
= Previous Tutorial versions =<br />
<br />
* [[Papyrus-RT/User/User Guide/Getting Started/v0.7-8 | Getting Started with Papyrus for Real Time versions 0.7 and 0.8]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=EMF/Recipes&diff=415604EMF/Recipes2017-04-03T13:43:05Z<p>Derek.toolan.eclipse.org: Merge edit by Ealrann.gmail.com</p>
<hr />
<div>This topic gathers recipe-style solutions for common needs developers using EMF have.<br />
__TOC__<br />
== Code generation recipes ==<br />
<br />
=== Recipe: Exploiting Substitution Groups Without Polluting Your Generated API===<br />
<br />
'''Problem'''<br />
<br />
You want make use of substitution groups as syntactic sugar for your serialization to avoid the use of xsi:type<br />
without the resulting semantic rat poison in your generated APIs, i.e., difficult-to-use feature maps for the substitution groups.<br />
The substitution group of a global element declaration is all the other element declaration that directly or indirectly refer to it via the substitutionGroup attribute on them. E.g., in the schema below, "member" is the head of a substitution group with "file" and "folder" as its members.<br />
This allows "file" or "folder" to be used anywhere a "member" element may appear.<br />
In fact, because the element is abstract, a substitute must be used.<br />
Type of an element in the substitution group must be the same as the head element's type or a subtype thereof.<br />
Because it can be a subtype, the type of the content for such a substitution element will be expected to be of that subtype and for this reason,<br />
an xsi:type can be omitted from the serialization.<br />
This is why I refer to it as syntactic sugar.<br />
Unfortunately,<br />
in the generated API,<br />
you'll also end up with a read-only getMembers() list for "Folder",<br />
and a getMembersGroup() feature map.<br />
You'll need to do things like <br />
<br />
folder.getMembersGroup().add(ResourcePackage.Literals.DOCUMENT_ROOT__FILE, file);<br />
<br />
in order to add a "File" to the list of members.<br />
<br />
'''Solution'''<br />
<br />
Use ecore:ignoreSubstitutionGroups="true" in your schema. <br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<xsd:schema <br />
xmlns:xsd="http://www.w3.org/2001/XMLSchema" <br />
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" <br />
xmlns:resource="http://www.example.com/resource" <br />
ecore:ignoreSubstitutionGroups="true" <br />
targetNamespace="http://www.example.com/resource"><br />
<br />
<xsd:element name="fileSystem" type="resource:FileSystem"/><br />
<xsd:complexType name="FileSystem"><br />
<xsd:sequence><br />
<xsd:element ref="resource:folder" ecore:name="folders" maxOccurs="unbounded"/><br />
</xsd:sequence><br />
</xsd:complexType><br />
<br />
<xsd:element name="member" ecore:name="members" type="resource:Resource" abstract="true"/><br />
<xsd:complexType name="Resource" abstract="true"><br />
<xsd:attribute name="name" type="xsd:string"/><br />
</xsd:complexType><br />
<br />
<xsd:element name="folder" substitutionGroup="resource:member" type="resource:Folder"/><br />
<xsd:complexType name="Folder"><br />
<xsd:complexContent><br />
<xsd:extension base="resource:Resource"><br />
<xsd:sequence><br />
<xsd:element ref="resource:member" ecore:name="members" maxOccurs="unbounded"/><br />
</xsd:sequence><br />
</xsd:extension><br />
</xsd:complexContent><br />
</xsd:complexType><br />
<br />
<xsd:element name="file" substitutionGroup="resource:member" type="resource:File"/><br />
<xsd:complexType name="File"><br />
<xsd:complexContent><br />
<xsd:extension base="resource:Resource"><br />
<xsd:sequence><br />
</xsd:sequence><br />
</xsd:extension><br />
</xsd:complexContent><br />
</xsd:complexType><br />
<br />
</xsd:schema><br />
<br />
Generate as normal and modify the generated resource factory to use the XMLResource.OPTION_ELEMENT_HANDLER option:<br />
<br />
/**<br />
* Creates an instance of the resource.<br />
* <!-- begin-user-doc --><br />
* <!-- end-user-doc --><br />
* @generated NOT<br />
*/<br />
@Override<br />
public Resource createResource(URI uri)<br />
{<br />
//...<br />
<br />
result.getDefaultSaveOptions().put(XMLResource.OPTION_ELEMENT_HANDLER, new ElementHandlerImpl(false));<br />
<br />
result.getDefaultLoadOptions().put(XMLResource.OPTION_SUPPRESS_DOCUMENT_ROOT, Boolean.TRUE);<br />
<br />
return result;<br />
}<br />
<br />
In the generated ResourceExample.java in the com.example.resources.tests project you can now write code like this:<br />
<br />
Resource resource = resourceSet.createResource(URI.createURI("http:///My.resource"));<br />
FileSystem fileSystem = ResourceFactory.eINSTANCE.createFileSystem();<br />
Folder folder1 = ResourceFactory.eINSTANCE.createFolder();<br />
fileSystem.getFolders().add(folder1);<br />
folder1.setName("folder1");<br />
com.example.resource.File file1 = ResourceFactory.eINSTANCE.createFile();<br />
file1.setName("file1");<br />
folder1.getMembers().add(file1);<br />
resource.getContents().add(fileSystem);<br />
resource.save(System.out, null);<br />
ByteArrayOutputStream out = new ByteArrayOutputStream();<br />
resource.save(out, null);<br />
Resource resource2 = resourceSet.createResource(URI.createURI("http:///My2.resource"));<br />
resource2.load(new ByteArrayInputStream(out.toByteArray()), null);<br />
FileSystem loadedFileSystem = (FileSystem)resource2.getContents().get(0);<br />
resource2.save(System.err, null);<br />
<br />
Deducing elements works even for the root element, so we can save without using a document root. And because we've used XMLResource.OPTION_SUPPRESS_DOCUMENT_ROOT, we can load without there being a document root in the resource we've read. It reads and writes results like this:<br />
<br />
<?xml version="1.0" encoding="ASCII"?><br />
<resource:fileSystem xmlns:resource="http://www.example.com/resource"><br />
<resource:folder name="folder1"><br />
<resource:file name="file1"/><br />
</resource:folder><br />
</resource:fileSystem><br />
<br />
=== Recipe: Generating Pure API With No Visible EMF Dependencies===<br />
<br />
'''Problem'''<br />
<br />
You want to generate code for an EMF model but you don't want any references to EMF types in your API or anything else that reveals that the API is implemented by EMF.<br />
<br />
'''Solution'''<br />
<br />
In your genmodel:<br />
<br />
* Set the 'Suppress EMF Types' property to 'true'; standard Java types will be used rather than EMF types for all accessors and operations. Features of type 'EObject' will be surfaced as 'java.lang.Object' instead. If the model includes feature maps, you will need to use the properties 'Feature Map Wrapper Class', 'Feature Map Wrapper Interface', and 'Feature Map Wrapper Internal Interface' to provide an alternative API. You can look as the support for SDO's Sequence API as the example.<br />
* Clear or set the value of the 'Root Extends Interface' generator model property. If cleared, the generated domain API will not depend on anything, or it can be set to an interface of your choosing so that root interfaces will extend this specified interface.<br />
* Set 'Suppress EMF Metadata' to 'true' so that only a package implementation class is generated, but no interface, and so that the generated factory interface will not extend EFactory and will have an INSTANCE instead of an eINSTANCE field. Alternatively, set the generator package's 'Metadata' property to redirect the package and factory interfaces to a different Java subpackage.<br />
* Set the 'Suppress EMF Model Tags' property to 'false' to eliminate the generation of the @model tags in the Javadoc.<br />
* Set the 'Root Extends Class' and 'Root Implements Interface' properties to control the generation of the implementation, but if you clear the first one or set it so the generated implementation is not a subclass of EObjectImpl, the generated code will be invalid as it will have unresolved references to inherited methods that will not be available, e.g., eGet, eSet, eUnset, eIsSet and eIsProxy. Generating an implementation that is pure Java is not possible with the default templates but can be achieved with dynamic templates.<br />
<br />
'''References'''<br />
<br />
* Thread on the EMF newsgroup: "[http://www.eclipse.org/forums/index.php/m/411722/ Alternative superclass to EObject]"<br />
<br />
<br />
----<br />
<br />
=== Recipe: Using Multiple Namespaces in the Generated EMF Editor ===<br />
<br />
'''Problem'''<br />
<br />
You want to use multiple namespaces in your generated EMF editor: say you have metamodel A with namespace mm.A which is a superset of legacy metamodel B with namespace mm.B .<br />
<br />
If you generate an EMF editor using namespace mm.A, it can by default not read files which were serialized using namespace mm.B, unless you manually edit the files to point to namespace mm.A. But all files using metamodel B must be compatible with some legacy tool so they cannot be changed.<br />
<br />
Now you could rename namespace mm.A to mm.B and regenerate the editor, but that forces you to adapt all your manual code and all your new files using metamodel A.<br />
<br />
'''Solution'''<br />
<br />
* You can change your plugin.xml to let the editor recognize both namespaces:<br />
<br />
<extension point="org.eclipse.emf.ecore.generated_package"><br />
<package<br />
uri = "mm.B"<br />
class = "mm.APackage"<br />
</extension><br />
<br />
<extension point="org.eclipse.emf.ecore.generated_package"><br />
<package<br />
uri = "mm.A"<br />
class = "mm.APackage"<br />
genModel = "model/A.genmodel" /><br />
</extension><br />
<br />
* If you save a model in your generated EMF editor, it will by default use namespace mm.A. You can change it to save using namespace mm.B by changing the String ''eNS_URI'' in src/mm.APackage (and changing the ''@generated'' tag).<br />
<br />
'''References'''<br />
<br />
* Thread on the EMF newsgroup: "[http://dev.eclipse.org/newslists/news.eclipse.tools.emf/msg25933.html multiple namespaces in one editor supported?]"<br />
<br />
<br />
----<br />
<br />
=== Recipe: Generating Your Own Ecore Model using a stand-alone Java App ===<br />
<br />
'''Problem'''<br />
<br />
You want to generate your own ecore model files programmatically using a stand-alone command-line tool. Optionally, you also want your new model to be able to reference ecore entities in other ecore models.<br />
<br />
''' Example '''<br />
<br />
Let's say you want to write a tool that reads DDL information from a database and generates an EClass for each table that holds a collection of row objects with an EStructuralFeature for each column. Let's say you also have a separate ecore model that you have created by hand that contains two EClasses called "AbstractTable" and "AbstractRow" that you want your generated EClass to reference as an eSuperType.<br />
<br />
So if you have a table called "Customers" that has columns "id", "firstName" and "lastName", you want to create an ecore model like this:<br />
<br />
EClass (name="Customer" eSuperTypes="AbstractTable")<br />
EReference (name="rows" type="CustomerRow" upperBound=-1)<br />
<br />
EClass (name="CustomerRow" eSuperTypes="AbstractRow")<br />
EAttribute (name="id" type="EString" ID=true lowerBound=1 upperBound=1)<br />
EAttribute (name="firstName" type="EString" upperBound=1)<br />
EAttribute (name="lastName" type="EString" upperBound=1)<br />
<br />
If you created the model by hand in the Ecore editor, it would look like this:<br />
<br />
[[Image:DDLInEcoreEditor.png]]<br />
<br />
So how would we generate this file?<br />
<br />
'''Solution'''<br />
<br />
The code is below. Here are '''important''' notes:<br />
<br />
In the initStandalone() we initialize the registry that will be relied on internally by EMF. See the [http://wiki.eclipse.org/index.php/EMF-FAQ#How_do_I_use_EMF_in_standalone_applications_.28such_as_an_ordinary_main.29.3F EMF FAQ] for more information on this. This will also give you other important setup steps like what's needed on the classpath.<br />
<br />
In generate() it is tempting to use DDLPackage.eINSTANCE to get the ddl package instead of createAndLoadDDLResource, but '''DON'T DO IT'''. If you do, then when you save the new package, references to AbstractTable and AbstractRow will be serialized using the nsUri of DDLPackage instead of a path to the ecore file relative to your new file. This will cause the Ecore editor to not be able to load your new ecore file unless DDLPackage is already available in plugin form installed in Eclipse. Notice that it is safe to use EcorePackage.eINSTANCE since it always available via plugin registration in Eclipse (you could load it into the package manually if you need to use the model from a stand-alone program).<br />
<br />
Also, '''very important''' are the two paths that you pass as arguments to main. Note that these get passed to URI.createFileURI to set the uri on the appropriate resources. This is important because when you save your new package, these two uri's will be used to figure how to reference your external ddl.ecore file (the one that declares AbstractTable and AbstractRow). So, for example, if you pass in the arguments:<br />
<br />
C:\folder\ddl.ecore C:\folder\newmodels\customers.ecore<br />
<br />
When the eSuperTypes reference is serialized in your customers.ecore file, it will reference it like this:<br />
<br />
eSuperTypes="../ddl.ecore#//AbstractRow"<br />
<br />
Note that this means that if you open customers.ecore in the Eclipse Ecore editor, then ddl.ecore must be in the directory above where you put customers.ecore.<br />
<br />
Finally, notice that the save executes to System.out rather than to the outputPath passed in. You could change this if you want. Leaving it like it is allows you to inspect the output before overwriting your file. As implemented, you can simply create a new empty text file in the location you specified for pathToOutputFile and paste the output into it.<br />
<br />
<br />
package com.company.my;<br />
<br />
import java.io.IOException;<br />
import java.util.Collections;<br />
import org.eclipse.emf.common.util.URI;<br />
import org.eclipse.emf.ecore.EAttribute;<br />
import org.eclipse.emf.ecore.EClass;<br />
import org.eclipse.emf.ecore.EClassifier;<br />
import org.eclipse.emf.ecore.EPackage;<br />
import org.eclipse.emf.ecore.EReference;<br />
import org.eclipse.emf.ecore.EcoreFactory;<br />
import org.eclipse.emf.ecore.EcorePackage;<br />
import org.eclipse.emf.ecore.resource.Resource;<br />
import org.eclipse.emf.ecore.resource.ResourceSet;<br />
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;<br />
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;<br />
<br />
public class MyEMFGenerator<br />
{<br />
public void generate(final String pathToDDLEcore, final String pathToOutputFile) throws IOException<br />
{<br />
// it is very important that we do everything through ResourceSet's<br />
ResourceSet resourceSet = new ResourceSetImpl();<br />
Resource ddlResource = createAndLoadDDLResource(resourceSet, pathToDDLEcore);<br />
<br />
// of course, in production code we would fail here if there were no<br />
// contents or they weren't of type EPackage.<br />
final EPackage ddlPackage = (EPackage) ddlResource.getContents().get(0);<br />
<br />
// next we will create our own new package to contained what we will generate<br />
final EPackage newPackage = createPackage("customerDB", "customerDB", "http://customerDB");<br />
<br />
// next, create the row class<br />
EClass customerRow = createEClass("CustomerRow");<br />
// add to package before we do anything else<br />
newPackage.getEClassifiers().add(customerRow);<br />
// add our super-class<br />
addSuperType(customerRow, ddlPackage, "AbstractRow");<br />
// add our features<br />
addAttribute(customerRow, "id", EcorePackage.Literals.ESTRING, true, 1, 1);<br />
addAttribute(customerRow, "firstName", EcorePackage.Literals.ESTRING, false, 0, 1);<br />
addAttribute(customerRow, "lastName", EcorePackage.Literals.ESTRING, false, 0, 1);<br />
<br />
// next, create the table class<br />
EClass customers = createEClass("Customers");<br />
// add to package before we do anything else<br />
newPackage.getEClassifiers().add(customers);<br />
// add our super-class<br />
addSuperType(customers, ddlPackage, "AbstractTable");<br />
// add our features<br />
addReference(customers, "rows", customerRow, 0, -1);<br />
<br />
// now create a new resource to serialize the ecore model<br />
Resource outputRes = resourceSet.createResource(URI.createFileURI(pathToOutputFile));<br />
// add our new package to resource contents<br />
outputRes.getContents().add(newPackage);<br />
// and at last, we save to standard out. Remove the first argument to save to file specified in pathToOutputFile<br />
outputRes.save(System.out, Collections.emptyMap());<br />
}<br />
<br />
private void addAttribute(EClass customerRow, String name,<br />
EClassifier type, boolean isId, int lowerBound, int upperBound)<br />
{<br />
final EAttribute attribute = EcoreFactory.eINSTANCE.createEAttribute();<br />
// always add to container first<br />
customerRow.getEStructuralFeatures().add(attribute);<br />
attribute.setName(name);<br />
attribute.setEType(type);<br />
attribute.setID(isId);<br />
attribute.setLowerBound(lowerBound);<br />
attribute.setUpperBound(upperBound);<br />
}<br />
<br />
private void addReference(EClass customerRow, String name,<br />
EClassifier type, int lowerBound, int upperBound)<br />
{<br />
final EReference reference = EcoreFactory.eINSTANCE.createEReference();<br />
// always add to container first<br />
customerRow.getEStructuralFeatures().add(reference);<br />
reference.setName(name);<br />
reference.setEType(type);<br />
reference.setLowerBound(lowerBound);<br />
reference.setUpperBound(upperBound);<br />
}<br />
<br />
private EPackage createPackage(final String name, final String prefix,<br />
final String uri)<br />
{<br />
final EPackage epackage = EcoreFactory.eINSTANCE.createEPackage();<br />
epackage.setName(name);<br />
epackage.setNsPrefix(prefix);<br />
epackage.setNsURI(uri);<br />
return epackage;<br />
}<br />
<br />
private EClass createEClass(final String name)<br />
{<br />
final EClass eClass = EcoreFactory.eINSTANCE.createEClass();<br />
eClass.setName(name);<br />
return eClass;<br />
}<br />
<br />
private void addSuperType(EClass customerRow, EPackage ddlPackage,<br />
String name)<br />
{<br />
final EClass eSuperClass = (EClass) ddlPackage.getEClassifier(name);<br />
customerRow.getESuperTypes().add(eSuperClass);<br />
}<br />
<br />
private Resource createAndLoadDDLResource(ResourceSet resourceSet,<br />
String pathToDDLEcore) throws IOException<br />
{<br />
// creating a proper URI is vitally important since this is how<br />
// referenced objects in the is ecore file will be found from the ecore<br />
// file that we produce.<br />
final URI uri = URI.createFileURI(pathToDDLEcore);<br />
Resource res = resourceSet.createResource(uri);<br />
res.load(Collections.emptyMap());<br />
return res;<br />
}<br />
<br />
public static void main(String[] args) throws IOException<br />
{<br />
if (args.length < 1)<br />
{<br />
System.err.println("Usage: java MyEMFGenerator <pathToDDLEcore> <outputPath>");<br />
}<br />
<br />
final String pathToDDLEcore = args[0];<br />
final String outputPath = args[1];<br />
<br />
// note: these are extra steps that are need from main, but not if running inside Eclipse<br />
initStandalone();<br />
<br />
new MyEMFGenerator().generate(pathToDDLEcore, outputPath);<br />
}<br />
<br />
private static void initStandalone()<br />
{<br />
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());<br />
// NOTE: It is very important that you DO NOT make the call to any<br />
// EPackage.eINSTANCE's here. Unlike in the FAQ example, we want to be sure<br />
// that all non-plugin EPackages are loaded directly from ecore files, not generated<br />
// Java classes.<br />
}<br />
}<br />
<br />
'''References'''<br />
<br />
Here's the original discussion thread with Ed Merks that spurred this recipe: [http://www.eclipse.org/newsportal/article.php?id=36884&group=eclipse.tools.emf#36884].<br />
<br />
=== Recipe: Generating enumeration-based attributes that support null===<br />
<br />
'''Problem'''<br />
<br />
You want an attribute whose type is an enumeration and you want it to support null, but EMF treats enumerations like primitives that always take on a default value, i.e., the first enumerator of the enumeration.<br />
<br />
'''Solution'''<br />
<br />
In your Ecore model:<br />
<br />
* Create a new EDataType and name it <Name>Object, where <Name> is the name of the EEnum for which you want to support null values. <br />
* Set the instance type name to "org.eclipse.emf.common.util.Enumerator"; the generator will replace that with the fully qualified name of the Java enum generated from the EEnum. <br />
* For that new EDataType<br />
** create a contained EAnnotation, <br />
** set the source to "http:///org/eclipse/emf/ecore/util/ExtendedMetaData", <br />
** and create a Details Entry with key "baseType" and value "<Name>", i.e., the name of the EEnum. <br />
* Use this new EDataType in place of the base EEnum for any EAttributes for which you want to allow null.<br />
<br />
== Notification Framework Recipes ==<br />
<br />
=== Recipe: Use EContentAdapter to receive notifications from a whole containment tree ===<br />
<br />
'''Problem'''<br />
<br />
You want to observe changes in a whole containment tree.<br />
<br />
'''Solution'''<br />
<br />
* Extend org.eclipse.emf.ecore.util.EContentAdapter (MyContentAdapter) and add that extension as an Adapter to the Root EObject of the containment hierarchy that you want to observe. <br />
<br />
* Override the method 'notifyChanged(Notification n)'. Inside the method´s body your first call must be super.notifyChanged(n) which adds MyContentAdapter to any new elements in the hierarchy and removes MyContentAdapter from any removed EObjects in the hierarchy. After finding out the type of the notifier Object (Remember: this might now be any EObject in the containment hierarchy, not just the EObject you initially added MyContentAdapter to - so it could be of any type that occurs in the containment hierarchy) you can go on by writing the usual notification code to find out about what feature changed, the type of the notification, etc.<br />
<br />
'''Example'''<br />
<br />
A simple example model org.example.library consists of an EClass 'Library' which has a containment reference 'books' of type 'Book'. The EClass 'Book' has a String attribute 'title' and a boolean attribute 'available'. Now you want to be notified about a) new Books in the Library and b) about changes of any book´s availability (the title of a book usually won´t change so we exclude this feature). Using the Solution described above we will do the following:<br />
<br />
<code><pre><br />
import org.eclipse.emf.common.notify.Notification;<br />
<br />
class MyContentAdapter extends org.eclipse.emf.ecore.util.EContentAdapter {<br />
<br />
// start observing a Library model<br />
public void observeLibrary(org.example.library.Library l){<br />
l.eAdapters().add(this);<br />
}<br />
<br />
//override the notifyChanged method<br />
public void notifyChanged(Notification n){<br />
<br />
super.notifyChanged(n); // the superclass handles adding/removing this Adapter to new Books<br />
<br />
// find out the type of the notifier which could be either 'Book' or 'Library'<br />
Object notifier = n.getNotifier();<br />
if (notifier instanceof Library) {<br />
handleLibraryNotification(n);<br />
} else if (notifier instanceof Book) {<br />
handleBookNotification(n);<br />
}<br />
}<br />
<br />
// output a message about new books<br />
private void handleLibraryNotification(Notification n){<br />
int featureID = n.getFeatureID(org.example.library.Library.class);<br />
if (featureID == org.example.library.LibraryPackage.LIBRARY__BOOKS){<br />
if (n.getEventType() == Notification.ADD){<br />
Book b = (Book) n.getNewValue(); <br />
System.out.println("New Book was added to the Library: " + b.getTitle());<br />
}<br />
}<br />
}<br />
<br />
// output a message about a book´s availability<br />
private void handleBookNotification(Notification n){<br />
int featureID = n.getFeatureID(org.example.library.Book.class);<br />
if (featureID == org.example.library.LibraryPackage.BOOK__AVAILABLE){<br />
Book b = (Book) n.getNotifier();<br />
System.out.println("The book " + b.getTitle() + " is now " + (b.isAvailable() ? "available" : "unavailable"));<br />
}<br />
}<br />
}<br />
<br />
</pre></code><br />
<br />
'''References'''<br />
<br />
* Thread on the EMF newsgroup: "[http://www.eclipse.org/newsportal/article.php?id=26635&group=eclipse.tools.emf#26635]"<br />
<br />
=== Recipe: Subclass EContentAdapter to receive notifications across non-containment references ===<br />
<br />
'''Problem'''<br />
<br />
You want to observe changes in a whole containment tree, including ones across non-containment references.<br />
<br />
'''Solution'''<br />
<br />
* Use the following subclass (or variation of it) to follow non-containment references<br />
<code><pre><br />
import org.eclipse.emf.common.notify.Notification;<br />
import org.eclipse.emf.common.notify.Notifier;<br />
import org.eclipse.emf.ecore.EObject;<br />
import org.eclipse.emf.ecore.EReference;<br />
import org.eclipse.emf.ecore.EStructuralFeature;<br />
import org.eclipse.emf.ecore.util.EContentAdapter;<br />
import org.eclipse.emf.ecore.util.EContentsEList;<br />
<br />
public class CrossDocumentContentAdapter extends EContentAdapter<br />
{<br />
public CrossDocumentContentAdapter()<br />
{<br />
super();<br />
}<br />
<br />
/**<br />
* By default, all cross document references are followed. Usually this is<br />
* not a great idea so this class can be subclassed to customize.<br />
* <br />
* @param feature<br />
* a cross document reference<br />
* @return whether the adapter should follow it<br />
*/<br />
protected boolean shouldAdapt(EStructuralFeature feature)<br />
{<br />
return true;<br />
}<br />
<br />
@Override<br />
protected void setTarget(EObject target)<br />
{<br />
super.setTarget(target);<br />
for (EContentsEList.FeatureIterator<EObject> featureIterator = (EContentsEList.FeatureIterator<EObject>) target.eCrossReferences()<br />
.iterator(); featureIterator.hasNext();)<br />
{<br />
Notifier notifier = featureIterator.next();<br />
EStructuralFeature feature = featureIterator.feature();<br />
if (shouldAdapt(feature))<br />
{<br />
addAdapter(notifier);<br />
}<br />
}<br />
}<br />
<br />
@Override<br />
protected void unsetTarget(EObject target)<br />
{<br />
super.unsetTarget(target);<br />
for (EContentsEList.FeatureIterator<EObject> featureIterator = (EContentsEList.FeatureIterator<EObject>) target.eCrossReferences()<br />
.iterator(); featureIterator.hasNext();)<br />
{<br />
Notifier notifier = featureIterator.next();<br />
EStructuralFeature feature = featureIterator.feature();<br />
if (shouldAdapt(feature))<br />
{<br />
removeAdapter(notifier);<br />
}<br />
}<br />
}<br />
<br />
@Override<br />
protected void selfAdapt(Notification notification)<br />
{<br />
super.selfAdapt(notification);<br />
if (notification.getNotifier() instanceof EObject)<br />
{<br />
Object feature = notification.getFeature();<br />
if (feature instanceof EReference)<br />
{<br />
EReference eReference = (EReference) feature;<br />
if (!eReference.isContainment() && shouldAdapt(eReference))<br />
{<br />
handleContainment(notification);<br />
}<br />
}<br />
}<br />
}<br />
<br />
}<br />
</pre><br />
</code><br />
<br />
'''Example'''<br />
<br />
None.<br />
<br />
'''References'''<br />
<br />
* Thread on the EMF newsgroup: "[http://www.eclipse.org/newsportal/article.php?id=32411&group=eclipse.tools.emf#32411]"<br />
<br />
=== Recipe: Derived Attribute Notifier ===<br />
<br />
'''Problem'''<br />
<br />
If you have a derived attribute in EMF and change one of the attributes that the derived value depends on, then no notification will be sent for the derived attribute - so it will not change in any editor etc. You have to write these yourself. <br />
<br />
'''Solution'''<br />
<br />
Here's a class provided by ''pvmellor''. You can specify your derived attribute, and also which other attributes it depends on. Listeners are then added as appropriate and when any of your dependant attributes change, you'll fire an event for your derived attribute.<br />
<br />
'''Example'''<br />
<br />
E.g. You have a Class Library and a set of Books in it. Each Book has a pageCount attribute. The Library has a derived attribute totalPageCount that adds up all the pages of all the books. Then you can just write...<br />
<br />
<code><pre><br />
/**<br />
* @generated NOT<br />
*/<br />
protected LibraryImpl() {<br />
super();<br />
DerivedAttributeAdapter daa = new DerivedAttributeAdapter(this, MyPackage.Literals.LIBRARY__TOTALPAGECOUNT);<br />
daa.addNavigatedDependency(MyPackage.Literals.LIBRARY__BOOKS, MyPackage.Literals.BOOK__PAGECOUNT);<br />
}<br />
</pre></code><br />
<br />
Library Code:<br />
<br />
<code><pre><br />
import java.util.ArrayList;<br />
import java.util.List;<br />
<br />
import org.eclipse.emf.common.notify.Notification;<br />
import org.eclipse.emf.common.notify.impl.AdapterImpl;<br />
import org.eclipse.emf.ecore.EObject;<br />
import org.eclipse.emf.ecore.EStructuralFeature;<br />
import org.eclipse.emf.ecore.InternalEObject;<br />
import org.eclipse.emf.ecore.impl.ENotificationImpl;<br />
<br />
public class DerivedAttributeAdapter extends AdapterImpl {<br />
private final InternalEObject source;<br />
private final EStructuralFeature derivedFeature;<br />
<br />
private List<EStructuralFeature> localFeatures = new ArrayList<EStructuralFeature>();<br />
<br />
// TODO this lot could be put into a subclass and put in a list to allow for<br />
// multiple navigated dependencies<br />
private EStructuralFeature dependantFeature = null;<br />
private EStructuralFeature navigationFeature = null;<br />
<br />
private AdapterImpl dependantAdapter = new AdapterImpl() {<br />
<br />
@Override<br />
public void notifyChanged(Notification msg) {<br />
<br />
if ( msg.getEventType() == Notification.SET<br />
&& msg.getFeature().equals(dependantFeature) ) {<br />
notifyDerivedAttributeChange();<br />
}<br />
}<br />
};<br />
<br />
/*<br />
* Convenience constructor for a local and navigated dependency<br />
*/<br />
public DerivedAttributeAdapter(EObject source, EStructuralFeature derivedFeature,<br />
EStructuralFeature navigationFeature, EStructuralFeature dependantFeature, EStructuralFeature localFeature) {<br />
this(source, derivedFeature);<br />
addNavigatedDependency(navigationFeature, dependantFeature);<br />
addLocalDependency(localFeature);<br />
}<br />
<br />
/*<br />
* Convenience constructor for a navigated dependency<br />
*/<br />
public DerivedAttributeAdapter(EObject source, EStructuralFeature derivedFeature,<br />
EStructuralFeature navigationFeature, EStructuralFeature dependantFeature) {<br />
this(source, derivedFeature);<br />
addNavigatedDependency(navigationFeature, dependantFeature);<br />
}<br />
<br />
/*<br />
* Convenience constructor for a local dependency<br />
*/<br />
public DerivedAttributeAdapter(EObject source, EStructuralFeature derivedFeature,<br />
EStructuralFeature localFeature) {<br />
this(source, derivedFeature);<br />
addLocalDependency(localFeature);<br />
}<br />
<br />
public DerivedAttributeAdapter(EObject source, EStructuralFeature derivedFeature) {<br />
super();<br />
this.source = (InternalEObject) source;<br />
this.derivedFeature = derivedFeature;<br />
source.eAdapters().add(this);<br />
}<br />
<br />
public void addNavigatedDependency(EStructuralFeature navigationFeature,<br />
EStructuralFeature dependantFeature) {<br />
this.dependantFeature = dependantFeature;<br />
this.navigationFeature = navigationFeature;<br />
}<br />
<br />
public void addLocalDependency(EStructuralFeature localFeature) {<br />
localFeatures.add(localFeature);<br />
}<br />
<br />
@Override<br />
public void notifyChanged(Notification notification) {<br />
if (notification.getFeature().equals( navigationFeature ) ) {<br />
switch (notification.getEventType()) {<br />
// TODO support ADD_MANY/REMOVE_MANY?<br />
case Notification.ADD:<br />
EObject added = (EObject) notification.getNewValue();<br />
added.eAdapters().add(dependantAdapter);<br />
break;<br />
case Notification.SET:<br />
EObject newValue = (EObject) notification.getNewValue();<br />
EObject oldValue = (EObject) notification.getOldValue();<br />
if (oldValue != null)<br />
oldValue.eAdapters().remove(dependantAdapter);<br />
if (newValue != null)<br />
newValue.eAdapters().add(dependantAdapter);<br />
break;<br />
case Notification.REMOVE:<br />
EObject removed = (EObject) notification.getOldValue();<br />
removed.eAdapters().remove(dependantAdapter);<br />
break;<br />
default:<br />
return; // No notification<br />
}<br />
notifyDerivedAttributeChange();<br />
} else if (localFeatures.contains(notification.getFeature())) {<br />
notifyDerivedAttributeChange();<br />
}<br />
}<br />
<br />
private void notifyDerivedAttributeChange() {<br />
if (source.eNotificationRequired()) {<br />
source.eNotify(new ENotificationImpl(source, Notification.SET,<br />
derivedFeature, null, source.eGet(derivedFeature, true,<br />
true)));<br />
}<br />
}<br />
}<br />
</pre></code><br />
<br />
'''References'''<br />
<br />
* Post on the EMF newsgroup: "[http://dev.eclipse.org/newslists/news.eclipse.modeling/msg00488.html]"<br />
* Post on the EMF newsgroup with Ed Merks suggested tweaks: "[http://dev.eclipse.org/newslists/news.eclipse.modeling/msg00490.html]"<br />
<br />
'''Comment'''<br />
<br />
* When this code was posted to the EMF newsgroup, this comment was made: ''"Here's a class I wrote that I've found useful and perhaps it may be useful to others"'' . I take this is meaning this code has been given to the public domain.<br />
<br />
== Properties Recipes ==<br />
<br />
=== Recipe: Create your own property editor in a generated application ===<br />
<br />
'''Problem'''<br />
<br />
You want to edit your model properties using your own cell editor, rather than using EMF default one.<br />
<br />
'''Solution'''<br />
<br />
* Create your own CustomizedPropertyDescritor that extends 'org.eclipse.emf.edit.ui.provider.PropertyDescriptor' and overrides 'CellEditor createPropertyEditor(Composite)'. In that method create your own CellEditor. Please refer to super implementation to know, how to enable your editor for particular types.<br />
<br />
* Create your CustomizedPropertySource that extends 'org.eclipse.emf.edit.ui.provider.PropertySource.class' and overrides 'IPropertyDescriptor createPropertyDescriptor(IItemPropertyDescriptor)'. The overidden method should return CustomizedPropertyDescriptor described in the previous paragraph.<br />
<br />
* Create your CustomizedAdapterFactoryContentProvider that extends 'org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider' and overrides 'IPropertySource createPropertySource(Object, IItemPropertySource)' method. The overidden method should return CustomizedPropertySource.<br />
<br />
* In your generated .editor find the XyzEditor, and then, in 'IPropertySheetPage getPropertySheetPage()' replace the line<br />
<code><br />
propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));<br />
</code><br />
with a line that will set your CustomizedAdapterFactoryContentProvider.<br />
<br />
'''Example'''<br />
<br />
<code><pre><br />
/**<br />
* This accesses a cached version of the property sheet.<br />
* <!-- begin-user-doc --><br />
* <!-- end-user-doc --><br />
* @generated NOT<br />
*/<br />
public IPropertySheetPage getPropertySheetPage()<br />
{<br />
if (propertySheetPage == null)<br />
{<br />
//...<br />
<br />
propertySheetPage.setPropertySourceProvider<br />
(new AdapterFactoryContentProvider(adapterFactory)<br />
{<br />
@Override<br />
protected IPropertySource createPropertySource(Object object, IItemPropertySource itemPropertySource)<br />
{<br />
return <br />
new PropertySource(object, itemPropertySource)<br />
{<br />
@Override<br />
protected IPropertyDescriptor createPropertyDescriptor(IItemPropertyDescriptor itemPropertyDescriptor)<br />
{<br />
return <br />
new PropertyDescriptor(object, itemPropertyDescriptor)<br />
{<br />
@Override<br />
public CellEditor createPropertyEditor(Composite composite)<br />
{<br />
// Test for your case based on the feature or the type of the feature.<br />
// See the super method for details.<br />
//<br />
Object feature = itemPropertyDescriptor.getFeature(this.object);<br />
return super.createPropertyEditor(composite);<br />
}<br />
};<br />
}<br />
};<br />
}<br />
});<br />
}<br />
<br />
return propertySheetPage;<br />
}<br />
</pre></code><br />
<br />
'''References'''<br />
<br />
* Thread on the search result: [http://www.eclipse.org/search/search.cgi?q=custom+cell+editor&cmd=Search%21&form=extended&wf=574a74&ps=10&m=all&t=5&ul=%2Fnewslists%2Fnews.eclipse.tools.emf&wm=wrd&t=News&t=Mail]<br />
* Blog on using Date control: [http://eclipser-blog.blogspot.com/2007/10/custom-property-source-for-emf.html]<br />
<br />
=== Recipe: Create an Eclipse Forms editor with widgets for your properties ===<br />
<br />
'''Problem'''<br />
<br />
You want to edit your model properties using a custom non-tree-based forms editor, rather than using EMF default one.<br />
<br />
'''Solution'''<br />
<br />
* As a starting point, grab the SimpleFormEditor from this [http://www.eclipse.org/articles/Article-Forms/article.html article on Eclipse Forms].<br />
<br />
* You need the following components to get this working:<br />
* ComposedAdapterFactory : this adapts all the ItemProvider stuff from the EMF-generated .edit plugin to suit your needs<br />
* AdapterFactoryEditingDomain : this is the read/write interface to your model's resource, it needs the adapter factory and a command stack<br />
* AdapterFactoryItemDelegator : delegates from a model element (item) to the respective item provider from the .edit plugin<br />
* AdapterFactoryLabelProvider : gets text for your model elements by asking the item provider<br />
* BasicCommandStack : well...a basic command stack with some undo/redo support<br />
<br />
* To start implementing, open the default multi-page editor generated by EMF from your model. You need to merge parts of this into the forms editor, among them:<br />
* resource management code (changed, saved and removed resources as well as the resourceChangeListener and partListener)<br />
* editor state management code (isDirty() and all save-related methods)<br />
* methods which handle events related to the above mentioned stuff<br />
* the 3 methods documented below<br />
<br />
* <tt>initializeEditingDomain()</tt> : This method glues most of the above-mentioned components together. Call it in the editor's constructor. The XYZItemProviderAdapterFactory (generated by EMF in the .edit plugin) should already be added to the ComposedAdapterFactory (if not, add in the one you need).<br />
<code><pre><br />
protected void initializeEditingDomain() {<br />
// Create an adapter factory that yields item providers.<br />
// For this to work this plugin needs the dependency on the <br />
// EMF edit plugin generated from the ThetaML .ecore and .genmodel<br />
this.adapterFactory = new ComposedAdapterFactory(<br />
ComposedAdapterFactory.Descriptor.Registry.INSTANCE);<br />
<br />
this.adapterFactory<br />
.addAdapterFactory(new ResourceItemProviderAdapterFactory());<br />
this.adapterFactory<br />
.addAdapterFactory(new ThetamlItemProviderAdapterFactory());<br />
this.adapterFactory<br />
.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());<br />
<br />
// command stack that will notify this editor as commands are executed<br />
BasicCommandStack commandStack = new BasicCommandStack();<br />
<br />
// Add a listener to set the editor dirty of commands have been executed<br />
commandStack.addCommandStackListener(new CommandStackListener() {<br />
public void commandStackChanged(final EventObject event) {<br />
getContainer().getDisplay().asyncExec(new Runnable() {<br />
public void run() {<br />
editorDirtyStateChanged();<br />
}<br />
});<br />
}<br />
});<br />
<br />
// Create the editing domain with our adapterFactory and command stack.<br />
this.editingDomain = new AdapterFactoryEditingDomain(adapterFactory,<br />
commandStack, new HashMap<Resource, Boolean>());<br />
<br />
// These provide access to the model items, their property source and label<br />
this.itemDelegator = new AdapterFactoryItemDelegator(adapterFactory);<br />
this.labelProvider = new AdapterFactoryLabelProvider(adapterFactory);<br />
}<br />
</pre></code><br />
<br />
* <tt>init()</tt> : Editor initialization comprises registering for part and resource events and creation of your model (see below).<br />
<code><pre><br />
public void init(IEditorSite site, IEditorInput editorInput)<br />
throws PartInitException {<br />
super.init(site, editorInput);<br />
setPartName(editorInput.getName());<br />
site.getPage().addPartListener(partListener);<br />
createModel();<br />
ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener,<br />
IResourceChangeEvent.POST_CHANGE);<br />
}<br />
</pre></code><br />
<br />
* <tt>createModel()</tt> : This loads your model's resource into the editing domain. If you don't need the diagnostic stuff you may skip that as I did. After the resource is loaded, your model instance can be created and used.<br />
<code><pre><br />
public void createModel() {<br />
<br />
URI resourceURI = EditUIUtil.getURI(getEditorInput());<br />
Resource resource = null;<br />
try {<br />
// Load the resource through the editing domain.<br />
//<br />
resource = editingDomain.getResourceSet().getResource(resourceURI,<br />
true);<br />
} catch (Exception e) {<br />
resource = editingDomain.getResourceSet().getResource(resourceURI,<br />
false);<br />
}<br />
<br />
if (resource != null) {<br />
this.modelRoot = (Your_Model_Root_Element) resource.getContents().get(0);<br />
}<br />
}<br />
</pre></code><br />
<br />
* Create a new class extending FormPage and overload the constructor to give the class access to all components you need. This may be the model or parts of it, references to the form editor, the editing domain etc.<br />
<br />
* Implement the createFormContent(IManagedForm managedForm) method of the form page by creating form widgets as you like. For instance, you may traverse your model and create a text field for every property.<br />
<br />
* To fetch an element's property, instruct the above-mentioned ItemDelegator to fetch so-called "property descriptors" for this element. Just iterate over this list of IItemPropertyDescriptor's ("descriptor" is the loop variable here, it has to be final) and call <br />
<code><pre><br />
EObject feature = (EObject) descriptor.getFeature(your_element_instance);<br />
</pre></code><br />
Now you may introspect this feature instance and decide what widget you want to create for it.<br />
By looking at it's feature ID, you can discover which property the feature represents.<br />
The actual property value you get by calling the ItemDelegator (I wrote a getter in my editor class):<br />
<code><pre><br />
Object value = ((EObject) editor.getItemDelegator().getEditableValue(your_element_instance)).eGet(your_feature_instance)<br />
</pre></code><br />
In most cases it will be a String value, so you just have to create a text field for it:<br />
<code><pre><br />
Text text = toolkit.createText(client, valueString, SWT.SINGLE);<br />
</pre></code><br />
<br />
* To update your model when the user modifies the value in the form, you have to add a mofifyListener to handle this:<br />
<code><pre><br />
if (value instanceof String) {<br />
text.addModifyListener(new ModifyListener() {<br />
public void modifyText(ModifyEvent event) {<br />
for (IItemPropertyDescriptor descriptor2 : variablePropertyDescriptors) {<br />
if (descriptor2.getId(formula).equals(descriptor.getId(formula))) {<br />
String newValueText = ((Text) event.widget).getText();<br />
descriptor2.setPropertyValue(formula, newValueText);<br />
}<br />
}<br />
}<br />
});<br />
}<br />
</pre></code><br />
<br />
That's basically it. Your mileage may vary. Things left to do include code to update the form upon resource changes.<br />
<br />
'''Explanations'''<br />
<br />
The important concept to grasp is that you interact with your model in a very indirect way. To utilize all the nice things the EMF framework offers out-of-the-box, you have to use its mechanics. I'm referring to the generated XYZItemProvider classes and the accompanying adapter factory. If you look at these you find they implement the interfaces IItemPropertySource and IItemLabelProvider. This enables the AdapterFactoryItemDelegator and AdapterFactoryLabelProvider to fetch properties and label text for each item, i.e., element of your model. They also implement IEditingDomainItemProvider which enables the AdapterFactoryEditingDomain to delegate command creation to the EMF-generated ItemProviderAdapter (all XYZItemProvider classes extend this).<br />
The line where setPropertyValue is called is the important one - here the magic happens. This call is delegated to the<br />
ItemProvider for the element you used and a SetCommand is created, added to the command stack we setup for our editing<br />
domain, and executed. All editor state management like mark dirty, save, undo/redo is handled for you by EMF.<br />
<br />
'''Credit'''<br />
<br />
Most of the code was written by Eclipse EMF and Forms people, I just merged it to get a basic forms editor working. There may be easier and/or cleaner ways to get this done. I encourage you to add to this recipe or correct me if I got something wrong.<br />
<br />
'''References'''<br />
<br />
* Article on Eclipse Forms: [http://www.eclipse.org/articles/Article-Forms/article.html]<br />
* Example for a generic EMF Eclipse Forms editor : [http://www.conceptualprocessengineering.com/library]<br />
* EMF.Edit framework overview : [http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/doc/org.eclipse.emf.doc/references/overview/EMF.Edit.html]<br />
<br />
==EMF.Edit Recipes==<br />
<br />
===Recipe: Custom Labels===<br />
<br />
'''Problem'''<br />
<br />
You want to provide customized text for an object's label in an EMF-generated editor. Further, if the customized text is derived from<br />
other objects and their attributes, you want the label to be updated whenever those attribute values may change.<br />
<br />
'''Solution'''<br />
<br />
* Modify the generated ''ItemProvider.getText()'' method to compose the value you wish.<br />
* If your label's value depends on other objects and their attributes:<br />
** Take care to test for null references and values.<br />
** Create a class that implements the ''org.eclipse.emf.edit.provider.INotifyChangedListener'' interface<br />
*** An inner class of the target item provider class works well.<br />
*** In the ''notifyChanged()'' method, check whether the notification is for one of the attributes upon which your custom label depends. If it is, then fire a new notification event whose notifier/element is your target object. Take care to prevent the new event from causing infinite recursion, remove the listener before firing the event, and add it back afterwards.<br />
** In the target item provider's constructor, create an instance of the above listener and add it to the adapter factory.<br />
** Override the ''dispose()'' method to remove the listener from the adapter factory.<br />
* If your label's value depends on attributes or references in the target object, ensure the ''notifyChanged()'' method in the target item provider fires a notification event for these cases. The ''ViewerNotification'' for these events need to indicate label updating.<br />
<br />
'''Example'''<br />
<br />
In this example, assume you want to customize the label for an instance of EMF class ''A''. The value is derived from an attribute, ''name'', of another class ''B'' that is referenced from ''A''.<br />
<br />
Modify the ''getText()'' method in ''A's'' item provider:<br />
<code><pre><br />
public class AItemProvider<br />
extends OperandItemProvider<br />
implements <br />
IEditingDomainItemProvider, <br />
IStructuredItemContentProvider, <br />
ITreeItemContentProvider, <br />
IItemLabelProvider, <br />
IItemPropertySource {<br />
<br />
...<br />
/**<br />
* This returns the label text for the adapted class.<br />
* <!-- begin-user-doc --><br />
* <!-- end-user-doc --><br />
* @generated NOT<br />
*/<br />
public String getText(Object object) {<br />
A aObj = (A) object;<br />
String ref = aObj.getB() == null ? "???" : aObj.getB().getName();<br />
ref = ref == null ? "???" : ref;<br />
return getString("_UI_A_type")+" -> "+ref; //$NON-NLS-1$<br />
}<br />
<br />
</pre></code><br />
<br />
Create an inner class to listen for change modifications:<br />
<br />
<code><pre><br />
class ChangeListener implements INotifyChangedListener {<br />
public void notifyChanged(Notification notification) {<br />
// last target<br />
if(notification.getNotifier() != null && getTarget() != null && notification.getNotifier() == ((A) getTarget()).getB()) {<br />
((IChangeNotifier) getAdapterFactory()).removeListener(this);<br />
fireNotifyChanged(new ViewerNotification(notification, getTarget(), false, true));<br />
((IChangeNotifier) getAdapterFactory()).addListener(this);<br />
}<br />
// other targets<br />
for (Notifier target : targets){<br />
if(notification.getNotifier() != null && target != null && notification.getNotifier() == ((A) target).getB()) {<br />
((IChangeNotifier) getAdapterFactory()).removeListener(this);<br />
fireNotifyChanged(new ViewerNotification(notification, target, false, true));<br />
((IChangeNotifier) getAdapterFactory()).addListener(this);<br />
}<br />
}<br />
}<br />
}<br />
<br />
</pre></code><br />
The above implementation checks that the modified object is the same instance that the target object references (as opposed to just any instance of ''B'').<br />
<br />
The new ''VewerNotification'' identifies the instance of ''A'' as the changed element, and the ''true'' argument signals the change requires a label update.<br />
<br />
The ''removeListener()'' call prevents infinite recursion from the following ''fireNotifyChanged()''. After the event is fired, the listener is added back to the adapter factory.<br />
<br />
The ''ChangeListener'' is shared between different ''A'' instances, but when it calls getTarget(), he only has the last object the itemProvider were attached <br />
to (and not all instances).<br />
Therefore, if you choose to make the ''AItemProvider'' '''Statefull''' (by editing the genmodel for the A class : Properties View => Edit => ProviderType => Statefull),<br />
don't add the second part of notifyChanged method (preceded by //other targets). However, if you want to keep the ''AItemProvider'' '''Singleton''', this second part is necessary.<br />
<br />
<br />
Instantiate the listener and add it to the adapter factory in the item provider's constructor:<br />
<br />
<code><pre><br />
public class AItemProvider<br />
extends OperandItemProvider<br />
implements <br />
IEditingDomainItemProvider, <br />
IStructuredItemContentProvider, <br />
ITreeItemContentProvider, <br />
IItemLabelProvider, <br />
IItemPropertySource {<br />
<br />
private ChangeListener changeListener;<br />
<br />
/**<br />
* This constructs an instance from a factory and a notifier.<br />
* <!-- begin-user-doc --><br />
* <!-- end-user-doc --><br />
* @generated NOT<br />
*/<br />
public AItemProvider(AdapterFactory adapterFactory) {<br />
super(adapterFactory);<br />
if(adapterFactory instanceof IChangeNotifier) {<br />
IChangeNotifier cn = (IChangeNotifier) adapterFactory;<br />
changeListener = new ChangeListener();<br />
cn.addListener(changeListener);<br />
}<br />
}<br />
...<br />
}<br />
</pre></code><br />
<br />
Override the ''dispose()'' method:<br />
<br />
<code><pre><br />
public class AItemProvider<br />
extends OperandItemProvider<br />
implements <br />
IEditingDomainItemProvider, <br />
IStructuredItemContentProvider, <br />
ITreeItemContentProvider, <br />
IItemLabelProvider, <br />
IItemPropertySource {<br />
...<br />
/* (non-Javadoc)<br />
* @see org.eclipse.emf.edit.provider.ItemProviderAdapter#dispose()<br />
*/<br />
public void dispose() {<br />
super.dispose();<br />
if(changeListener != null) {<br />
((IChangeNotifier)getAdapterFactory()).removeListener(changeListener);<br />
}<br />
}<br />
...<br />
}<br />
<br />
</pre></code><br />
<br />
Modify the target object's item provider ''notifyChanged()'' to fire a change event when the reference to ''B'' changes:<br />
<br />
<code><pre><br />
/**<br />
* This handles model notifications by calling {@link #updateChildren} to update any cached<br />
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.<br />
* <!-- begin-user-doc --><br />
* <!-- end-user-doc --><br />
* @generated NOT<br />
*/<br />
public void notifyChanged(Notification notification) {<br />
updateChildren(notification);<br />
switch (notification.getFeatureID(A.class)) {<br />
case FooPackage.A__B:<br />
fireNotifyChanged(new ViewerNotification(notification, notification<br />
.getNotifier(), false, true));<br />
return;<br />
}<br />
super.notifyChanged(notification);<br />
}<br />
<br />
</pre></code><br />
<br />
Note that the last parameter for the ''ViewerNotification'' constructor indicates the label is to be updated.<br />
<br />
'''References'''<br />
<br />
None so far.<br />
<br />
'''Credits'''<br />
<br />
Mike Gering created the initial version of this recipe.<br />
<br />
==XMI/XML Serialization Recipes==<br />
<br />
===Recipe: Data Migration ===<br />
<br />
'''Problem'''<br />
<br />
You need to migrate models built with prior versions of a metamodel. Some changes to<br />
the metamodel may be handled without additional support, for example adding an EAttribute to an existing EClass<br />
typically causes no migration issue. Other changes require programmatic support, for example renaming an EAttribute.<br />
<br />
This recipe may be used to satisfy many, but not all, migration issues. Because this recipe assumes a model can be correctly<br />
parsed as an XMI/XML document, it fails to handle cases where, for example, an EAttribute.ID changes. <br />
<br />
'''Solution 0'''<br />
See [http://wiki.eclipse.org/EMF/Recipes#Recipe:_Copying_models_from_an_EPackage_implementation_to_another_one]<br />
<br />
'''Solution 1'''<br />
<br />
See [[Edapt]].<br />
<br />
'''Solution 2'''<br />
<br />
The solution is to use extended metadata to map old metamodel elements to new ones, and (optionally) a resource handler to deal with cases that simple mapping doesn't solve.<br />
<br />
Requirements:<br />
<br />
* The source and target models must have different namespace URIs.<br />
* XML references must not be based on feature names.<br />
<br />
Steps:<br />
<br />
* Create an ecore2ecore mapping where the input/source is the old metamodel and the output/target is the new metamodel. In the IDE, you can right-click the old ecore file and select the "Map to Ecore..." menu item to launch a wizard.<br />
* Create an ecore2xml mapping from the ecore2ecore mapping. In the IDE you can right-click the ecore2ecore file created above and select the "Generate Ecore to XML Mapping..." menu item.<br />
* Create a ResourceFactory implementation (if you don't already have one) for your metamodel.<br />
** Extend org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl<br />
** Override createResource(URI)<br />
*** Create an instance of XMIResource<br />
*** Set the XMLResource.OPTION_EXTENDED_META_DATA on the load options. For the value of this option, pass a lazily-initialized reference to the ecore2xml model.<br />
*** Set the XMLResource.OPTION_RECORD_UNKNOWN_FEATURE option to Boolean.TRUE so you can retrieve elements that were not resolved after the resource is loaded.<br />
*** Set the XMLResource.OPTION_RESOURCE_HANDLER option to a resource handler class you provide. <br />
** Implement a ResourceHandler:<br />
*** Subclass org.eclipse.emf.ecore.xmi.impl.BasicResourceHandler<br />
*** Override the postLoad() method to retrieve and handle the unknown/unresolved elements<br />
* Create a URI Extension Parser Registry extension (org.eclipse.emf.ecore.extension_parser) in your plugin manifest.<br />
* Package the old metamodel ecore and ecore2xml files with your plugin.<br />
<br />
'''Example'''<br />
<br />
The following illustrates an example ResourceFactory implementation. The old metamodel namespace URI is "http://www.ibm.com/vce/1.0.0/rules", and the new one is "http://www.ibm.com/vce/1.0.1/rules".<br />
<code><pre><br />
public class RulesResourceFactoryImpl extends XMIResourceFactoryImpl {<br />
<br />
public static final String RULES_100_NS_URI = "http://www.ibm.com/vce/1.0.0/rules";<br />
public static final String RULES_PLATFORM_URI = "platform:/plugin/com.ibm.myplugin/model/Rules.ecore";<br />
public static final String RULES_100_PLATFORM_URI = "platform:/plugin/com.ibm.myplugin/model/Rules100_2_Rules.ecore2xml";<br />
<br />
private ExtendedMetaData extendedMetaData;<br />
...<br />
}<br />
</pre></code><br />
<br />
In the above fragment, several constants refer to old metamodel namespace URI and URIs for the new metamodel ecore file and ecore2xml file. Note that the "platform:/plugin/..." form indicates the ecore and ecore2xml files will be loaded from within the deployed plugin.<br />
<br />
The extendedMetaData field will be lazily-initialized once and reused for creating new resource instances.<br />
<br />
<code><pre><br />
public Resource createResource(URI uri) {<br />
XMIResource resource = (XMIResource) super.createResource(uri);<br />
<br />
Map defaultLoadOptions = resource.getDefaultLoadOptions();<br />
defaultLoadOptions.put(XMLResource.OPTION_EXTENDED_META_DATA, <br />
getExtendedMetaData());<br />
defaultLoadOptions.put(XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, <br />
Boolean.TRUE);<br />
defaultLoadOptions.put(XMLResource.OPTION_RESOURCE_HANDLER, <br />
new RulesResourceHandler());<br />
return resource;<br />
}<br />
</pre></code><br />
This implementation of createResource() works by creating a instanceof XMIResource and setting various load options on it before returning it.<br />
<br />
<code><pre><br />
private ExtendedMetaData getExtendedMetaData() {<br />
if(extendedMetaData == null) {<br />
ResourceSet resourceSet = new ResourceSetImpl();<br />
EPackage.Registry ePackageRegistry = resourceSet.getPackageRegistry();<br />
ePackageRegistry.put(RULES_100_NS_URI, RulesPackage.eINSTANCE);<br />
ePackageRegistry.put(RULES_PLATFORM_URI, RulesPackage.eINSTANCE);<br />
Ecore2XMLRegistry ecore2xmlRegistry = new Ecore2XMLRegistryImpl(Ecore2XMLRegistry.INSTANCE);<br />
ecore2xmlRegistry.put(RULES_100_NS_URI,<br />
EcoreUtil.getObjectByType(<br />
resourceSet.getResource(URI.createURI(RULES_100_PLATFORM_URI), <br />
true).getContents(),<br />
Ecore2XMLPackage.Literals.XML_MAP));<br />
extendedMetaData = new Ecore2XMLExtendedMetaData(ePackageRegistry, ecore2xmlRegistry); <br />
}<br />
return extendedMetaData;<br />
}<br />
</pre></code><br />
<br />
The extended metadata is initialzed once for the factory. <br />
<br />
<code><pre><br />
class RulesResourceHandler extends BasicResourceHandler {<br />
<br />
public void postLoad(XMLResource resource, InputStream inputStream, Map options) {<br />
final Map extMap = resource.getEObjectToExtensionMap();<br />
for(Iterator itr = extMap.entrySet().iterator(); itr.hasNext();) {<br />
Map.Entry entry = (Map.Entry) itr.next();<br />
EObject key = (EObject) entry.getKey();<br />
AnyType value = (AnyType) entry.getValue();<br />
handleUnknownData(key, value);<br />
}<br />
}<br />
<br />
private void handleUnknownData(EObject eObj, AnyType unknownData) {<br />
handleUnknownFeatures(eObj, unknownData.getMixed());<br />
handleUnknownFeatures(eObj, unknownData.getAnyAttribute());<br />
}<br />
<br />
private void handleUnknownFeatures(EObject owner, FeatureMap featureMap) {<br />
for (Iterator iter = featureMap.iterator(); iter.hasNext();) {<br />
FeatureMap.Entry entry = (FeatureMap.Entry) iter.next();<br />
EStructuralFeature f = entry.getEStructuralFeature();<br />
if(handleUnknownFeature(owner, f, entry.getValue())) {<br />
iter.remove();<br />
}<br />
}<br />
}<br />
...<br />
}<br />
</pre></code><br />
<br />
This is an example of a resource handler implementation. It overrides the postLoad() method to handle the unknown features. Unless you want the unknown features to be written back to the model when it is saved, you need to remove the ones you handle from the feature map.<br />
<br />
<code><pre><br />
<extension<br />
point="org.eclipse.emf.ecore.extension_parser"><br />
<parser<br />
class="com.ibm.adt.vce.rules.model.resource.RulesResourceFactoryImpl"<br />
type="rules"/><br />
</extension><br />
</pre></code><br />
<br />
The above plugin extension associates the resource factory with the file extension for our models.<br />
<br />
'''Credits'''<br />
<br />
Kenn Hussey provided the base information for this recipe in a presentation at EclipseCon 2006.<br />
Mike Gering contributed the initial version of this recipe.<br />
<br />
===Recipe: Encryption ===<br />
<br />
'''Problem'''<br />
<br />
You need to encrypt your model during read and write<br />
<br />
'''Solution'''<br />
<br />
EMF has built in encryption<br />
<br />
Requirements:<br />
<br />
* None<br />
<br />
Steps:<br />
<br />
* Create your own factory with the encryption properties set <br />
* register this factory to your model extension<br />
* write and load your model using this factory<br />
<br />
<br />
'''Example'''<br />
<br />
Create an model based on the following interface.<br />
<br />
<br />
<code><pre><br />
package mymodel;<br />
import org.eclipse.emf.ecore.EObject;<br />
/**<br />
* @model<br />
*/<br />
<br />
public interface IPerson extends EObject {<br />
/**<br />
* @model default="";<br />
*/<br />
public String getLastname();<br />
}<br />
</pre> </code><br />
Create the following factory which sets the option for encryption.<br />
<br />
<code><pre> <br />
package factory;<br />
import org.eclipse.emf.common.util.URI;<br />
import org.eclipse.emf.ecore.resource.Resource;<br />
import org.eclipse.emf.ecore.resource.impl.AESCipherImpl;<br />
import org.eclipse.emf.ecore.xmi.XMIResource;<br />
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;<br />
<br />
public class MyXMIFactoryImpl extends XMIResourceFactoryImpl {<br />
@Override<br />
public Resource createResource(URI uri) {<br />
XMIResourceFactoryImpl resFactory = new XMIResourceFactoryImpl();<br />
XMIResource resource = (XMIResource) resFactory.createResource(uri);<br />
try {<br />
resource.getDefaultLoadOptions().put(Resource.OPTION_CIPHER,<br />
new AESCipherImpl("12345"));<br />
resource.getDefaultSaveOptions().put(Resource.OPTION_CIPHER,<br />
new AESCipherImpl("12345"));<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
return resource;<br />
}<br />
}<br />
</pre> </code><br />
<br />
<br />
<br />
Create the following test class. <br />
<br />
<code> <pre><br />
package load;<br />
<br />
import java.io.IOException;<br />
import java.util.Collections;<br />
import java.util.Map;<br />
import mymodel.IPerson;<br />
import mymodel.MymodelFactory;<br />
import mymodel.impl.MymodelPackageImpl;<br />
import org.eclipse.emf.common.util.URI;<br />
import org.eclipse.emf.ecore.resource.Resource;<br />
import org.eclipse.emf.ecore.resource.ResourceSet;<br />
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;<br />
import factory.MyXMIFactoryImpl;<br />
<br />
public class Create {<br />
public void create() {<br />
MymodelPackage.eINSTANCE.eClass();<br />
// Retrieve the default factory singleton<br />
MymodelFactory factory = MymodelFactory.eINSTANCE;<br />
<br />
// Create the content of the model via this program<br />
IPerson person = factory.createIPerson();<br />
<br />
person.setLastname("Lars");<br />
// Register the XMI resource factory for the .website extension<br />
Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;<br />
Map<String, Object> m = reg.getExtensionToFactoryMap();<br />
m.put("person", new MyXMIFactoryImpl());<br />
<br />
// Obtain a new resource set<br />
ResourceSet resSet = new ResourceSetImpl();<br />
<br />
// Create a resource<br />
Resource resource = resSet.createResource(URI<br />
.createURI("mymodel.person"));<br />
resource.getContents().add(person);<br />
<br />
// Now save the content.<br />
try {<br />
resource.save(Collections.EMPTY_MAP);<br />
} catch (IOException e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
public void load() {<br />
// Initialize the model<br />
MymodelPackage.eINSTANCE.eClass();<br />
// Register the XMI resource factory for the .website extension<br />
Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;<br />
Map<String, Object> m = reg.getExtensionToFactoryMap();<br />
m.put("person", new MyXMIFactoryImpl());<br />
ResourceSet resSet = new ResourceSetImpl();<br />
Resource resource = resSet.getResource(URI<br />
.createURI("mymodel.person"), true);<br />
try {<br />
IPerson person= (IPerson) resource.getContents().get(0);<br />
System.out.println(person.getLastname());<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
public static void main(String[] args){<br />
Create test = new Create();<br />
test.create();<br />
test.load();<br />
}<br />
}<br />
<br />
</pre> </code><br />
<br />
'''Credits'''<br />
Lars Vogel wrote the initial version of this tutorial on http://www.vogella.de/articles/EclipseEMF/article.html#emfencryption and placed it into this wiki<br />
<br />
<br />
===Recipe: Using EMF for SOAP / Compatibility between EMF XML and Axis or JAX XML ===<br />
<br />
'''Problem'''<br />
<br />
You need build a SOAP service and you want to use EMF. Unfortunately, the XML generated by EMF vs the XML Generated by Axis/JAX don't seem to be compatible.<br />
<br />
'''Solution'''<br />
<br />
EMF defaults to working with complexTypes. Axis/JAX default to working with elements that are instances of those complex types. All you need to do is tell EMF that you want to use elements and everything works fine.<br />
<br />
*Requirements:*<br />
<br />
None<br />
<br />
*Steps:*<br />
<br />
The most important thing is to understand the difference between a complex type declaration and a global element declaration in XSD.<br />
<br />
Basically the problem is that soap wants globally declared elements where EMF simply wants complexType definitions. I think of this as SOAP using 'instances' of types where as EMF usually works just with the 'types'.<br />
<br />
Fortunately, EMF is brilliant and can work with the globally declared elements that SOAP needs. You just have to tell it what you want to do. Here's an example:<br />
<br />
Say you have a type such as this:<br />
<code> <pre><br />
<xsd:complexType name='MathCalculateRequest' ><br />
<xsd:complexContent><br />
<xsd:extension base='com.vsp.ancillary.model.service:BaseRequest'><br />
<xsd:sequence><br />
<xsd:element<br />
name='exampleField'<br />
type='xsd:string'<br />
default='exampleValue'<br />
><br />
</xsd:element><br />
</xsd:sequence><br />
</xsd:extension><br />
</xsd:complexContent><br />
</xsd:complexType><br />
</pre></code><br />
This is enough for EMF, but not enough for compatibility with Axis.<br />
For Axis you also need this:<br />
<br />
<code> <pre><br />
<!-- declared globally inside your schema tag --><br />
<!-- after the complexType is defined --><br />
<xsd:element name='MathCalculateRequestTag'<br />
type='com.vsp.math.model.soap:MathCalculateRequest'/><br />
</pre></code><br />
This declares that MathCalculateRequestTag is an instance of MathCalculateRequest (the type). SOAP and Axis can work with MathCalculateRequestTag and have no trouble at all.<br />
<br />
Elements like this are manipulated using a DocumentRootImpl java object that will get generated along with your model. Here's how your code will change.<br />
<br />
BTW, we wrap all of our EMF conversion code in a utility called SoapUtil.convertEMFtoString() and convertStringtoEMF(). I assume you have a similar conversion method. This technique does NOT change those methods. However it does change what is returned as you can see here:<br />
<br />
<code><pre><br />
// Pre-Element tag XML to EMF conversion:<br />
// input holds a <MathCalculateRequest><br />
MathCalculateRequest foo = (MathCalculateRequest)util.convertStringToEMF(input);<br />
</pre></code><br />
<br />
<code><pre><br />
// Post-Element tag XML to EMF conversion:<br />
// input holds a <MathCalculateRequestTag><br />
DocumentRoot docRoot = (DocumentRoot)util.convertStringToEMF(input);<br />
MathCalculateRequest docRoot = dt.getMathCalculateRequestTag();<br />
</pre></code><br />
<br />
All you have to do is use DocumentRootImpl and all your SOAP compatibility problems will go away.<br />
If you read the XSD specs it makes sense why SOAP and EMF work the ways that they do. You just need to use the DocumentRoot as a bridge. Be aware that you need the DocumentRoot in both directions. For example both converEMFtoString() and convertStringToEMF() will take/return a DocumentRoot. Alternately you might have convertEMFtoDOM() and convertDOMtoEMF() depending on if you're using strings or DOM nodes.<br />
<br />
'''NB:''' You must set the extended meta data option while loading the EMF resource. This will cause EMF to create a DocumentRoot instance and de-serialize the XML instance returned by the SOAP service as one of the DocumentRoot features (the feature which corresponds to the root element of the XML instance). If you don't set this option, EMF will try to load a class with the same name as the root element of the XML instance-- a class that most likely does not exist in your model. Here's how the resource load command can be implemented.<br />
<br />
<code><pre><br />
Map<String, Object> opts = new HashMap<String, Object>();<br />
opts.put(XMLResource.OPTION_EXTENDED_META_DATA, new Boolean(true));//or you could specify an ExtendedMetaData instance<br />
Resource resource = ...<br />
InputStream is = ...<br />
resource.load(is, opts);<br />
</pre></code><br />
<br />
EMF is FANTASTIC for doing SOAP/SOA work. The models generated are far better than what you get with the other tooling plus it handles references which can *dramatically* reduce the size of your XML payload. With the ability to do diffs and change-tracking EMF becomes a huge win for SOAP.<br />
<br />
<br />
*Suggested Reading:*<br />
<br />
XSD not the same as other languages, but a surprising number of SOAP developers have only a cursory understanding of XSD. This link provides an extremely thorough and comprehensible tour of XSD.<br />
http://www.xfront.com/xml-schema.html<br />
<br />
==EMF Reflective API recipes==<br />
=== Recipe: Copying models from an EPackage implementation to another one ===<br />
<br />
'''Problem'''<br />
You've got two EPackage java implementation and you want to copy a model from one to the other.<br />
<br />
<br />
'''Solution'''<br />
Create a specific EcoreUtil.Copier redefining <br />
<code><pre><br />
protected EClass getTarget(EClass class1) {<br />
..<br />
}<br />
</pre></code><br />
<br />
and <br />
<code><pre><br />
protected EStructuralFeature getTarget(EStructuralFeature structuralFeature) {<br />
..<br />
}<br />
</pre></code><br />
<br />
to return your target EPackages instances.<br />
<br />
----<br />
<br />
==EMF databinding Recipes==<br />
===Recipe: JFace Viewers and 1:n associations===<br />
<br />
'''Problem'''<br />
<br />
You need to display the n-side of a 1:n association in a JFace Viewer. The Viewer needs to handle changes to the n-cardinality as well as changes to the n objects themself.<br />
<br />
'''Solution'''<br />
<br />
A combination of EMF's ObservableListContentProvider and the JFace's ObservableMapLabelProvider<br />
<br />
Requirements:<br />
<br />
EMF 2.4 (currently HEAD because of [https://bugs.eclipse.org/bugs/show_bug.cgi?id=216440 #216440])<br />
<br />
'''Example'''<br />
<br />
Display the Collection (more precisely an EList) of Addresses a Person object owns (Person#addresses) in a JFace TableViewer. Modifications to the EList as well as Address objects need to be handled.<br />
<br />
<code><pre><br />
// The model object which should be shown<br />
Person aPerson = ModelFactory.eINSTANCE.createPerson();<br />
...<br />
<br />
// The content provider is responsible to handle add and<br />
// remove notification for the Person#address EList<br />
ObservableListContentProvider provider = new ObservableListContentProvider();<br />
viewer.setContentProvider(provider);<br />
<br />
// The label provider in turn handles the addresses<br />
// The EStructuralFeature[] defines which fields get shown<br />
// in the TableViewer columns<br />
IObservableSet knownElements = provider.getKnownElements();<br />
IObservableMap[] observeMaps = EMFObservables.<br />
observeMaps(knownElements, new EStructuralFeature[] {<br />
ModelPackage.Literals.PERSON_ADDRESS__STREET,<br />
ModelPackage.Literals.PERSON_ADDRESS__NUMBER,<br />
ModelPackage.Literals.PERSON_ADDRESS__ZIP,<br />
ModelPackage.Literals.PERSON_ADDRESS__COUNTRY);<br />
ObservableMapLabelProvider labelProvider =<br />
new ObservableMapLabelProvider(observeMaps);<br />
viewer.setLabelProvider(labelProvider);<br />
<br />
// Person#addresses is the Viewer's input<br />
viewer.setInput(EMFObservables.observeList(Realm.getDefault(), aPerson,<br />
ModelPackage.Literals.PERSON_ADDRESSES));<br />
</pre></code><br />
<br />
'''References'''<br />
<br />
* blog post motivating this recipe: [http://www.lemmster.de/blog/index.php/2008/01/28/165/]<br />
<br />
----<br />
[[Category:Modeling]]<br />
[[Category:EMF]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Java_9_Readiness&diff=415479Java 9 Readiness2017-03-29T15:05:35Z<p>Derek.toolan.eclipse.org: Merge edit by Marvin.mueller.bredex.de</p>
<hr />
<div>This wiki page explains how projects can check whether they are ready for Java 9 and documents the state for each [[Simultaneous Release|release train]] project. The page also indicates which projects will provide new support for Java 9, e.g. Eclipse JDT. Those projects are expected to contribute to what we will offer once Java 9 goes GA. Note that at this point, the Planning Council did not yet decide how to do that.<br />
<br />
The biggest feature in Java 9 is the Java Platform Module System, a.k.a. Jigsaw. With this, access to internal code of the Java runtime will no longer work. The Planning Council requests every release train project to check whether they use internal code from the Java runtime, or whether they use a library (most likely from Orbit), that does so.<br />
<br />
Java 9 uses *.jmod to package libraries as modules. The Java 8 version of JDT can't handle modules and so can't recognize a Java 9 JRE/JDK. Unfortunately licensing issues prevent JDT distributing Java 9 support until Java 9 GA. Consequently use of Java 9 prior to GA is not as trivial as one might expect.<br />
<br />
There are several things you can do to check the readiness for Java 9.<br />
<br />
=== Configure Eclipse for Java 9 ===<br />
<br />
====Download Java 9====<br />
You need to download and install a Java 9 VM, e.g. from https://jdk9.java.net/. <br />
<br />
====Configure Eclipse to run on Java 9 VM====<br />
Unless you have Java 9 on your system path, you need to specify the use of your Java VM. If you already do this, simply replace it with a Java 9 VM. Otherwise it can easily be done by adding something like:<br />
<pre>-vm<br />
C:\Program Files\Java\jdk-9\bin\javaw.exe</pre><br />
following the ''--launcher.appendVmargs'' line to the eclipse.ini.<br />
<br />
====Configure Eclipse for Java 9 modules====<br />
Since the Eclipse SDK uses types that aren't in the java.base module, you need to add the following vmargs to eclipse.ini:<br />
'''--add-modules=ALL-SYSTEM'''<br />
This step will no longer be necessary with 4.7 M7 and newer, as the launcher will add this by default ({{bug|493761}}).<br />
Your project might fail to run because you use types that are neither in java.base or java.se.ee, e.g. types from javafx.base. In that case you have to figure out which module(s) you need to add with --add-modules.<br />
* Only works in JDK 8, but not in JDK 9: Run <code>jdeps <i>fully.qualified.classname</i></code><br />
* In Eclipse with Java 9 Support (BETA) for Oxygen (see below), you can open the type in a JavaSE-9 JRE and perform Show In > Package Explorer. Inside the "JRE System Library" node, the Package Explorer will show the module in which that type resides.<br />
<br />
====eclipse.ini summary====<br />
Your eclipse.ini should contain something like:<br />
<pre>--launcher.appendVmargs<br />
-vm<br />
C:\Program Files\Java\jdk-9\bin\javaw.exe<br />
-vmargs<br />
-Dosgi.requiredJavaVersion=1.8<br />
--add-modules=ALL-SYSTEM</pre><br />
<br />
==== Install Eclipse Java 9 Support (BETA) ====<br />
This is useful if you have to debug problems, e.g. when it fails to run your project.<br />
<br />
This is essential if you want to run JUnit tests in the Eclipse IDE using Java 9.<br />
<br />
We recommend to install the support via https://marketplace.eclipse.org/content/java-9-support-beta-oxygen/ because it is crucial that the Eclipse install, the Java 9 VM and the patch match. If you are not using an EPP with a pre-installed '''Marketplace Client''', you must install it first (from the '''General Purpose Tools''' category of the '''http://download.eclipse.org/releases/oxygen''' P2 repo).<br />
<br />
Another way to install it is to use Ed's Oomph based installer described here: https://dev.eclipse.org/mhonarc/lists/cross-project-issues-dev/msg14178.html.<br />
<br />
==== Specify a Java 9 JRE ====<br />
Use Window->Preferences->Java->Install JREs to make your Java 9 VM available within Eclipse.<br />
<br />
You may want to associate Java 9 with some Execution Environments to force a rebuild using Java 9.<br />
<br />
=== Run your tests with Java 9 ===<br />
<br />
You can do this locally or soon on Hudson. A Java 9 VM will hopefully be available on Hudson soon ({{bug|513618}}). <br />
To launch tests or self-hosted applications locally from your IDE with a Java 9 JRE, you need to [[#Install Eclipse Java 9 Support (BETA)|install]] the Java 9 BETA support to configure an Installed JRE that points at a Java 9 JRE or JDK.<br />
<br />
For JUnit (standalone) tests, you should specify a Java 9 execution environment on the JRE launch configuration tab.<br />
<br />
For JUnit Plugin tests, you should specify a Java 9 execution environment on the Main launch configuration tab and<br />
as noted above, you must add "--add-modules=java.se.ee" to the VM arguments on the Arguments tab..<br />
<br />
=== Check whether your project or required libraries use internals of the Java VM ===<br />
<br />
Since Java 8 there is a tool that allows you to check whether you use internals of the Java VM. It is called <code>jdeps(.exe)</code>. There are two ways you can check your code / repository:<br />
* There is an Apache Maven JDeps Plugin (https://maven.apache.org/plugins/maven-jdeps-plugin/)<br />
* The Eclipse Platform project has created a script (https://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/plain/production/reports/jdepsReport.sh) that calls jdeps during the build and generates a report. I suggest to use that approach. Please contact Sravan Lakkimsetti if you have any problems with this script.<br />
<br />
NOTE:<br />
<br />
1) We made an initial scan of the Oxygen (4.7) M5 release train repository and most of the violations are in third-party code. You have to work with the providers of the libraries to get this fixed or find an alternative approach.<br />
<br />
2) https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool lists alternatives that can be used instead of the internal code. You can see in this list that there's not a replacement for every issue, e.g. sun.misc.Unsafe has no replacement and continues to work, at least for now.<br />
<br />
=== Reflection hacks ===<br />
<br />
Unfortunately jdeps does not detect access to internals made via reflection. You have to check your code for such cases and fix them.<br />
<br />
=== Java 9 Readiness ===<br />
<br />
If a release train project is not listed here, it means it has not been checked yet, and you have to assume it won't run on Java 9. If something does not work, it should be covered by a bug report.<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Project<br />
! scope="col"| Contact<br />
! scope="col"| Runs on Java 9<br />
! scope="col"| Adds Java 9 Support<br />
|-<br />
! Eclipse Project (Platform, JDT, PDE)<br />
| Dani Megert<br />
| Yes, but the module java.se.ee needs to be added and we have an open issue with some Platform UI tests due to org.objenesis ({{bug|508734}}).<br />
| Yes, new code to support Java 9 development, compilation, and debugging will be delivered.<br />
|-<br />
! Web Tools Platform (WTP)<br />
| Carl Anderson<br />
| Not yet tested<br />
| Yes, new code to support Java 9 facets will be delivered<br />
|-<br />
! EclEmma<br />
| Evgeny Mandrikov<br />
| Yes<br />
| Yes, ability to measure code coverage by tests that are executed on Java 9 will be delivered.<br />
|-<br />
! Code Recommenders<br />
| Andreas Sewe<br />
| Yes @ M7 ({{bug|513634}})<br />
| Not planned yet (and blocked by {{bug|514393}} and {{bug|514394}}).<br />
|-<br />
! Automated Error Reporting<br />
| Andreas Sewe<br />
| Yes<br />
| n/a<br />
|-<br />
! Object Constraint Language (OCL)<br />
| Ed Willink<br />
| Yes @ M7.<br />
| n/a<br />
|-<br />
! Declarative QVT (QVTd)<br />
| Ed Willink<br />
| Yes @ M7.<br />
| n/a<br />
|-<br />
! Eclipse for Testers<br />
| Marvin Mueller<br />
| No / Yes if using "--permit-illegal-access"<br />
| Not planned yet.<br />
|-<br />
|}<br />
Known state of Orbit Bundles.<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Bundle<br />
! scope="col"| Version<br />
! scope="col"| Runs on Java 9<br />
! scope="col"| Supports Java 9<br />
|-<br />
! org.objectweb.asm<br />
| 5.2.0<br />
| Yes.<br />
| No. The ClassReader throws an IAE for greater than Opcodes.V1_8.<br />
Workaround: in JaCoCo - see https://github.com/jacoco/jacoco/blob/v0.7.9/org.jacoco.core/src/org/jacoco/core/internal/Java9Support.java#L101<br />
This is safe, because Java 9 does not introduce any new instructions.<br />
Version can be restored after bytecode generation/modification - see https://github.com/jacoco/jacoco/blob/v0.7.9/org.jacoco.core/src/org/jacoco/core/internal/Java9Support.java#L112<br />
|-<br />
! .<br />
| .<br />
| .<br />
|}</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_IoT_Day_Grenoble_2017&diff=414970Eclipse IoT Day Grenoble 20172017-03-09T20:56:07Z<p>Derek.toolan.eclipse.org: Merge edit by Apupier.redhat.com</p>
<hr />
<div>SAVE THE DATE : March 9-10 , 2017<br />
<br />
After the success of the [[Eclipse_IoT_Day_Grenoble_2014|IoT Day 2014]], [[Eclipse_IoT_Day_Grenoble_2015|IoT Day 2015]] and [[Eclipse_IoT_Day_Grenoble_2016|IoT Day 2016]], we are back for a third edition! This year, we will have a two-day event, with a combination of talks and tutorials.<br />
<br> <br />
<br />
We are working on putting together the program so please contact us if you want to present at the event:<br />
* Benjamin Cabé, Eclipse Foundation: benjamin at eclipse dot org<br />
* Gaël Blondelle, Eclipse Foundation: gael dot blondelle at eclipse dot org<br />
* Didier Donsez, LIG/UGA: didier dot donsez at imag dot fr<br />
* Serge Imbert-Bouchard, Clust'R Numérique s dot imbert-bouchard at leclustr dot org<br />
<br />
= DATE &amp; LOCATION =<br />
<br />
March 9-10 , 2017<br />
<br />
IMAG Building, Domaine Universitaire, 38400 Saint Martin d'Hères<br />
<br />
Access : https://www.liglab.fr/fr/util/acces-au-lig/batiment-imag<br />
<br />
Twitter : [https://twitter.com/search?q=%23iotday Twitter]<br />
<br />
= REGISTRATION =<br />
<br />
Registration form : http://www.leclustr.org/inscription-a-eclipse-iot-days-des-9-et-10-mars-2017<br />
<br />
The event is free but the registration is mandatory. Please inform us if you cancel your participation.<br />
<br />
= SUPPORTING ORGANIZATIONS =<br />
== Organizers ==<br />
[[Image:Eclipse_logo_colour.png|link=http://eclipse.org]] &nbsp; &nbsp;&nbsp; [[Image:LogoLe-ClustR-Baseline.png|200px|link=http://www.leclustr.org/]] &nbsp; &nbsp;&nbsp; [[Image:Logo-LIG.png|80px|link=http://www.liglab.fr]] &nbsp; &nbsp;&nbsp; [[Image:Logo-UGA.jpg|160px|link=http://www.univ-grenoble-alpes.fr/]] &nbsp; &nbsp;&nbsp; [[Image:Logo-GINP.png|160px|link=http://www.grenoble-inp.fr/]]<br />
<br />
==Sponsors==<br />
<br />
[[Image:Eclipse_logo_colour.png|link=http://eclipse.org]] &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; [[Image:Logo-UGA.jpg|160px|link=http://www.univ-grenoble-alpes.fr/]] &nbsp; &nbsp;&nbsp; [[Image:Logo-GINP.png|160px|link=http://www.grenoble-inp.fr/]] &nbsp;&nbsp; [[Image:Logo-Festival.png|110px|link=http://www.festival-project.eu/?page_id=121]] &nbsp;&nbsp; [[Image:Logo-CEA.jpg|90px|link=http://www.cea.fr]]<br />
<br />
<br />
SPONSORS ARE WELCOME : CONTACT US !<br />
<br />
= VIDEOS =<br />
Live streaming here : https://mi2s.imag.fr/pm/direct<br />
<br />
= AGENDA :: Thursday 9 =<br />
==08:30 : Registration==<br />
<br />
==09:00-12:00 : Morning session==<br />
09:00 - Gaël Blondelle [https://www.linkedin.com/in/gblondelle/ in], Eclipse Foundation, Eclipse IoT News & Eclipse IoT Whitepaper.<br />
<br />
10:00 - Levent Gürgen [https://www.linkedin.com/in/levent-g%C3%BCrgen-6aa892102/ in], CEA, [https://projects.eclipse.org/proposals/eclipse-sensinact sensiNact], an open IoT platform for smarter cities. [[Media:sensiNact-EclipseIoTDays-Grenoble-20170308.pdf|slides]]<br />
<br />
10:30 - Coffee break<br />
<br />
11:00 - Ludovic Poitou [https://www.linkedin.com/in/ludovicp/ in], ForgeRock, Identity of Things: Identity Management in IoT. [[Media:IdentityOfThings.pdf|slides]]<br />
<br />
11:30 - Aurélien Pupier [https://www.linkedin.com/in/aurelienpupier/ in], Red Hat, Classic middleware integration for your IoT integration aka [http://camel.apache.org/ Apache Camel] for [https://www.eclipse.org/kura/ Eclipse Kura].<br />
* Apache Camel is a well-established Integration framework, let's see how to leverage it in the IoT world. I will focus on Eclipse Kura and how to leverage the existing tooling for Camel provided by Fuse Tooling to develop [https://www.eclipse.org/kura/ Eclipse Kura] service. [[Media:EclipseKuraAndApacheCamel.pdf|slides]]<br />
<br />
==12:00-13:30 : Lunch==<br />
<br />
==13:30-17:30 : Afternoon session==<br />
<br />
13:30 - Anthony Charbonnier [https://www.linkedin.com/in/anth0/ in], Sigfox, Getting started LPWAN with Sigfox. [[Media:SigfoxEclipseIoTDaysGrenoble.pdf|slides]]<br />
<br />
13:55 - Nicolas Damour [https://www.linkedin.com/in/nicolasdamour/ in], Sierra Wireless, Standardized LPWA connectivity: LTE-M, NB-IoT and EC-GSM-IoT [[Media:LTE-M_NB-IoT_and_EC-GSM-IoT_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* The last 5 years have seen a tremendous increase in the interest for Low Power, Wide Area (LPWA) connectivity technologies designed to connect IoT Devices on a global scale in an easy, efficient and cost effective way. This presentation introduces the latest standardized LPWA technologies that are being rolled out onto cellular networks throughout the world in 2017: 4G LTE-M, 4G NB-IOT and 2G EC-GSM-IOT. It will provide technical details on how these technologies fulfill the “promise of the 3 C’s: Consumption, Coverage and Cost”, while leveraging the advantages of the existing cellular networks such as widespread adoption, security and long-term availability. <br />
14:20 - LPWAN Mini Panel<br />
<br />
14:40 - Laurent Lagosanto [https://www.linkedin.com/in/llagosan/ in], MicroEJ: "Using Java for small devices in IoT, Eclipse Edje, MQTT". [[Media:EdjeIoTDaysGrenoble.pdf|slides]]<br />
<br />
15:10 - Frédéric Rivière [https://www.linkedin.com/in/fredericriviere/ in], MicroEJ: "Getting started with LWM2M / MQTT". [[Media:LWM2M_MQTT_EclipseIoTDaysGrenoble.pdf|slides]]<br />
<br />
15:40 - Coffee break<br />
<br />
16:00 - Alexandre Abadie [https://www.linkedin.com/in/alexandreabadie/ in], INRIA Saclay, "RIOT OS and the Evolution of IoT Operating Systems & Applications". [[Media:RIOTOS_EclipseIoTDaysGrenoble.pdf|slides]]<br />
<br />
16:30 - Sébastien Bolle [https://www.linkedin.com/in/s%25C3%25A9bastien-bolle-6a088546/ in], Orange, Smart Device Template - An abstraction layer for IoT objects - Implementation in [https://www.eclipse.org/om2m/ Eclipse OM2M] [[Media:Orange_OM2M_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Using an abstraction layer for breaking IoT silos and enabling IoT object sharing<br />
<br />
17:00 - Borja Sixto [https://www.linkedin.com/in/bsixto/ in], Ulex Innovative Systems, Voximal : Appelez et parlez avec votre objet connecté [[Media:Voximal_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Une nouvelle expérience utilisateur : Appelez et dites simplement, "Allume la lumière de ma chambre." Présentation de Voximal une solution logicielle qui permet de parler à son objet connecté au travers d'un appel téléphonique. Voximal intègre des ressources télécoms et vocales pour établir un dialogue en langage naturel à l'aide du langage standard VoiceXML.<br />
<br />
17:20 - Richard Phan [https://www.linkedin.com/in/richardphan/ in], INVENTHYS, Retour d'expérience sur Octopus by Joy (http://www.octopus.watch) [[Media:Octopus_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Comment industrialiser un proto en 3 mois et lancer une production en série 6 mois après. Inventhys a conçu l'électronique et géré le projet d'intégration mécanique / industrialisation<br />
<br />
17:40 - Frédéric Bard [https://www.linkedin.com/in/fredericbard/ in], Veyado, From a signal processing to embedded system. [[Media:Veyado_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Example of prototyping algorithm using MATLAB/SCILAB and ECLIPSE environment, passing from the Labo demo to an embedded POC , translating M,SCI, to C code, from double to simple precision."<br />
<br />
18:00 - Conclusion<br />
<br />
==18:10-19:30 : Networking cocktail==<br />
<br />
= AGENDA :: Friday 10 : Hack Day=<br />
<br />
Attendees could prototype tangible ''things'' with the [http://fabmstic.liglab.fr/ fabMSTIC] fablab tools. <br />
<br />
''Bring Your Own Computer (BYOC): Don't forget it ! and an EU plug adapter ''<br />
<br />
Classrooms for the workshops into the IMAG building.<br />
<br />
==Workshops==<br />
<br />
==Registration at 08:30==<br />
==Morning track : 09:00 - 12:00==<br />
<br />
===Getting Started with Sigfox===<br />
<br />
===Getting Started with RIOT on IoT-Lab.===<br />
<br />
Alexandre Abadie [https://www.linkedin.com/in/alexandreabadie/ in], INRIA Saclay, Gaëtan Harter and Frédéric Saint Marcel, INRIA Grenoble,<br />
<br />
This workshop will give you a hands-on introduction to [https://www.iot-lab.info IoT-Lab] usage and to IoT network configuration with RIOT.<br />
<br />
Learn the base: Start an experiment on IoT-Lab, play with the heterogeneous hardware available and do some advanced networking with open standards adapted to IoT using RIOT.<br />
<br />
https://www.iot-lab.info/iot-days-grenoble-2017-tutorial/<br />
<br />
===Getting Started with FESTIVAL Experimentation platform ===<br />
<br />
[http://www.festival-project.eu FESTIVAL] project brings together European and Japanese testbeds that allow access to various resources such as open data, IoT, IT and living lab resources.<br />
<br />
The FESTIVAL platform is targeting experimenters to allow them taking benefit of this rich set of European and Japanese resources via a unique tool accessing heterogeneous set of resources in a uniform and federated way, and use, compose and extend those resources for validating their research in close to real-life conditions in a multi-device, multi-protocol and multi-cultural environment.<br />
<br />
http://www.festival-project.eu/en/?page_id=941<br />
<br />
This Hand-on session of the FESTIVAL platform will help developers to discover the FESTIVAL platform offer, and to access and use the resources in the future for their research and development purpose.<br />
<br />
Even if the platform is still under continuous development, it already provides a long list of resources. We expect to gather valuable feedback from the participants for its further versions.<br />
<br />
In order to better understand the workflow for experimentation setup you can refer to Festival project web page http://www.festival-project.eu/en/?page_id=1424. This workflow will be followed during this track to use the resources supported by the platform<br />
<br />
==Lunch : 12:00 - 13:00 (Room Foyer)==<br />
==Afternoon track : 13:00 - 16:00==<br />
<br />
===Getting Started with sensiNact===<br />
<br />
sensiNact consists of a software platform enabling the collection, processing and redistribution of any data relevant for improving the quality of life of urban citizens, programming interfaces allowing different modes of access to data (on-demand, periodic, historic, etc.) and application development and deployment tools to easily and rapidly build innovative applications on top of the platform.<br />
<br />
More technical information about the platform can be found at: http://open-platforms.eu/library/sensinact-aka-butler-smart-gateway/#description<br />
<br />
sensiNact is currently in use in several collaborative projects in application domains such as smart city, smart building, smart ski station, smart living and well ageing, smart farming, etc.<br />
<br />
sensiNact is joining to the Eclipse community: https://projects.eclipse.org/proposals/eclipse-sensinact<br />
<br />
<br />
In this session, the participants will learn how to use sensiNact (via REST APIs or using an Eclipse based tool) and to create simple applications to interact with various physical devices (sensors and actuators) with connectivity support to today’s various IoT protocols and platforms such as LORA, Zigbee, IEEE 802.15.4, Sigfox, enOcean, MQTT, XMPP, NGSI, HTTP, CoAP, etc.<br />
<br />
With its modular approach, connectivity support for new protocols can be rapidly developed and dynamically added to the platform, even at run-time. available for the developers. The participants will thus also learn how to rapidly create support for new communication protocols and integrate it to the sensiNact platform.<br />
<br />
<br />
Participants expected to install VirtualBox (at least 5.0) with Guest Additions installed and Maven (at least 3.3) before the session.<br />
<br />
===Getting Started with RIOT on IoT-Lab===<br />
<br />
Alexandre Abadie [https://www.linkedin.com/in/alexandreabadie/ in], INRIA Saclay, Gaëtan Harter and Frédéric Saint Marcel, INRIA Grenoble,<br />
<br />
This workshop will give you a hands-on introduction to [https://www.iot-lab.info IoT-Lab] usage and to IoT network configuration with RIOT.<br />
<br />
Learn the base: Start an experiment on IoT-Lab, play with the heterogeneous hardware available and do some advanced networking with open standards adapted to IoT using RIOT.<br />
<br />
=Downtown Hotels=<br />
15 minutes from the Campus by Tram. 10 minutes max for the railway station by Tram.<br />
<table class="Style15"><br />
<br />
<tr><br />
<td>Residhome Grenoble Caserne de Bonne</td><br />
<td>21 Rue Lazare Carnot, 38100 Grenoble</td><br />
<td>Tel: +33 4 76 86 88 88</td><br />
<td>[http://www.residhome.com/residence-hoteliere-aparthotel-grenoble-194.html website]</td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel de l'Europe </td><br />
<td>22 place Grenette, 38000 Grenoble </td><br />
<td>Tel +33 4 76 46 16 94 </td><br />
<td>[http://www.hoteleurope.fr website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Angleterre </td><br />
<td>5 Place Victor Hugo, 38000 Grenoble </td><br />
<td>Tel +33 4 38 88 40 40 </td><br />
<td>[http://www.hotel-angleterre-grenoble.com website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Ibis Grenoble Centre </td><br />
<td>5 Rue de Miribel, 38000 Grenoble </td><br />
<td>Tel +33 4 76 47 48 49 </td><br />
<td>[http://www.accorhotels.com/fr/hotel-0612-ibis-grenoble-centre/index.shtml website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Gambetta </td><br />
<td>59 Boulevard Gambetta, 38000 Grenoble </td><br />
<td>Tel +33 4 76 87 22 25 </td><br />
<td>[http://www.hotel-gambetta-grenoble.com website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hotel Europole </td><br />
<td>29 Rue Pierre Semard, 38000 Grenoble </td><br />
<td>Tel +33 4 76 49 51 52 </td><br />
<td>[http://www.hoteleuropole.com website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Alizé</td><br />
<td>1 Rue Amiral Courbet, 38000 Grenoble</td><br />
<td>Tel +33 4 76 43 12 91</td><br />
<td>[http://www.hotelalize.com website]</td><br />
<td></td><br />
</tr><br />
<br />
</table><br />
<br />
=Gallery Eclipse IoT 2017=<br />
<gallery><br />
File:ThePolytechStudentOrgTeam2017.jpg<br />
</gallery><br />
<br />
<br />
=Gallery Eclipse IoT 2016=<br />
<gallery><br />
File:EclipseDayParis2016-2.jpg<br />
File:EclipseDayGrenoble2016-9.jpg<br />
File:EclipseDayGrenoble2016-10.jpg<br />
File:EclipseDayParis2016-1.jpg<br />
File:EclipseDayParis2016-4.jpg<br />
File:EclipseDayGrenoble2016-5.jpg<br />
File:EclipseDayGrenoble2016-6.jpg<br />
File:DSC00037.JPG<br />
File:EclipseDayGrenoble2016-7.jpg<br />
File:EclipseDayGrenoble2016-8.jpg<br />
File:ThePolytechStudentOrgTeam.JPG<br />
</gallery></div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_IoT_Day_Grenoble_2017&diff=414969Eclipse IoT Day Grenoble 20172017-03-09T20:54:41Z<p>Derek.toolan.eclipse.org: Merge edit by Levent.gurgen.gmail.com</p>
<hr />
<div>SAVE THE DATE : March 9-10 , 2017<br />
<br />
After the success of the [[Eclipse_IoT_Day_Grenoble_2014|IoT Day 2014]], [[Eclipse_IoT_Day_Grenoble_2015|IoT Day 2015]] and [[Eclipse_IoT_Day_Grenoble_2016|IoT Day 2016]], we are back for a third edition! This year, we will have a two-day event, with a combination of talks and tutorials.<br />
<br> <br />
<br />
We are working on putting together the program so please contact us if you want to present at the event:<br />
* Benjamin Cabé, Eclipse Foundation: benjamin at eclipse dot org<br />
* Gaël Blondelle, Eclipse Foundation: gael dot blondelle at eclipse dot org<br />
* Didier Donsez, LIG/UGA: didier dot donsez at imag dot fr<br />
* Serge Imbert-Bouchard, Clust'R Numérique s dot imbert-bouchard at leclustr dot org<br />
<br />
= DATE &amp; LOCATION =<br />
<br />
March 9-10 , 2017<br />
<br />
IMAG Building, Domaine Universitaire, 38400 Saint Martin d'Hères<br />
<br />
Access : https://www.liglab.fr/fr/util/acces-au-lig/batiment-imag<br />
<br />
Twitter : [https://twitter.com/search?q=%23iotday Twitter]<br />
<br />
= REGISTRATION =<br />
<br />
Registration form : http://www.leclustr.org/inscription-a-eclipse-iot-days-des-9-et-10-mars-2017<br />
<br />
The event is free but the registration is mandatory. Please inform us if you cancel your participation.<br />
<br />
= SUPPORTING ORGANIZATIONS =<br />
== Organizers ==<br />
[[Image:Eclipse_logo_colour.png|link=http://eclipse.org]] &nbsp; &nbsp;&nbsp; [[Image:LogoLe-ClustR-Baseline.png|200px|link=http://www.leclustr.org/]] &nbsp; &nbsp;&nbsp; [[Image:Logo-LIG.png|80px|link=http://www.liglab.fr]] &nbsp; &nbsp;&nbsp; [[Image:Logo-UGA.jpg|160px|link=http://www.univ-grenoble-alpes.fr/]] &nbsp; &nbsp;&nbsp; [[Image:Logo-GINP.png|160px|link=http://www.grenoble-inp.fr/]]<br />
<br />
==Sponsors==<br />
<br />
[[Image:Eclipse_logo_colour.png|link=http://eclipse.org]] &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; [[Image:Logo-UGA.jpg|160px|link=http://www.univ-grenoble-alpes.fr/]] &nbsp; &nbsp;&nbsp; [[Image:Logo-GINP.png|160px|link=http://www.grenoble-inp.fr/]] &nbsp;&nbsp; [[Image:Logo-Festival.png|110px|link=http://www.festival-project.eu/?page_id=121]] &nbsp;&nbsp; [[Image:Logo-CEA.jpg|90px|link=http://www.cea.fr]]<br />
<br />
<br />
SPONSORS ARE WELCOME : CONTACT US !<br />
<br />
= VIDEOS =<br />
Live streaming here : https://mi2s.imag.fr/pm/direct<br />
<br />
= AGENDA :: Thursday 9 =<br />
==08:30 : Registration==<br />
<br />
==09:00-12:00 : Morning session==<br />
09:00 - Gaël Blondelle [https://www.linkedin.com/in/gblondelle/ in], Eclipse Foundation, Eclipse IoT News & Eclipse IoT Whitepaper.<br />
<br />
10:00 - Levent Gürgen [https://www.linkedin.com/in/levent-g%C3%BCrgen-6aa892102/ in], CEA, [https://projects.eclipse.org/proposals/eclipse-sensinact sensiNact], an open IoT platform for smarter cities. [[Media:sensiNact-EclipseIoTDays-Grenoble-20170308.pdf|slides]]<br />
<br />
10:30 - Coffee break<br />
<br />
11:00 - Ludovic Poitou [https://www.linkedin.com/in/ludovicp/ in], ForgeRock, Identity of Things: Identity Management in IoT. [[Media:IdentityOfThings.pdf|slides]]<br />
<br />
11:30 - Aurélien Pupier [https://www.linkedin.com/in/aurelienpupier/ in], Red Hat, Classic middleware integration for your IoT integration aka [http://camel.apache.org/ Apache Camel] for [https://www.eclipse.org/kura/ Eclipse Kura].<br />
* Apache Camel is a well-established Integration framework, let's see how to leverage it in the IoT world. I will focus on Eclipse Kura and how to leverage the existing tooling for Camel provided by Fuse Tooling to develop [https://www.eclipse.org/kura/ Eclipse Kura] service. [[Media:EclipseKuraAndApacheCamel.pdf|slides]]<br />
<br />
==12:00-13:30 : Lunch==<br />
<br />
==13:30-17:30 : Afternoon session==<br />
<br />
13:30 - Anthony Charbonnier [https://www.linkedin.com/in/anth0/ in], Sigfox, Getting started LPWAN with Sigfox. [[Media:SigfoxEclipseIoTDaysGrenoble.pdf|slides]]<br />
<br />
13:55 - Nicolas Damour [https://www.linkedin.com/in/nicolasdamour/ in], Sierra Wireless, Standardized LPWA connectivity: LTE-M, NB-IoT and EC-GSM-IoT [[Media:LTE-M_NB-IoT_and_EC-GSM-IoT_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* The last 5 years have seen a tremendous increase in the interest for Low Power, Wide Area (LPWA) connectivity technologies designed to connect IoT Devices on a global scale in an easy, efficient and cost effective way. This presentation introduces the latest standardized LPWA technologies that are being rolled out onto cellular networks throughout the world in 2017: 4G LTE-M, 4G NB-IOT and 2G EC-GSM-IOT. It will provide technical details on how these technologies fulfill the “promise of the 3 C’s: Consumption, Coverage and Cost”, while leveraging the advantages of the existing cellular networks such as widespread adoption, security and long-term availability. <br />
14:20 - LPWAN Mini Panel<br />
<br />
14:40 - Laurent Lagosanto [https://www.linkedin.com/in/llagosan/ in], MicroEJ: "Using Java for small devices in IoT, Eclipse Edje, MQTT". [[Media:EdjeIoTDaysGrenoble.pdf|slides]]<br />
<br />
15:10 - Frédéric Rivière [https://www.linkedin.com/in/fredericriviere/ in], MicroEJ: "Getting started with LWM2M / MQTT". [[Media:LWM2M_MQTT_EclipseIoTDaysGrenoble.pdf|slides]]<br />
<br />
15:40 - Coffee break<br />
<br />
16:00 - Alexandre Abadie [https://www.linkedin.com/in/alexandreabadie/ in], INRIA Saclay, "RIOT OS and the Evolution of IoT Operating Systems & Applications". [[Media:RIOTOS_EclipseIoTDaysGrenoble.pdf|slides]]<br />
<br />
16:30 - Sébastien Bolle [https://www.linkedin.com/in/s%25C3%25A9bastien-bolle-6a088546/ in], Orange, Smart Device Template - An abstraction layer for IoT objects - Implementation in [https://www.eclipse.org/om2m/ Eclipse OM2M] [[Media:Orange_OM2M_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Using an abstraction layer for breaking IoT silos and enabling IoT object sharing<br />
<br />
17:00 - Borja Sixto [https://www.linkedin.com/in/bsixto/ in], Ulex Innovative Systems, Voximal : Appelez et parlez avec votre objet connecté [[Media:Voximal_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Une nouvelle expérience utilisateur : Appelez et dites simplement, "Allume la lumière de ma chambre." Présentation de Voximal une solution logicielle qui permet de parler à son objet connecté au travers d'un appel téléphonique. Voximal intègre des ressources télécoms et vocales pour établir un dialogue en langage naturel à l'aide du langage standard VoiceXML.<br />
<br />
17:20 - Richard Phan [https://www.linkedin.com/in/richardphan/ in], INVENTHYS, Retour d'expérience sur Octopus by Joy (http://www.octopus.watch) [[Media:Octopus_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Comment industrialiser un proto en 3 mois et lancer une production en série 6 mois après. Inventhys a conçu l'électronique et géré le projet d'intégration mécanique / industrialisation<br />
<br />
17:40 - Frédéric Bard [https://www.linkedin.com/in/fredericbard/ in], Veyado, From a signal processing to embedded system. [[Media:Veyado_EclipseIoTDaysGrenoble.pdf|slides]]<br />
* Example of prototyping algorithm using MATLAB/SCILAB and ECLIPSE environment, passing from the Labo demo to an embedded POC , translating M,SCI, to C code, from double to simple precision."<br />
<br />
18:00 - Conclusion<br />
<br />
==18:10-19:30 : Networking cocktail==<br />
<br />
= AGENDA :: Friday 10 : Hack Day=<br />
<br />
Attendees could prototype tangible ''things'' with the [http://fabmstic.liglab.fr/ fabMSTIC] fablab tools. <br />
<br />
''Bring Your Own Computer (BYOC): Don't forget it ! and an EU plug adapter ''<br />
<br />
Classrooms for the workshops into the IMAG building.<br />
<br />
==Workshops==<br />
<br />
==Registration at 08:30==<br />
==Morning track : 09:00 - 12:00==<br />
<br />
===Getting Started with Sigfox===<br />
<br />
===Getting Started with RIOT on IoT-Lab.===<br />
<br />
Alexandre Abadie [https://www.linkedin.com/in/alexandreabadie/ in], INRIA Saclay, Gaëtan Harter and Frédéric Saint Marcel, INRIA Grenoble,<br />
<br />
This workshop will give you a hands-on introduction to [https://www.iot-lab.info IoT-Lab] usage and to IoT network configuration with RIOT.<br />
<br />
Learn the base: Start an experiment on IoT-Lab, play with the heterogeneous hardware available and do some advanced networking with open standards adapted to IoT using RIOT.<br />
<br />
https://www.iot-lab.info/iot-days-grenoble-2017-tutorial/<br />
<br />
===Getting Started with FESTIVAL Experimentation platform ===<br />
<br />
[http://www.festival-project.eu FESTIVAL] project brings together European and Japanese testbeds that allow access to various resources such as open data, IoT, IT and living lab resources.<br />
<br />
The FESTIVAL platform is targeting experimenters to allow them taking benefit of this rich set of European and Japanese resources via a unique tool accessing heterogeneous set of resources in a uniform and federated way, and use, compose and extend those resources for validating their research in close to real-life conditions in a multi-device, multi-protocol and multi-cultural environment.<br />
<br />
http://www.festival-project.eu/en/?page_id=941<br />
<br />
This Hand-on session of the FESTIVAL platform will help developers to discover the FESTIVAL platform offer, and to access and use the resources in the future for their research and development purpose.<br />
<br />
Even if the platform is still under continuous development, it already provides a long list of resources. We expect to gather valuable feedback from the participants for its further versions.<br />
<br />
In order to better understand the workflow for experimentation setup you can refer to Festival project web page http://www.festival-project.eu/en/?page_id=1424. This workflow will be followed during this track to use the resources supported by the platform<br />
<br />
==Lunch : 12:00 - 13:00 (Room Foyer)==<br />
==Afternoon track : 13:00 - 16:00==<br />
<br />
===Getting Started with sensiNact ===<br />
<br />
sensiNact consists of a software platform enabling the collection, processing and redistribution of any data relevant for improving the quality of life of urban citizens, programming interfaces allowing different modes of access to data (on-demand, periodic, historic, etc.) and application development and deployment tools to easily and rapidly build innovative applications on top of the platform.<br />
<br />
More technical information about the platform can be found at: http://open-platforms.eu/library/sensinact-aka-butler-smart-gateway/#description<br />
<br />
sensiNact is currently in use in several collaborative projects in application domains such as smart city, smart building, smart ski station, smart living and well ageing, smart farming, etc.<br />
<br />
sensiNact is joining to the Eclipse community: https://projects.eclipse.org/proposals/eclipse-sensinact<br />
<br />
<br />
In this session, the participants will learn how to use sensiNact (via REST APIs or using an Eclipse based tool) and to create simple applications to interact with various physical devices (sensors and actuators) with connectivity support to today’s various IoT protocols and platforms such as LORA, Zigbee, IEEE 802.15.4, Sigfox, enOcean, MQTT, XMPP, NGSI, HTTP, CoAP, etc.<br />
<br />
With its modular approach, connectivity support for new protocols can be rapidly developed and dynamically added to the platform, even at run-time. available for the developers. The participants will thus also learn how to rapidly create support for new communication protocols and integrate it to the sensiNact platform.<br />
<br />
<br />
Participants expected to install VirtualBox (at least 5.0) with Guest Additions installed and Maven (at least 3.3) before the session.<br />
<br />
===Getting Started with RIOT on IoT-Lab===<br />
<br />
Alexandre Abadie [https://www.linkedin.com/in/alexandreabadie/ in], INRIA Saclay, Gaëtan Harter and Frédéric Saint Marcel, INRIA Grenoble,<br />
<br />
This workshop will give you a hands-on introduction to [https://www.iot-lab.info IoT-Lab] usage and to IoT network configuration with RIOT.<br />
<br />
Learn the base: Start an experiment on IoT-Lab, play with the heterogeneous hardware available and do some advanced networking with open standards adapted to IoT using RIOT.<br />
<br />
=Downtown Hotels=<br />
15 minutes from the Campus by Tram. 10 minutes max for the railway station by Tram.<br />
<table class="Style15"><br />
<br />
<tr><br />
<td>Residhome Grenoble Caserne de Bonne</td><br />
<td>21 Rue Lazare Carnot, 38100 Grenoble</td><br />
<td>Tel: +33 4 76 86 88 88</td><br />
<td>[http://www.residhome.com/residence-hoteliere-aparthotel-grenoble-194.html website]</td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel de l'Europe </td><br />
<td>22 place Grenette, 38000 Grenoble </td><br />
<td>Tel +33 4 76 46 16 94 </td><br />
<td>[http://www.hoteleurope.fr website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Angleterre </td><br />
<td>5 Place Victor Hugo, 38000 Grenoble </td><br />
<td>Tel +33 4 38 88 40 40 </td><br />
<td>[http://www.hotel-angleterre-grenoble.com website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Ibis Grenoble Centre </td><br />
<td>5 Rue de Miribel, 38000 Grenoble </td><br />
<td>Tel +33 4 76 47 48 49 </td><br />
<td>[http://www.accorhotels.com/fr/hotel-0612-ibis-grenoble-centre/index.shtml website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Gambetta </td><br />
<td>59 Boulevard Gambetta, 38000 Grenoble </td><br />
<td>Tel +33 4 76 87 22 25 </td><br />
<td>[http://www.hotel-gambetta-grenoble.com website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hotel Europole </td><br />
<td>29 Rue Pierre Semard, 38000 Grenoble </td><br />
<td>Tel +33 4 76 49 51 52 </td><br />
<td>[http://www.hoteleuropole.com website]</td><br />
<td></td><br />
</tr><br />
<br />
<tr><br />
<td>Hôtel Alizé</td><br />
<td>1 Rue Amiral Courbet, 38000 Grenoble</td><br />
<td>Tel +33 4 76 43 12 91</td><br />
<td>[http://www.hotelalize.com website]</td><br />
<td></td><br />
</tr><br />
<br />
</table><br />
<br />
=Gallery Eclipse IoT 2017=<br />
<gallery><br />
File:ThePolytechStudentOrgTeam2017.jpg<br />
</gallery><br />
<br />
<br />
=Gallery Eclipse IoT 2016=<br />
<gallery><br />
File:EclipseDayParis2016-2.jpg<br />
File:EclipseDayGrenoble2016-9.jpg<br />
File:EclipseDayGrenoble2016-10.jpg<br />
File:EclipseDayParis2016-1.jpg<br />
File:EclipseDayParis2016-4.jpg<br />
File:EclipseDayGrenoble2016-5.jpg<br />
File:EclipseDayGrenoble2016-6.jpg<br />
File:DSC00037.JPG<br />
File:EclipseDayGrenoble2016-7.jpg<br />
File:EclipseDayGrenoble2016-8.jpg<br />
File:ThePolytechStudentOrgTeam.JPG<br />
</gallery></div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes&diff=414747Eclipse DemoCamps Oxygen 2017/Nantes2017-03-01T15:59:54Z<p>Derek.toolan.eclipse.org: Merge edit by Camille.amiaud.gmail.com</p>
<hr />
<div><br />
<skin>strapping</skin><br />
<css><br />
<br />
body {<br />
font-family: 'Open Sans', sans-serif;<br />
font-size: 14px;<br />
font-weight: 300;<br />
color: #676767;<br />
}<br />
<br />
a{<br />
color: #f7941e;<br />
}<br />
<br />
a:hover {<br />
color: #292929;<br />
}<br />
<br />
section#content a.external, section#content a.external[href ^='https://'], a{<br />
background-image: none;<br />
padding-right: 0;<br />
}<br />
<br />
.mw-content-ltr {<br />
border-top: 1px solid #eee;<br />
margin-top: 20px;<br />
}<br />
<br />
.span12 #p-logo img{<br />
width: 220px;<br />
margin-top: 25px;<br />
}<br />
<br />
.span10 {<br />
width: 1170px;<br />
margin: 0 auto;<br />
}<br />
<br />
.offset1 {<br />
margin-left: 30px;<br />
}<br />
<br />
ul.navigation {<br />
margin-top: -53px;<br />
}<br />
<br />
.nav li a:hover,<br />
.nav li a:focus {<br />
background-color: transparent;<br />
}<br />
<br />
p.logo_ecdn {<br />
text-align: center;<br />
margin-top: -30px;<br />
}<br />
<br />
.logo_ecdn img{<br />
width: 730px;<br />
}<br />
#toctitle, .tocnumber, .nolayout .firstHeading{<br />
display: none;<br />
}<br />
<br />
#toc ul {<br />
margin: 0 auto;<br />
margin-top: 30px;<br />
margin-bottom: 50px;<br />
display: table;<br />
}<br />
<br />
h3 {<br />
clear: both;<br />
}<br />
<br />
#toc ul li {<br />
float: left;<br />
list-style-type: none;<br />
margin-right: 20px;<br />
}<br />
<br />
#toc ul li a{<br />
color: #f7941e;<br />
font-size: 18px;<br />
}<br />
<br />
h3 span.mw-headline {<br />
color: #2c2255;<br />
}<br />
</css><br />
<br />
<p class="logo_ecdn"> [[Image:Eclipse_DemoCamp_Nantes_2017.png]] </p><br />
<br />
<br />
__TOC__<br />
La communauté Eclipse Nantaise se réunit pour parler, en toute convivialité, de l'évolution de l'écosystème Eclipse.<br />
<br />
Cette soirée sera l'occasion de faire le point sur le projet Eclipse sur tous ses aspects. Les dernières évolutions de la plateforme, les travaux pour allez vers le web ou encore l'investissement dans l'IoT. Utilisateurs réguliers, développeurs Eclipse ou simples curieux, venez échanger avec nous sur le projet, son statut actuel et son devenir.<br />
<br />
Parler c'est bien, le faire avec une touche de fun c'est mieux : la soirée se clôturera donc sur un apéro et des pizzas. <br />
<br />
=== Date ===<br />
<br />
Mardi 28 mars 2017, de 18h00 à 21h30/22h<br />
<br />
=== Qui se cache derrière ce DemoCamp ? ===<br />
<br />
[https://twitter.com/glefur_ Goulwen Le Fur], [https://www.obeo.fr Obeo]<br />
<br />
[https://twitter.com/maudimm Camille Amiaud], [https://www.obeo.fr Obeo]<br />
<br />
=== Au Menu ===<br />
<br />
<br />
<table class="table table-striped"><br />
<tr><th> </th><th width="20%">Talk</th><th>Speaker</th><th>Slides</th></tr><br />
<tr><br />
<td><b>18h00 - 18h30</b></td><br />
<td><br />
[https://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes/Agenda#Back_to_the_future_:_on_vous_r.C3.A9sume_la_1.C3.A8re_.C3.A9dition_d.27Eclipse_Converge_.26_DevoxxUS Back to the future : on vous résume la 1ère édition d'Eclipse Converge & DevoxxUS]<br />
<p></p><br />
</td><br />
<td><br />
<b>[http://melb.enix.org/ Mélanie Bats]</b> (Obeo)<br />
</td><br />
<td><br />
slides: soon<br />
</td><br />
</tr><br />
<tr><br />
<td><b>18h35 - 19h05</b></td><br />
<td><br />
[https://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes/Agenda#Great_new_Features_and_Enhancements_in_the_Eclipse_IDE Great new Features and Enhancements in the Eclipse IDE]<br />
</td><br />
<td><br />
<b>[https://mikael-barbero.tumblr.com/ Mikaël Barbero]</b> (Fondation Eclipse)<br />
</td><br />
<td><br />
slides: soon<br />
</td><br />
</tr><br />
<tr><br />
<td><b>19h10 - 19h40</b></td><br />
<td><br />
[https://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes/Agenda#Sobre.2C_il_d.C3.A9cide_de_faire_du_JavaScript_dans_Eclipse Sobre, il décide de faire du Javascript dans Eclipse]<br />
</td><br />
<td><br />
<b>[http://jabby-techs.fr Gautier de Saint Martin Lacaze]</b> (Freelance)<br />
</td><br />
<td><br />
slides: soon<br />
</td><br />
</tr><br />
<tr><br />
<td><b>19h45 - 20h15</b></td><br />
<td><br />
[https://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes/Agenda#Cr.C3.A9er_un_workspace_portable_et_partageable_avec_Eclipse_Che Créer un workspace portable et partageable avec Eclipse Che]<br />
</td><br />
<td><br />
<b>[https://twitter.com/stevanlm?lang=fr Stévan Le Meur]</b> (Codenvy)<br />
</td><br />
<td><br />
slides: soon<br />
</td><br />
</tr><br />
<tr><br />
<td><b>20h20 - 20h50</b></td><br />
<td><br />
[https://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes/Agenda#NeoEMF_pour_des_mod.C3.A8les_EMF_persistants_et_passant_.C3.A0_l.27.C3.A9chelle NeoEMF pour des modèles EMF persistants et passant à l'échelle]<br />
</td><br />
<td><br />
<b>[http://sunye.free.fr/ Gerson Sunyé]</b> (AtlanMod)<br />
</td><br />
<td><br />
slides : soon<br />
</td><br />
</tr><br />
<tr><br />
<td><b>20h55 - 21h25</b></td><br />
<td><br />
[https://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Nantes/Agenda#Technologies_Eclipse_.C3.A0_l.E2.80.99.C5.93uvre_dans_MicroEJ Technologies Eclipse à l’œuvre dans MicroEJ]<br />
</td><br />
<td><br />
<b>[http://www.microej.com/ Laurent Lagosanto]</b> (MicroEJ)<br />
</td><br />
<td><br />
slides: soon<br />
</td><br />
</tr><br />
<br />
<tr><br />
<td><b>21h30</b></td><br />
<td><br />
Have a break, Have a pizza<br />
</td><br />
<td><br />
</td><br />
<td><br />
</td><br />
</tr><br />
</table><br />
<br />
=== Inscris-toi ===<br />
<br />
Si l'évènement est gratuit, le nombre de places est limité... [https://www.meetup.com/fr-FR/Communaute-Eclipse-Nantes/events/238024071/ Donc inscris-toi !]<br />
<br />
=== Viens au Palace ===<br />
<br />
[https://www.startup-palace.com/ Startup Palace, Nantes] <br />
[https://www.google.fr/maps/place/Startup+Palace/@47.2140864,-1.5620911,15z/data=!4m2!3m1!1s0x0:0x76b808fbfbd79667?sa=X&ved=0ahUKEwivh-Hnu6jSAhXF2xoKHVFACa8Q_BIIcjAK 18 rue Scribe - Accès facile, en cœur de ville à proximité de la place Graslin]<br />
<br />
<br />
<br />
=== Partenaires ===<br />
<br />
Nous remercions chaleureusement nos partenaires pour leur soutien :<br />
<br />
{| style="margin: 1em auto 1em auto;"<br />
|-<br />
| [[Image:Logo_GDGNantes.png|link=http://www.gdgnantes.com/|300px]]<br />
| [[Image:Logo_JUGNantes.png|link=http://www.nantesjug.org/|300px]]<br />
|}</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414740Google Summer of Code 2017 Ideas2017-03-01T15:53:24Z<p>Derek.toolan.eclipse.org: Merge edit by Sudarakayasindu.gmail.com</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
*'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]<br />
<br />
= [http://www.eclipse/org/omr Eclipse OMR] =<br />
Eclipse OMR provides reliable C and C++ high performance components<br />
(garbage collector, Just In Time compiler, platform porting library,<br />
asynchronous event handling, tracing, diagnostics, ...) for building all<br />
kinds of language runtimes such as Java, Ruby, Python, Lua, etc. These<br />
components were originally distilled and contributed from the IBM J9<br />
Java Virtual Machine and made available for use in other language<br />
runtimes. The OMR project also includes a library called JitBuilder,<br />
which lets you create a JIT compiler for a new language relatively quickly.<br />
<br />
Our ultimate goal is to build an open reusable language runtime<br />
foundation for cloud platforms in full cooperation with existing<br />
language communities. There are currently OMR based runtimes for Java<br />
(IBM J9), CRuby (Ruby+OMR Technology Preview), Lua (Lua Vermelha),<br />
Smalltalk (SOM++ with OMR), Rosie Pattern Language, Base9 (an ultra<br />
simple runtime for workshop-based learning about the OMR JitBuilder<br />
library).<br />
<br />
Here are some of our project ideas :<br />
* Port a (subset of a) new language or runtime to use OMR (e.g. Python,R, Julia, make a suggestion!) using the JitBuilder library<br />
* Use JitBuilder to dynamically compile native code to accelerate some application (e.g. Apache Spark, NumPy/SciPy, or make a suggestion!)<br />
* Implement a general/dynamic object model. The object model should support Javascript and Ruby. <br />
* Valgrind support for the Garbage Collector and JIT memory http://valgrind.org/docs/manual/mc-manual.html#mc-manual.mempools<br />
* Port JitBuilder interface to another language (e.g. Ruby, Python, make a suggestion!)<br />
** Java bindings exist so you can write Java code to dynamically generate native code callable as a JNI method<br />
** similar model could be applied to another language or possibly using SWIG to make JitBuilder accessible from more languages<br />
* Port OMR to a new hardware platform (e.g. ARM64)<br />
* Enhance Intel processor vector instruction support in the OMR compiler<br />
** add support for 256- and 512-wide vector data types and enhance JitBuilder interface to handle different width data<br />
** showcase with JIT compiled vectorized code!<br />
<br />
*'''Possible Mentors:''' [[https://github.com/mstoodle Mark Stoodley]],[[https://github.com/charliegracie Charlie Gracie]],[[https://github.com/0xdaryl Daryl Maier]],[[https://github.com/mgaudet Matthew Gaudet]],[[https://github.com/youngar Andrew Young]],[[https://github.com/rwyoung Robert Young]],[[https://github.com/dnakamura Devin Nakamura]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414702Google Summer of Code 2017 Ideas2017-02-28T20:56:57Z<p>Derek.toolan.eclipse.org: Merge edit by Youngar17.gmail.com</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
*'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]<br />
*'''Interested Student:''' Sudaraka Jayathilaka<br />
<br />
= [http://www.eclipse/org/omr Eclipse OMR] =<br />
Eclipse OMR provides reliable C and C++ high performance components<br />
(garbage collector, Just In Time compiler, platform porting library,<br />
asynchronous event handling, tracing, diagnostics, ...) for building all<br />
kinds of language runtimes such as Java, Ruby, Python, Lua, etc. These<br />
components were originally distilled and contributed from the IBM J9<br />
Java Virtual Machine and made available for use in other language<br />
runtimes. The OMR project also includes a library called JitBuilder,<br />
which lets you create a JIT compiler for a new language relatively quickly.<br />
<br />
Our ultimate goal is to build an open reusable language runtime<br />
foundation for cloud platforms in full cooperation with existing<br />
language communities. There are currently OMR based runtimes for Java<br />
(IBM J9), CRuby (Ruby+OMR Technology Preview), Lua (Lua Vermelha),<br />
Smalltalk (SOM++ with OMR), Rosie Pattern Language, Base9 (an ultra<br />
simple runtime for workshop-based learning about the OMR JitBuilder<br />
library).<br />
<br />
Here are some of our project ideas :<br />
* Port a (subset of a) new language or runtime to use OMR (e.g. Python,R, Julia, make a suggestion!) using the JitBuilder library<br />
* Use JitBuilder to dynamically compile native code to accelerate some application (e.g. Apache Spark, NumPy/SciPy, or make a suggestion!)<br />
* Implement a general/dynamic object model. The object model should support Javascript and Ruby. <br />
* Valgrind support for the Garbage Collector and JIT memory http://valgrind.org/docs/manual/mc-manual.html#mc-manual.mempools<br />
* Port JitBuilder interface to another language (e.g. Ruby, Python, make a suggestion!)<br />
** Java bindings exist so you can write Java code to dynamically generate native code callable as a JNI method<br />
** similar model could be applied to another language so JitBuilder is accessible from more languages<br />
* Port OMR to a new hardware platform (e.g. ARM64)<br />
* Enhance Intel processor vector instruction support in the OMR compiler<br />
** add support for 256- and 512-wide vector data types and enhance JitBuilder interface to handle different width data<br />
** showcase with JIT compiled vectorized code!<br />
<br />
*'''Possible Mentors:''' [[https://github.com/mstoodle Mark Stoodley]],[[https://github.com/cgracie Charlie Gracie]],[[https://github.com/0xdaryl Daryl Maier]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414695Google Summer of Code 2017 Ideas2017-02-28T17:23:32Z<p>Derek.toolan.eclipse.org: /* Eclipse OMR */</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
*'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]<br />
*'''Interested Student:''' Sudaraka Jayathilaka<br />
<br />
= [http://www.eclipse/org/omr Eclipse OMR] =<br />
Eclipse OMR provides reliable C and C++ high performance components<br />
(garbage collector, Just In Time compiler, platform porting library,<br />
asynchronous event handling, tracing, diagnostics, ...) for building all<br />
kinds of language runtimes such as Java, Ruby, Python, Lua, etc. These<br />
components were originally distilled and contributed from the IBM J9<br />
Java Virtual Machine and made available for use in other language<br />
runtimes. The OMR project also includes a library called JitBuilder,<br />
which lets you create a JIT compiler for a new language relatively quickly.<br />
<br />
Our ultimate goal is to build an open reusable language runtime<br />
foundation for cloud platforms in full cooperation with existing<br />
language communities. There are currently OMR based runtimes for Java<br />
(IBM J9), CRuby (Ruby+OMR Technology Preview), Lua (Lua Vermelha),<br />
Smalltalk (SOM++ with OMR), Rosie Pattern Language, Base9 (an ultra<br />
simple runtime for workshop-based learning about the OMR JitBuilder<br />
library).<br />
<br />
Here are some of our project ideas :<br />
* Port a (subset of a) new language or runtime to use OMR (e.g. Python,R, Julia, make a suggestion!) using the JitBuilder library<br />
* Use JitBuilder to dynamically compile native code to accelerate some application (e.g. Apache Spark, NumPy/SciPy, or make a suggestion!)<br />
* Port JitBuilder interface to another language (e.g. Ruby, Python, make a suggestion!)<br />
** Java bindings exist so you can write Java code to dynamically generate native code callable as a JNI method<br />
* similar model could be applied to another language so JitBuilder is accessible from more languages<br />
* Port OMR to a new hardware platform (e.g. ARM64)<br />
* Enhance Intel processor vector instruction support in the OMR compiler<br />
** add support for 256- and 512-wide vector data types and enhance JitBuilder interface to handle different width data<br />
** showcase with JIT compiled vectorized code!<br />
<br />
*'''Possible Mentors:''' [[https://github.com/mstoodle Mark Stoodley]],[[https://github.com/cgracie Charlie Gracie]],[[https://github.com/0xdaryl Daryl Maier]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414694Google Summer of Code 2017 Ideas2017-02-28T17:22:06Z<p>Derek.toolan.eclipse.org: /* Eclipse OMR */</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
*'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]<br />
*'''Interested Student:''' Sudaraka Jayathilaka<br />
<br />
= [http://www.eclipse/org/omr Eclipse OMR] =<br />
Eclipse OMR provides reliable C and C++ high performance components<br />
(garbage collector, Just In Time compiler, platform porting library,<br />
asynchronous event handling, tracing, diagnostics, ...) for building all<br />
kinds of language runtimes such as Java, Ruby, Python, Lua, etc. These<br />
components were originally distilled and contributed from the IBM J9<br />
Java Virtual Machine and made available for use in other language<br />
runtimes. The OMR project also includes a library called JitBuilder,<br />
which lets you create a JIT compiler for a new language relatively quickly.<br />
<br />
Our ultimate goal is to build an open reusable language runtime<br />
foundation for cloud platforms in full cooperation with existing<br />
language communities. There are currently OMR based runtimes for Java<br />
(IBM J9), CRuby (Ruby+OMR Technology Preview), Lua (Lua Vermelha),<br />
Smalltalk (SOM++ with OMR), Rosie Pattern Language, Base9 (an ultra<br />
simple runtime for workshop-based learning about the OMR JitBuilder<br />
library).<br />
<br />
Here are some of our project ideas :<br />
* Port a (subset of a) new language or runtime to use OMR (e.g. Python,R, Julia, make a suggestion!) using the JitBuilder library<br />
* Use JitBuilder to dynamically compile native code to accelerate some application (e.g. Apache Spark, NumPy/SciPy, or make a suggestion!)<br />
* Port JitBuilder interface to another language (e.g. Ruby, Python, make a suggestion!)<br />
* Java bindings exist so you can write Java code to dynamically generate native code callable as a JNI method<br />
* similar model could be applied to another language so JitBuilder is accessible from more languages<br />
* Port OMR to a new hardware platform (e.g. ARM64)<br />
* Enhance Intel processor vector instruction support in the OMR compiler<br />
* add support for 256- and 512-wide vector data types and enhance JitBuilder interface to handle different width data<br />
* showcase with JIT compiled vectorized code!<br />
<br />
*'''Possible Mentors:''' [[https://github.com/mstoodle Mark Stoodley]],[[https://github.com/cgracie Charlie Gracie]],[[https://github.com/0xdaryl Daryl Maier]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414693Google Summer of Code 2017 Ideas2017-02-28T17:20:42Z<p>Derek.toolan.eclipse.org: </p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
*'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]<br />
*'''Interested Student:''' Sudaraka Jayathilaka<br />
<br />
= [http://www.eclipse/org/omr Eclipse OMR] =<br />
Eclipse OMR provides reliable C and C++ high performance components<br />
(garbage collector, Just In Time compiler, platform porting library,<br />
asynchronous event handling, tracing, diagnostics, ...) for building all<br />
kinds of language runtimes such as Java, Ruby, Python, Lua, etc. These<br />
components were originally distilled and contributed from the IBM J9<br />
Java Virtual Machine and made available for use in other language<br />
runtimes. The OMR project also includes a library called JitBuilder,<br />
which lets you create a JIT compiler for a new language relatively quickly.<br />
<br />
Our ultimate goal is to build an open reusable language runtime<br />
foundation for cloud platforms in full cooperation with existing<br />
language communities. There are currently OMR based runtimes for Java<br />
(IBM J9), CRuby (Ruby+OMR Technology Preview), Lua (Lua Vermelha),<br />
Smalltalk (SOM++ with OMR), Rosie Pattern Language, Base9 (an ultra<br />
simple runtime for workshop-based learning about the OMR JitBuilder<br />
library).<br />
<br />
Here are some of our project ideas :<br />
* Port a (subset of a) new language or runtime to use OMR (e.g. Python,<br />
R, Julia, make a suggestion!) using the JitBuilder library<br />
* Use JitBuilder to dynamically compile native code to accelerate some<br />
application (e.g. Apache Spark, NumPy/SciPy, or make a suggestion!)<br />
* Port JitBuilder interface to another language (e.g. Ruby, Python, make<br />
a suggestion!)<br />
** Java bindings exist so you can write Java code to dynamically<br />
generate native code callable as a JNI method<br />
** similar model could be applied to another language so JitBuilder is<br />
accessible from more languages<br />
* Port OMR to a new hardware platform (e.g. ARM64)<br />
* Enhance Intel processor vector instruction support in the OMR compiler<br />
** add support for 256- and 512-wide vector data types and enhance<br />
JitBuilder interface to handle different width data<br />
** showcase with JIT compiled vectorized code!<br />
<br />
*'''Possible Mentors:''' [[https://github.com/mstoodle Mark Stoodley]],<br />
[[https://github.com/cgracie Charlie Gracie]],<br />
[[https://github.com/0xdaryl Daryl Maier]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414692Google Summer of Code 2017 Ideas2017-02-28T17:06:02Z<p>Derek.toolan.eclipse.org: Reverted edits by Derek.toolan.eclipse.org (talk) to last revision by Sudarakayasindu.gmail.com</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=414687Google Summer of Code 2017 Ideas2017-02-28T14:17:01Z<p>Derek.toolan.eclipse.org: Merge edit by Mstoodle.ca.ibm.com</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse 4diac=<br />
[http://www.fordiac.org 4diac] is an environment for modelling and executing distributed real-time industrial control applications utilizing the modelling language defined in IEC 61499. For that 4diac provides as its two main components the Eclipse-based 4diac-ide as development and device management tool and an execution environment called FORTE for executing the models on embedded control devices.<br />
<br />
Here are some of our project ideas:<br />
* Generate documentation pages out of model components. In 4diac the main component elements already hold quite some information. However to find out what a component is doing and what it can be used for is quite hard. Similar to Java doc or Doxygen it would be great to generate HTML files for our model components based on the already available information.<br />
* Mylyn integration for 4diac models<br />
* Generation of Unit-test code out of the component specification<br />
<br />
=Eclipse ChemClipse=<br />
<br />
[https://projects.eclipse.org/projects/science.chemclipse ChemClipse] is a tool for chromatography/mass spectrometry. The combination of chromatography/mass spectrometry is often used in the area of forensics, for quality control as well as for life sciences. Chemical data is best suited to be used in combination with machine learning and statistics. Moreover, when it comes to machine learning, script languages like Python or R play a major role. Hence, we will have a look how to efficiently combine chemistry, machine learning and scripting as part of the GSoC initiative. <br />
<br />
Here are some of our project ideas:<br />
<br />
* Integrate a bridge from ChemClipse to R, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511955 Bug 511955]<br />
* Improve statistics and the PCA functionality, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511956 Bug 511956]<br />
* PCA on scans does not work, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=499542 Bug 499542]<br />
* PCA Editor 3d view, see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=486169 Bug 486169]<br />
<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
For more information about this project, contact the project team via their [https://dev.eclipse.org/mailman/listinfo/rdf4j-dev mailing list]. <br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.<br />
<br />
== Dynamic Dialogs ==<br />
The UI module of EASE allows to open/close views and to display some basic dialogs. For user scripts it would be interesting to create custom dialogs to query for user input. Such dialogs would typically be forms based. This task is about developing an interface to dynamically create UI dialogs with user defined content. There should be support for text input, checkboxes, radio buttons and file/folder selections.<br />
<br />
The programming part of this task might be small, however we expect a clear and simple API here, so API development would be the main task here. The API should be simple and intuitive. It is not intended to copy the SWT API in the scripting layer.<br />
<br />
If you are interested in this topic you should provide an abstract of the planned API on the [https://dev.eclipse.org/mailman/listinfo/ease-dev mailing list] before applying for GSoC.<br />
<br />
= EMF Forms goes AngularJS: A generic editor framework for the web =<br />
EMF Forms is an Eclipse framework to efficiently develop form-based UIs (see http://eclipse.org/ecp/emfforms/). It also provides a renderer for web applications called “JSON Forms”. JSON Forms transfers the concepts of EMF and EMF Forms to a JSON Schema and AngularJS based web stack. EMF Forms provides a generic editor component, which makes it very efficient to create editors a given data model. This is often used for the creation of developer tooling. However, it is bound to SWT and XML. The goal of this project is to provide this generic editor framework on the web stack of EMF Forms, too (JSON Forms). Instead of EMF and XML, it will consume a JSON Schema and a JSON file as input/output. This component would enable the efficient creations editors for the web based on a given JSON Schema and therefore support the development of tooling for platforms such as Eclipse Che or Orion.<br />
* Possible mentor: Maximilian Koegel<br />
* Interested student: Lucas Koehler<br />
<br />
= APP4MC =<br />
The [https://projects.eclipse.org/proposals/app4mc Eclipse APP4MC] project provides a platform for automotive tooling based on AUTOSAR compliant models and focuses on developments for multi and many core systems. A basic set of tools is available to support different design steps not only limited to the automotive domain. APP4MC therefore includes:<br />
* A basis for the integration of various tools into a consistent and comprehensive tool chain<br />
* Extensive models for timing behaviour, software, hardware, constraints descriptions etc. (used for simulation, analysis, and data exchange)<br />
* Tools for automatic software parallelisation i.e. for optimising multi- and many-core architectures<br />
* Examples, documentations, workflows, and more<br />
<br />
== A4MCAR: Multi-core Demonstrator ==<br />
A4MCAR (project idea I) is a remote controlled electric demonstrative car that will not only be equipped with a multi-core microcontroller for actuation and sensing (real time tasks), but also with a Raspberry Pi 3 in order to address more complex applications such as image processing, web server streaming, and touchscreen UI interactions. APP4MC will be used for both low-level and high-level modelling including runnables, processes, and threads of the whole system for an accurate and precise system analysis.<br />
The student's efforts could address:<br />
* Evaluating recent techniques in multi-core software development for scheduling, partitioning, and optimisation<br />
* Design of an hardware structure for the A4MCAR<br />
* Developing low-level drivers for multi-core micro controllers<br />
* Administration of a Linux-based system on the Raspberry Pi 3 to be able to achieve <br />
** image processing <br />
** camera streaming <br />
** sensor driving<br />
** core utilization interface on a web server<br />
** a touchscreen user interface for dynamical core and process management of A4MCAR<br />
* Researching the kernel-level processes and profiling developed applications on instruction-level on both low-level and high-level controllers<br />
* Developing necessary scripts to potentially distribute applications/processes given the inputs from APP4MC<br />
* Modeling the system on APP4MC, based on the findings from profiled applications and evaluating the parallelization outcomes on controllers<br />
Technology overview:<br />
* Programming languages / technologies such as C, C++ , xC, Python, Bash, GCC, CMake, Linux, PHP, Javascript, HTML<br />
Implementations would be closely related to Rover developments (Polarsys).<br />
Possible mentor: Robert Hoettger<br />
Interested student: Mustafa Ozceilikors<br />
<br />
= [http://eclipse.org/che Eclipse CHE]: Datasource plugin for Eclipse Che 5 =<br />
<br />
[http://eclipse.org/che Eclipse CHE] is an open source developer workspace server and cloud IDE.<br />
<br />
Previously we had a datasource plugin for Che3. See demo https://drive.google.com/file/d/0B9vGYZYE8V2xUF9XcHRTOG5oV0k/view?usp=sharing<br />
<br />
To goal is to rewrite this plugin for Che5.<br />
* Move the server part to a Che agent<br />
* Find a replacement to Schema crawler which is LGPL and can't be used in Che<br />
* Adapt UI<br />
* Adapt datasource discovery to detect the Che runtime process rather than Docker runner<br />
<br />
*'''Possible Mentors:''' [https://github.com/sunix Sun Tan]<br />
*'''Interested Student:''' Sudaraka Jayathilaka <br />
= [http://eclipse.org/kapua Eclipse Kapua]: IoT gateway simulation =<br />
<br />
[http://eclipse.org/kapua Eclipse Kapua] is a modular IoT cloud platform to manage and integrate devices and their data. <br />
<br />
The goal of this project is develop one or more industrial IoT data models and simulate them in a way that they can be integrated into<br />
the already existing Kura (IoT gateway) simulator. The idea is to have a simulated data model (like a wind park, a train or anything else)<br />
which generates realistic telemetry data and which can be controlled through the cloud solution.<br />
<br />
The tasks would be:<br />
* Define a data model (e.g. wind park)<br />
* Write a simulation, which runs continuously in either real time or accelerated time<br />
* Integrate this simulation into the Kura simulation framework<br />
* Maybe write a Web based UI for controlling the simulation from a different communication channel<br />
<br />
'''Possible Mentors:''' [[User:Jreimann.redhat.com|Jens Reimann]]<br />
*'''Interested Student:''' Sudaraka Jayathilaka</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017&diff=414643Eclipse DemoCamps Oxygen 20172017-02-27T15:19:05Z<p>Derek.toolan.eclipse.org: Merge edit by Camille.amiaud.gmail.com</p>
<hr />
<div>[[Image:DemoCamp.png]] <br />
[[Image:EclipseEvents500.png|link=https://events.eclipse.org]]<br />
Click on the map to see [http://events.eclipse.org/ events around the world].<br />
<br />
We are inviting individuals to organize and attend Eclipse DemoCamps around the world. The Eclipse DemoCamps are an opportunity to showcase all of the cool technology being built by the Eclipse community. <br />
<br />
==Upcoming==<br />
<br />
===DemoCamps In March ===<br />
*[[Eclipse DemoCamps Oxygen 2017/Toulouse|Toulouse]], France - March 2, organized by [http://www.toulousejug.org/ Toulouse Java User Group] and [http://https://www.obeo.fr/en/ Obeo]<br />
*Shenzhen, China - March 7 - Eclipse SmartHome and Eclipse [http://szjug.github.io/#March2017 IoT at SZJUG] (Shenzhen Java User Group| 深圳Java用户组)<br />
<br />
===DemoCamps In June ===<br />
*[[Eclipse DemoCamps Oxygen 2017/Shenzhen|Shenzhen]], China - June 30, SZJUG venue - organized by [http://szjug.github.io/ SZJUG] (Shenzhen Java User Group| 深圳Java用户组)<br />
<br />
<br />
<h2>Hackathons</h2> are a chance for developers to gather and hack away on bugs and feature requests, and come up with a reasonable patch by the end of the Hackathon.<br />
They are also informal &ndash; a group of Eclipse hackers meets up and hacks away on bugs and feature requests for a particular Eclipse project. Attendees usually break out into groups of two or three and get hands-on support from a project veteran to help ensure that a patch can be completed. Here's an example of a [http://wiki.eclipse.org/Eclipse_DemoCamps_November_2012/Vancouver Hackathon from November 2012].<br />
<br />
The only stipulation about these events is that they must be Eclipse related. Take a look at the list of projects on [http://projects.eclipse.org/list-of-projects eclipse.org] or on [http://en.wikipedia.org/wiki/List_of_Eclipse_projects Wikipedia], and the [http://en.wikipedia.org/wiki/List_of_Eclipse-based_software Wikipedia list of Eclipse-based software].<br />
<br />
https://wiki.eclipse.org/Hackathon_Hamburg_2016_Dec<br />
<br />
== Organizing ==<br />
<br />
If you have not organized a Camp or Hackathon in the past, please read this page on [http://www.eclipse.org/community/democamp/organizedemocamp.php organizing a DemoCamp], and then send email to [mailto:democamps@eclipse.org democamps@eclipse.org] so we can add you to our list of organizers. <br />
<br />
When signing up to organize a DemoCamp or a Hackathon, '''please be sure to give us your contact information.''' Either include your individual email address on your event page, or send an email to [mailto:democamps@eclipse.org democamps@eclipse.org] to provide your contact information. <br />
<br />
When organizing a Camp or Hackathon, add your event to the list below, then create a separate wiki page for your event. To help you create the wiki page, we have a [http://wiki.eclipse.org/Eclipse_DemoCamps_page_template template]. To use the template, open it for editing and copy the contents of the edit window to your clipboard, and then select "Cancel" at the bottom of the page to cancel the editing session. Open up your new event page for editing, copy the contents of your clipboard into the editing window, and make your updates. '''Please do not edit the template.'''<br />
<br />
Click on a city below to find out details and to let the organizers know you plan on attending. Some cities have not finalized a date or location but we still encourage you to let the organizer know you would like to attend.<br />
<br />
=== Demo Sources ===<br />
<br />
Please consider sharing presented demo sources or hacked solutions at https://github.com/Eclipse-DemoCamps<br />
<br />
== Past DemoCamps ==<br />
*[[Eclipse DemoCamps Neon 2016]]<br />
*[[Eclipse DemoCamps Winter 2015]]<br />
*[[Eclipse DemoCamps Mars 2015]]<br />
*[[Eclipse DemoCamps November 2014]]<br />
*[[Eclipse DemoCamps Luna 2014]]<br />
*[[Eclipse DemoCamps November 2013]] <br />
*[[Eclipse DemoCamps Kepler 2013]]<br />
*[[Eclipse DemoCamps November 2012]] <br />
*[[Eclipse DemoCamps Juno 2012]] <br />
*[[Eclipse DemoCamps November 2011]] <br />
*[[Eclipse DemoCamps Indigo 2011]] <br />
*[[Eclipse DemoCamps November 2010]] <br />
*[[Eclipse DemoCamps Helios 2010]] <br />
*[[Eclipse DemoCamps November 2009]] <br />
*[[Eclipse DemoCamps Galileo 2009]] <br />
*[[Eclipse DemoCamps November 2008]] <br />
*[[Eclipse DemoCamps 2008 - Ganymede Edition]] <br />
*[[Eclipse DemoCamp 2007]]<br />
<br />
[[Category:DemoCamps]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Hackathon_Hamburg_2017_Mar&diff=414642Hackathon Hamburg 2017 Mar2017-02-27T15:16:56Z<p>Derek.toolan.eclipse.org: Merge edit by Hhjoker1.freenet.de</p>
<hr />
<div><br />
=== Hackathon ===<br />
[[Image:DemoCamp.png|right]]<br />
<br />
[http://en.wikipedia.org/wiki/Hackathon What is a Hackathon?]<br />
<br />
In this event you can meet with other interested developers to improve Eclipse projects. We expect you to know how to develop in Java. No previous Eclipse development knowledge is required but of course it is helpful if you know already about Eclipse development. We do [https://wiki.eclipse.org/Hackathon_Hamburg Eclipse Hamburg Hackathons] on a regular basis. <br />
<br />
In this event we basically sit together can you can ask questions, see how other people work on Eclipse and find areas where you may want to contribute to Eclipse to improve your favorite framework or IDE feature. <br />
<br />
This is what we typically do:<br />
* work on the Eclipse source code<br />
* test new features in the Eclipse IDE<br />
* validate or open new Eclipse bug reports<br />
<br />
If you are an Eclipse user, contributor or committer, we hope this event will be a lot of fun for you. Attendees can hack away with the help of experiences Eclipse developers and can help to improve the Eclipse platform and its projects.<br />
<br />
So, bring your laptop and be ready to see some code!<br />
<br />
=== Location ===<br />
<br />
subshell GmbH<br/><br />
Hongkongstraße 5<br/><br />
20457 Hamburg<br/><br />
(5th floor, left of elevator)<br/><br />
<br />
[https://goo.gl/maps/74JEDrugvjr Directions]<br />
<br />
=== Date and Time ===<br />
<br />
10.03.2017, 17:30<br />
<br />
=== Sponsorship ===<br />
<br />
This Hackathon is being sponsored by: <br />
<br />
*[http://www.eclipse.org/ The Eclipse Foundation] (Swags, Food & Beverages)<br />
*[http://www.subshell.com/ subshell GmbH] sponsors the location<br />
*[http://www.vogella.com/company/ vogella GmbH] supports with committer resources<br />
<br />
=== Projects ===<br />
<br />
You choose what you hack during the event. For inspiration, the following projects might be interesting.<br />
<br />
* '''Eclipse UI planning bugs''': [https://wiki.eclipse.org/Platform_UI/Plan/4.6/Milestones Eclipse 4.6 planning bugs]<br />
* '''Eclipse platform''': [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Eclipse&component=IDE&component=Releng&component=Resources&component=Runtime&component=Scripting&component=Search&component=SWT&component=Text&component=UI&component=User%20Assistance&component=Website&email1=Lars.Vogel%40gmail.com&emailtype1=exact&f2=keywords&j_top=OR&list_id=13173188&o1=equals&o2=equals&product=Platform&query_format=advanced&v1=helpwanted&v2=bugday List of bugs to fix].<br />
* '''e4 Tools''': [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Eclipse&component=Tools&keywords=helpwanted%2C%20&keywords_type=allwords&list_id=7371420&product=e4&query_format=advanced&order=bug_id&query_based_on= List of bugs to fix].<br />
* '''EGIT''': [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=UI&keywords=bugday%2C%20&keywords_type=allwords&list_id=12294631&product=EGit&query_format=advanced= List of bugs to fix].<br />
* '''Bug 496355''': [https://bugs.eclipse.org/bugs/show_bug.cgi?id=496355 Application.e4xmi elements].<br />
<br />
=== Preparation ===<br />
<br />
It will be helpful if you register your user already for Gerrit contributions and make yourself familiar with the Eclipse platform. See lists of resources for futher information.<br />
<br />
=== Organisers ===<br />
#[https://www.xing.com/profile/Philip_Wenig Philip Wenig], [https://www.openchrom.net OpenChrom]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com/ vogella GmbH]<br />
#[http://www.vogella.com/people/larsvogel.html Lars Vogel], [http://www.vogella.com/ vogella GmbH]<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending, please add your name and email address to the list below. We use the email to notify you in case something changes. If you have any trouble with the wiki, just send an email to the organizers.<br />
<br />
# Ataul Ahmad, [mailto:ataul@ahmadsoft.de ataul@ahmadsoft.de]<br />
# Torsten Witte, [http://www.subshell.com subshell GmbH]<br />
# Tommy Redel, [http://www.subshell.com subshell GmbH]<br />
# Daniel Raap, [http://www.subshell.com/ subshell GmbH]<br />
# [http://www.conrad-groth.de Conrad Groth]<br />
# Joachim Käßer, [https://www.7p-group.com/ SEVEN PRINCIPLES AG]<br />
<br />
=== List of resources ===<br />
# [http://www.vogella.com/files/ContributingToEclipse-SecondEdition-FreeDownload.pdf Free edition of contributing to Eclipse book from Lars Vogel]: You may start at chapter "II. Preparing code contributions to Eclipse platform"<br />
# [http://www.vogella.com/articles/EclipsePlatformDevelopment/article.html Tutorial about Eclipse platform development]<br />
# [http://www.vogella.com/articles/Gerrit/article.html#eclipsegerritcontribution How to configure your user to contribute via Gerrit] <br />
# [http://www.vogella.com/articles/EclipsePlugIn/article.html Eclipse plug-in development tutorial]<br />
<br />
=== Email distribution list to get info ===<br />
<br />
We announce the next dates always on the Eclipse Hackathon mailing list. Use the following link to register for it: [https://dev.eclipse.org/mailman/listinfo/hackathon Eclipse Hackathon email distribution list]<br />
<br />
=== Credits ===<br />
Wording inspired by [[Eclipse DemoCamps November 2013/Hamburg|DemoCamp 2013 Hamburg]] and [[Eclipse DemoCamps November 2012|Vancouver Hackathon 2012 Vancouver]]<br />
<br />
[[Category:Hackathons]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Hackathon_Hamburg_2017_Mar&diff=414613Hackathon Hamburg 2017 Mar2017-02-24T16:03:15Z<p>Derek.toolan.eclipse.org: Merge edit by Raap.subshell.com</p>
<hr />
<div><br />
=== Hackathon ===<br />
[[Image:DemoCamp.png|right]]<br />
<br />
[http://en.wikipedia.org/wiki/Hackathon What is a Hackathon?]<br />
<br />
In this event you can meet with other interested developers to improve Eclipse projects. We expect you to know how to develop in Java. No previous Eclipse development knowledge is required but of course it is helpful if you know already about Eclipse development. We do [https://wiki.eclipse.org/Hackathon_Hamburg Eclipse Hamburg Hackathons] on a regular basis. <br />
<br />
In this event we basically sit together can you can ask questions, see how other people work on Eclipse and find areas where you may want to contribute to Eclipse to improve your favorite framework or IDE feature. <br />
<br />
This is what we typically do:<br />
* work on the Eclipse source code<br />
* test new features in the Eclipse IDE<br />
* validate or open new Eclipse bug reports<br />
<br />
If you are an Eclipse user, contributor or committer, we hope this event will be a lot of fun for you. Attendees can hack away with the help of experiences Eclipse developers and can help to improve the Eclipse platform and its projects.<br />
<br />
So, bring your laptop and be ready to see some code!<br />
<br />
=== Location ===<br />
<br />
subshell GmbH<br/><br />
Hongkongstraße 5<br/><br />
20457 Hamburg<br/><br />
(5th floor, left of elevator)<br/><br />
<br />
[https://goo.gl/maps/74JEDrugvjr Directions]<br />
<br />
=== Date and Time ===<br />
<br />
10.03.2017, 17:30<br />
<br />
=== Sponsorship ===<br />
<br />
This Hackathon is being sponsored by: <br />
<br />
*[http://www.eclipse.org/ The Eclipse Foundation] (Swags, Food & Beverages)<br />
*[http://www.subshell.com/ subshell GmbH] sponsors the location<br />
*[http://www.vogella.com/company/ vogella GmbH] supports with committer resources<br />
<br />
=== Projects ===<br />
<br />
You choose what you hack during the event. For inspiration, the following projects might be interesting.<br />
<br />
* '''Eclipse UI planning bugs''': [https://wiki.eclipse.org/Platform_UI/Plan/4.6/Milestones Eclipse 4.6 planning bugs]<br />
* '''Eclipse platform''': [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Eclipse&component=IDE&component=Releng&component=Resources&component=Runtime&component=Scripting&component=Search&component=SWT&component=Text&component=UI&component=User%20Assistance&component=Website&email1=Lars.Vogel%40gmail.com&emailtype1=exact&f2=keywords&j_top=OR&list_id=13173188&o1=equals&o2=equals&product=Platform&query_format=advanced&v1=helpwanted&v2=bugday List of bugs to fix].<br />
* '''e4 Tools''': [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Eclipse&component=Tools&keywords=helpwanted%2C%20&keywords_type=allwords&list_id=7371420&product=e4&query_format=advanced&order=bug_id&query_based_on= List of bugs to fix].<br />
* '''EGIT''': [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=UI&keywords=bugday%2C%20&keywords_type=allwords&list_id=12294631&product=EGit&query_format=advanced= List of bugs to fix].<br />
* '''Bug 496355''': [https://bugs.eclipse.org/bugs/show_bug.cgi?id=496355 Application.e4xmi elements].<br />
<br />
=== Preparation ===<br />
<br />
It will be helpful if you register your user already for Gerrit contributions and make yourself familiar with the Eclipse platform. See lists of resources for futher information.<br />
<br />
=== Organisers ===<br />
#[https://www.xing.com/profile/Philip_Wenig Philip Wenig], [https://www.openchrom.net OpenChrom]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com/ vogella GmbH]<br />
#[http://www.vogella.com/people/larsvogel.html Lars Vogel], [http://www.vogella.com/ vogella GmbH]<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending, please add your name and email address to the list below. We use the email to notify you in case something changes. If you have any trouble with the wiki, just send an email to the organizers.<br />
<br />
# Ataul Ahmad, [mailto:ataul@ahmadsoft.de ataul@ahmadsoft.de]<br />
# Torsten Witte, [http://www.subshell.com subshell GmbH]<br />
# Tommy Redel, [http://www.subshell.com subshell GmbH]<br />
# Daniel Raap, [http://www.subshell.com/ subshell GmbH]<br />
<br />
=== List of resources ===<br />
# [http://www.vogella.com/files/ContributingToEclipse-SecondEdition-FreeDownload.pdf Free edition of contributing to Eclipse book from Lars Vogel]: You may start at chapter "II. Preparing code contributions to Eclipse platform"<br />
# [http://www.vogella.com/articles/EclipsePlatformDevelopment/article.html Tutorial about Eclipse platform development]<br />
# [http://www.vogella.com/articles/Gerrit/article.html#eclipsegerritcontribution How to configure your user to contribute via Gerrit] <br />
# [http://www.vogella.com/articles/EclipsePlugIn/article.html Eclipse plug-in development tutorial]<br />
<br />
=== Email distribution list to get info ===<br />
<br />
We announce the next dates always on the Eclipse Hackathon mailing list. Use the following link to register for it: [https://dev.eclipse.org/mailman/listinfo/hackathon Eclipse Hackathon email distribution list]<br />
<br />
=== Credits ===<br />
Wording inspired by [[Eclipse DemoCamps November 2013/Hamburg|DemoCamp 2013 Hamburg]] and [[Eclipse DemoCamps November 2012|Vancouver Hackathon 2012 Vancouver]]<br />
<br />
[[Category:Hackathons]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Oxygen_2017/Toulouse&diff=414381Eclipse DemoCamps Oxygen 2017/Toulouse2017-02-17T20:42:22Z<p>Derek.toolan.eclipse.org: Merge edit by Camille.amiaud.gmail.com</p>
<hr />
<div>[[Image:Eclipse_DemoCamp_New.jpg]] <br />
<br />
=== Location ===<br />
<br />
Toulouse TBD<br />
<br />
=== Date and Time ===<br />
<br />
Thursday March 2nd 2017 at 6:00 PM CEST<br />
<br />
=== Registrations ===<br />
<br />
Register on the [https://www.meetup.com/fr-FR/Toulouse-Java-User-Group/events/237526425/?eventId=237526425/ Toulouse JUG meetup].<br />
<br />
=== Organizers ===<br />
<br />
* [http://www.toulousejug.org/ Toulouse JUG]<br />
* Mélanie Bats, [http://www.obeo.fr Obeo] (email melanie dot bats at obeo dot fr)<br />
<br />
=== Presenters ===<br />
<br />
* ''What's new in Eclipse Oxygen ?'', by Olivier Prouvost [http://www.opcoach.com/ OPCoach]<br />
* ''IoT demos'', by [https://plus.google.com/+BenjaminCab%C3%A9 Benjamin Cabé] [https://eclipse.org Eclipse Foundation]<br />
* ''TBD'' by [http://www.obeo.fr/ Obeo]<br />
* ''[https://www.eclipse.org/community/eclipse_newsletter/2015/june/article3.php Docker Tooling] and [https://www.openshift.com/ OpenShift Tooling]'', by Jean-François Maury [http://redhat.com/ Red Hat]<br />
* ''[https://eclipse.org/ease/ EASE] demo'' by Alain Bernard [http://www.airbus.com/ Airbus]<br />
* ''JDT in VSCode, C# in Eclipse IDE, your language everywhere with the [https://github.com/eclipse/lsp4j Language Server Protocol]'', by Mickaël Istria [https://developers.redhat.com/ Red Hat]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2017_Ideas&diff=413975Google Summer of Code 2017 Ideas2017-02-06T15:34:15Z<p>Derek.toolan.eclipse.org: Merge edit by Robert.hoettger.fh-dortmund.de</p>
<hr />
<div>{{Warning|Project team member and potential mentors, add your content here. The format suggested below is just an idea. Play with the layout, but please don't mess with content provided by other projects. Please be sure to follow branding guidelines (e.g. "Eclipse Dash", not "Dash"). Putting things in alphabetical order seems like a fair thing to do. Links to content hosted elsewhere are fine, but bear in mind that this page will likely be the main point of contact for people who are not already inside your community.}}<br />
<br />
=Eclipse Dash=<br />
''NOTE that this is basically a placeholder to give mentors an idea of how they might format a section of their own. This may actually survive as an idea to present to students, but--by way of expectation management--expect that it will disappear.''<br />
<br />
[http://www.eclipse.org/dash Eclipse Dash] is a place where the community itself can collaborate on tools for community awareness and collaboration in support of our ultimate objective of committer quality and cooperation. This is very much a research project as we are not entirely sure what these tools will be.<br />
<br />
Here are some of our project ideas:<br />
<br />
* Extend the Eclipse Dash Gently Dependency analysis tools to identify the use of third-party JavaScript libraries {{Bug|509617}}<br />
* Update the IP cartoons and move them to the handbook {{Bug|498290}}<br />
<br />
<br />
=Capra=<br />
<br />
[https://projects.eclipse.org/projects/modeling.capra/ Capra] is a traceability management tool that enables creation, maintenance and visualisation of traceability links between arbitrary development artifacts such as requirements, design models, code, task tickets and so on. Since Capra is a product of a research and academia project, there are lots of interesting features that students could implement. Please browse on the list of features [https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Capra here], but the following have a high priority and we encourage students to look at these:<br />
<br />
* Analyse the traceability models and create visual representations of issues, traceability statistics and so on. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=510492 Bug 510492]<br />
* Add collaboration features to the tool. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=506906 Bug 506906]<br />
<br />
=Eclipse RDF4J=<br />
<br />
[http://www.rdf4j.org/ Eclipse RDF4J] is a framework for scalable processing of linked data in RDF. This includes parsing, writing, scalable database storage, reasoning and querying (using the SPARQL query language). RDF4J offers a set of Java libraries as well as a fully-fledged database server and several client UI tools to interact with RDF data. We're a small team who are open to fresh ideas and new contributions. People interested in doing a project with RDF4J are invited to browse through our [https://github.com/eclipse/rdf4j/issues issue tracker] and look for anything marked "help wanted", or to submit their own proposal. <br />
<br />
Here are some project ideas:<br />
<br />
* Extend the SPARQL QueryRenderer utility to support more advanced SPARQL 1.1 features (subqueries, aggregates, etc.) [https://github.com/eclipse/rdf4j/issues/496 #496]<br />
* Extend/replace the SPARQL QueryBuilder to a more user-friendly API and allowing more advanced SPARQL 1.1 features [https://github.com/eclipse/rdf4j/issues/71 #71]<br />
* Add support for the SHACL (Shapes Constraint Language), a declarative language for specifying data validation constraints on RDF database [https://github.com/eclipse/rdf4j/issues/743 #743]<br />
<br />
=EASE=<br />
<br />
[http://www.eclipse.org/ease/ EASE] allows to add scripting functionality to the Eclipse IDE. By providing script source locations we read script code and make it available in the UI. Such scripts may use special header keywords that trigger certain actions. <br />
<br />
== Dependency keyword ==<br />
By introducing a new keyword for plugin dependencies, scripts could aid the user to install required components before run. A detailed description is given in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=511525 Bug 511525].<br />
<br />
== Script location resolvers ==<br />
We use parsers to fetch scripts from the file system or the workspace. A prototype for an http index file parser is available, too. It would be great to have parsers for source control systems like github, gerrit or svn to fetch scripts directly from such locations. See <br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511528 Bug 511528]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511529 Bug 511529]<br />
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=511530 Bug 511530]<br />
for details.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Hackathon_Hamburg_2016_Dec&diff=413005Hackathon Hamburg 2016 Dec2016-12-20T14:55:09Z<p>Derek.toolan.eclipse.org: Merge edit by Fabian.pfaff.vogella.com</p>
<hr />
<div>In this hackathon we will try to improve the RCP and e4 experience in the Eclipse IDE.<br />
<br />
== Attendees ==<br />
<br />
* Olivier Prouvost (OPCoach)<br />
* Patrik Suzzi<br />
* [http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com/ vogella GmbH]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Orion/Plan&diff=412558Orion/Plan2016-12-05T20:26:46Z<p>Derek.toolan.eclipse.org: Merge edit by Snorthov.ca.ibm.com</p>
<hr />
<div>== Current and future releases ==<br />
<br />
* All release plans beyond Orion 5.0 are found on the [https://projects.eclipse.org/projects/ecd.orion Orion project overview page]<br />
* [[Orion/Plan/Language_Tools|Language Tools]] - Roadmap for language tools in the Orion editor<br />
<br />
== Release Wind-down ==<br />
As the development cycle gets closer to the release date, there is a general process we follow to ensure a successful and stable release.<br />
<br />
When development reaches the final thirty days before release, two important steps begin the wind-down:<br />
# The [https://projects.eclipse.org/projects/ecd.orion/generate-iplog IP log is submitted]. Before the logs are submitted, all outstanding dependencies must be checked and a decision made if they will appear in the upcoming release.<br />
# A release review must be scheduled. This is done from the [https://projects.eclipse.org/projects/ecd.orion project page] under a specific release.<br />
<br />
<br />
During the last thirty days, development follows a different schedule. <br />
To make sure we do not introduce any regressions right before the release, we do the following:<br />
# Keep working as usual for the first week of the wind-down. Typically no new features will be added at this time unless approved by the project lead.<br />
# Once the release review is complete (typically by the second week of the wind-down), development changes to the "last chance" stage to put in changes (with no new features), with each change requiring a +1 from one other committer. This continues for the next two weeks.<br />
# The last week is reserved strictly for testing and making critical fixes, with any fix requiring a +1 from two committers (ideally one of the committers being the project lead).<br />
# After the release has been announced on the mailing list and [http://planetorion.org/news/ planetorion], new and noteworthy blog posts are created for each area (tools, client, etc).<br />
<br />
== Past releases ==<br />
* [https://projects.eclipse.org/projects/ecd.orion/releases/13.0 13.0 Release]<br />
* [https://projects.eclipse.org/projects/ecd.orion/releases/12.0 12.0 Release]<br />
* [https://projects.eclipse.org/projects/ecd.orion/releases/11.0 11.0 Release]<br />
* [https://projects.eclipse.org/projects/ecd.orion/releases/10.0 10.0 Release]<br />
* [https://projects.eclipse.org/projects/eclipse.orion/releases/9.0 9.0 Release]<br />
* [https://projects.eclipse.org/projects/eclipse.orion/releases/8.0 8.0 Release]<br />
* [https://projects.eclipse.org/projects/eclipse.orion/releases/7.0 7.0 Release]<br />
* [https://projects.eclipse.org/projects/eclipse.orion/releases/6.0.0 6.0 Release]<br />
* [https://projects.eclipse.org/projects/eclipse.orion/releases/5.0.0 5.0 Release]<br />
* [http://projects.eclipse.org/projects/eclipse.orion/releases/4.0.0 4.0 Release]<br />
* [[Orion/Plan/3.0| 3.0 Release planning]]<br />
* [http://eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/orion/plans/orion-project-plan-3-0.xml Orion 3.0 Release Plan]<br />
* [http://eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/orion/plans/orion-project-plan-2-0.xml Orion 2.0 Release Plan]<br />
* [http://eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/orion/plans/orion-project-plan-1-0.xml Orion 1.0 Release Plan]<br />
* [[Orion/Plan/0.5| 0.5 Release plan]]<br />
* [[Orion/Plan/0.4| 0.4 Release plan in wiki form]]<br />
* [http://eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/eclipse/orion/plans/orion-project-plan-0-3.xml October 2011 0.3 Release Plan]<br />
* [[Orion/Plan/0.2| June 2011 0.2 Release Plan]]<br />
* [[Orion/Milestone_Plan]]<br />
<br />
[[Category:Orion]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_November_2016/Hamburg&diff=412557Eclipse DemoCamp November 2016/Hamburg2016-12-05T20:24:54Z<p>Derek.toolan.eclipse.org: Merge edit by David.neugebauer.landdata.de</p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the [https://www.google.com/maps/place/ABC-Straße+19,+20354+Hamburg,+Germany Google office in Hamburg], ABC-Straße 19, 20354 Hamburg.<br />
<br />
=== Date and Time ===<br />
<br />
November 28, 2016<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> Google is sponsoring the location<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Proposals ===<br />
<br />
(please enter your demo proposals here)<br />
<br />
Eclipse Platform News for 4.7 - The new greatness - [http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
<br />
How Microsoft's Language Server Protocol Stirs Up Eclipse - [https://www.xing.com/profile/Jan_Koehnlein Jan Koehnlein] [http://www.typefox.io TypeFox]<br />
<br />
The Next Generation Eclipse Graphical Editing Framework - [https://www.linkedin.com/in/nyssen Alexander Nyßen] [http://www.itemis.com itemis]<br />
<br />
LibreOffice extensions made easy with Eclipse and the [https://github.com/LibreOffice/loeclipse/ LOEclipse] plugin - [https://www.xing.com/profile/Samuel_Mehrbrodt Samuel Mehrbrodt], [https://www.cib.de CIB]<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:15: Eclipse Platform News for 4.7 - The new greatness - Simon Scholz, vogella<br />
*19:20 - 19:50: The Next Generation Eclipse Graphical Editing Framework - Alexander Nyßen itemis<br />
<br />
*19:50 - 20:30: break<br />
<br />
*20:30 - 21:00: How Microsoft's Language Server Protocol Stirs Up Eclipse - Jan Koehnlein TypeFox<br />
*21:05 - 21:35: LibreOffice extensions made easy with Eclipse and the LOEclipse plugin - Samuel Mehrbrodt, CIB<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://twitter.com/roxannejoncas Roxanne Joncas], [http://www.eclipse.org/ Eclipse Foundation]<br />
#[https://twitter.com/stefanoehme Stefan Oehme], [http://www.gradle.org/ Gradle GmbH]<br />
#[https://www.evodion.de/ evodion Information Technologies GmbH], rri<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#Harald Albers, [https://hamburger-software.de HS - Hamburger Software GmbH] (also registered via JUGHH)<br />
#[https://www.xing.com/profile/Franz_Becker21 Franz Becker], [https://www.itemis.com/de/ itemis AG]<br />
#[https://www.xing.com/profile/Samuel_Mehrbrodt Samuel Mehrbrodt], [https://www.cib.de CIB]<br />
#Eric Ahrens, [https://www.scheidt-bachmann.de/de/systeme-fuer-signaltechnik/scheidt-bachmann-system-technik-gmbh/ Scheidt & Bachmann System Technik GmbH]<br />
#Joachim Bleidiessel, [https://www.scheidt-bachmann.de/de/systeme-fuer-signaltechnik/scheidt-bachmann-system-technik-gmbh/ Scheidt & Bachmann System Technik GmbH]<br />
#Michael Dittmer, [https://www.scheidt-bachmann.de/de/systeme-fuer-signaltechnik/scheidt-bachmann-system-technik-gmbh/ Scheidt & Bachmann System Technik GmbH]<br />
#[https://de.linkedin.com/in/haukefuhrmann Hauke Fuhrmann], [https://www.scheidt-bachmann-st.de Scheidt & Bachmann System Technik GmbH]<br />
# Sebastian Bellmann, TRD-Trading GmbH<br />
# Jannes Heinrich, [https://www.itemis.de itemis AG]<br />
#[https://www.xing.com/profile/Bjoern_Engelmann3 Björn Engelmann], [https://www.itemis.de itemis AG]<br />
#Dalibor Topic, ORACLE Deutschland B.V. & Co. KG <br />
#[https://www.xing.com/profile/Marco_Mosconi2 Marco Mosconi], Stiftung für Hochschulzulassung<br />
#[https://www.linkedin.com/in/nyssen Alexander Nyßen], [https://www.itemis.de itemis AG]<br />
#[https://www.xing.com/profile/Holger_Schill2 Holger Schill], [https://www.itemis.de itemis AG]<br />
# Zhendong Chen [https://www.bruker.com Bruker Daltonik GmbH]<br />
# Carsten Oetke [https://www.bruker.com Bruker Daltonik GmbH]<br />
# Heiko Neuweger [http://www.bruker.com Bruker Daltonik GmbH]<br />
# Jens Vagts [https://www.bruker.com Bruker Daltonik GmbH]<br />
# Erland Müller [http://photon-science.desy.de/facilities/flash/index_eng.html DESY]<br />
# Jan Köhnlein, [https://www.typefox.io TypeFox]<br />
# Miro Spönemann, [https://www.typefox.io TypeFox]<br />
# Nikolas Kessler [http://www.bruker.com Bruker Daltonik GmbH]<br />
# Gerd Wütherich<br />
# [https://de.linkedin.com/in/olafgunkel Olaf Gunkel], [http://freiheit.com freiheit.com technologies GmbH]<br />
# [https://de.linkedin.com/in/alexander-kogan-5b15199/de Alexander Kogan], [http://freiheit.com freiheit.com technologies GmbH] <br />
# [https://blog.thebehrens.net Thorsten Behrens], [https://www.cib.de CIB]<br />
<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_November_2016/Hamburg&diff=411519Eclipse DemoCamp November 2016/Hamburg2016-11-10T14:27:05Z<p>Derek.toolan.eclipse.org: Merge edit by Saragn.gmail.com</p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Google office in Hamburg. Details will follow soon.<br />
<br />
=== Date and Time ===<br />
<br />
November 28, 2016<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> Google is sponsoring the location<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Proposals ===<br />
<br />
(please enter your demo proposals here)<br />
<br />
Eclipse Platform News for 4.7 - The new greatness - [http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
<br />
How Microsoft's Language Server Protocol Stirs Up Eclipse - [https://www.xing.com/profile/Jan_Koehnlein Jan Koehnlein] [http://www.typefox.io TypeFox]<br />
<br />
The Next Generation Eclipse Graphical Editing Framework - [https://www.linkedin.com/in/nyssen Alexander Nyßen] [http://www.itemis.com itemis]<br />
<br />
LibreOffice extensions made easy with Eclipse and the [https://github.com/LibreOffice/loeclipse/ LOEclipse] plugin - [https://www.xing.com/profile/Samuel_Mehrbrodt Samuel Mehrbrodt], [https://www.cib.de CIB]<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: demo<br />
*19:10 - 19:30: demo<br />
*19:35 - 19:55: demo<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: demo<br />
*20:55 - 21:15: demo<br />
*21:20 - 21:40: demo<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://twitter.com/roxannejoncas Roxanne Joncas], [http://www.eclipse.org/ Eclipse Foundation]<br />
#[https://twitter.com/stefanoehme Stefan Oehme], [http://www.gradle.org/ Gradle GmbH]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://twitter.com/baumato Tobias Baumann], [http://www.hapag-lloyd.com/ Hapag-Lloyd AG]<br />
#Harald Albers, [https://hamburger-software.de HS - Hamburger Software GmbH] (also registered via JUGHH)<br />
#[https://www.xing.com/profile/Franz_Becker21 Franz Becker], [https://www.itemis.com/de/ itemis AG]<br />
#[https://www.xing.com/profile/Samuel_Mehrbrodt Samuel Mehrbrodt], [https://www.cib.de CIB]<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_November_2016/Hamburg&diff=411392Eclipse DemoCamp November 2016/Hamburg2016-11-07T16:59:40Z<p>Derek.toolan.eclipse.org: Merge edit by Holger.schill.itemis.de</p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Google office in Hamburg. Details will follow soon.<br />
<br />
=== Date and Time ===<br />
<br />
November 28, 2016<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> Google is sponsoring the location<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Proposals ===<br />
<br />
(please enter your demo proposals here)<br />
<br />
Eclipse Platform News for 4.7 - The new greatness - [http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
<br />
How Microsoft's Language Server Protocol Stirs Up Eclipse - [https://www.xing.com/profile/Jan_Koehnlein Jan Koehnlein] [http://www.typefox.io TypeFox]<br />
<br />
The Next Generation Eclipse Graphical Editing Framework - [https://www.linkedin.com/in/nyssen Alexander Nyßen] [http://www.itemis.com itemis]<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: demo<br />
*19:10 - 19:30: demo<br />
*19:35 - 19:55: demo<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: demo<br />
*20:55 - 21:15: demo<br />
*21:20 - 21:40: demo<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://twitter.com/roxannejoncas Roxanne Joncas], [http://www.eclipse.org/ Eclipse Foundation]<br />
#[https://twitter.com/stefanoehme Stefan Oehme], [http://www.gradle.org/ Gradle GmbH]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://twitter.com/baumato Tobias Baumann], [http://www.hapag-lloyd.com/ Hapag-Lloyd AG]<br />
#Harald Albers, [https://hamburger-software.de HS - Hamburger Software GmbH] (also registered via JUGHH)<br />
<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Talk:Papyrus/Oxygen_Work_Description/NewFeature/PapyrusAFViewpointSwitch&diff=411391Talk:Papyrus/Oxygen Work Description/NewFeature/PapyrusAFViewpointSwitch2016-11-07T16:58:03Z<p>Derek.toolan.eclipse.org: Merge edit by Xavier.zeitoun.cea.fr</p>
<hr />
<div>Hi,<br />
<br />
Some points<br />
<br />
# Extension Points<br />
The unapply method is missing from the interface<br />
This interface should probably also provide a mechanism for viewpoint version management:<br />
Ex : A ModelKind is removed from v1 to v2<br />
<br />
# Figure 11: a Refactor menu is already present in Papyrus<br />
It would be for the best to either reuse it or use another name<br />
<br />
# Figure 5: Is this the target meta-model? (I don't see much difference with the current one)<br />
=> It may be interesting to have a way to share common css for an Architecture domain.<br />
<br />
Benoit,<br />
<br />
=Table (Vincent Lorenz)=<br />
*PapyrusTableKind and PapyrusSyncTableKind must be merged!<br />
**In the first case, we use the configuration file (referenced as a string?!)<br />
**In the second case, we use the implementationID (the type of the table)<br />
<br />
I propose to merge these 2 concepts which are useless for the viewpoint. The table configuration must be referenced by its '''type''' or must reference the configuration file itself. <br />
*Choosing the type of the table will allow to be easily compliant with a potential next version of the table.<br />
**Please, in this case replace the name implementationID by type to be compliant wiith diagram and table!<br />
*Choosing the file itself could broke the model if the required model is not available!<br />
<br />
<br />
FYI, viewpoints allows to configure the palette of the diagrams. In the table we don't have palette, but we have menus looking like new child menu. We need to be able to configure them. Currently, this configuration is done by java code provided by classes referenced by ID in the table configuration file. <br />
<br />
FYI, viewpoints allow to create and configure new diagrams. With the current table implementation, we are not able to provide new table kind using viewpoint, because the configuration of the table is not done by viewpoint but by a specific table configuration file. Viewpoint provides only useful creation menu for table, with creation restriction according to the selection.<br />
<br />
=Root and owner (Vincent Lorenzo)=<br />
It is possible to find better name for root and owner? It is never clear for me! One is used to know where we are able to display a given editor and the second one is used as creation context for the new elements. Right ? So why not call them '''displayContext''' and '''creationContext''' or '''displayRoot''' and '''semanticRoot''' or ...?</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_Neon_2016/Graz&diff=411390Eclipse DemoCamp Neon 2016/Graz2016-11-07T16:55:19Z<p>Derek.toolan.eclipse.org: Merge edit by Markus.duft.ssi-schaefer.com</p>
<hr />
<div>[[Image:DemoCamp.png]] <br />
<br />
== 1. Location ==<br />
<br />
[http://www.ssi-schaefer.de/salomon-automation.html Salomon Automation GmbH (SSI Schaefer)] <br><br />
Friesachstrasse 15 <br><br />
8114 Frisach, AT (a few minutes outside Graz)<br><br />
<br />
== 2. Date and Time ==<br />
<br />
November 17th, 2016 <br><br />
<br />
Opening: 16:00<br><br />
Closing: 21:00 official<br><br />
<br />
== 3. Organizer ==<br />
<br />
[http://www.ssi-schaefer.de/salomon-automation.html Salomon Automation GmbH (SSI Schaefer)] <br><br />
<br />
== 4. Sponsors ==<br />
<br />
The Eclipse DemoCamp will be sponsored by the Eclipse Foundation and Salomon Automation GmbH. <br><br />
<br />
If you or your company would like to sponsor the event (food, drinks, ...) please leave a note here. <br><br />
<br />
== 5. Agenda ==<br />
<br />
=== Proposed Sessions ===<br />
<br />
If you would like to give a demo, please add a proposal here, and we'll try to fit it to the schedule. <br><br />
Please also note the time that you would like to spend on the Demo. The standard timeslot is 15 minutes, shorter is OK.<br />
<br />
# Eclipse TEA. 15 Minutes - Markus Duft (SSI Schaefer)<br />
# (Efficient Launch Configurations. 15 Minutes - Markus Duft (SSI Schaefer))<br />
# Scripting Eclipse with EASE. 15 Minutes - Christian Pontesegger (Infineon)<br />
# (Why contributing to open Source? 5-10 Minutes - Christian Pontesegger (Infineon))<br />
# Interactive programming with Jupyter and Eclipse EASE. 15 Minutes - Martin Kloesch<br />
# Dynamic Bundle loading with EASE... - Bernhard Wedl (Infineon)<br />
# ?? - Ralph Mueller (Eclipse Foundation)<br />
# ?? - Tom Schindl (Bestsolution)<br />
# Modeling Statemachines with Xtext - Michael Thonhause (SSI Schaefer)<br />
# AERI in Eclipse Neon - Leveraging Automated Error Reporting for your own Eclipse Plugins and RCP Applications - Marcel Bruch (Codetrails)<br />
# Eclipse Code Recommenders & Ctrlflow Code Search - Eclipse Code Completion and Code Search Reconsidered - Marcel Bruch (Codetrails)<br />
<br />
=== Schedule ===<br />
<br />
Schedule is currently being adjusted. This is the current draft (even times may still change):<br />
<br />
16:00 -- Arrival, Meet and Greet <br><br />
16:30 -- Opening/Intro, SSI Schaefer <br><br />
16:45 -- ... Sessions TBD ... <br><br />
17:00 -- ... <br><br />
17:15 -- ... <br><br />
17:30 -- ... <br><br />
17:45 -- ... <br><br />
<br />
18:00 -- Break <br><br />
<br />
18:30 -- ... <br><br />
18:45 -- ... <br><br />
19:00 -- ... <br><br />
19:15 -- ... <br><br />
<br />
19:30 -- Networking (Beer, Soft drinks, ...)<br />
21:00 -- The “official” End. No need to rush out of the building<br />
<br />
Language of the presentations: EN <br><br />
<br />
== 6. Who is attending ==<br />
<br />
Registration: here or at [http://doodle.com/poll/d9dx6uy3arvuxpkd doodle.com] <br></div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=CDT/User/NewIn92&diff=411209CDT/User/NewIn922016-11-01T20:38:19Z<p>Derek.toolan.eclipse.org: Merge edit by Zeratul976.hotmail.com</p>
<hr />
<div>== Release ==<br />
<br />
This is the New & Noteworthy page for CDT 9.2 which is part of the Eclipse Neon.2 update release of December 2016<br />
<br />
== General ==<br />
<br />
== Editor ==<br />
<br />
<!-- Has been reverted On Nov 1, 2016<br />
<br />
=== Create New Class - Quick Fix ===<br />
In the Outline view, the user can now delete a function using the context menu. Right-click on a function, select "Refactor"->"Delete".<br />
<br />
[[File:Outline_RefactorMenu.jpg]]<br />
<br />
This feature was completed through [http://eclip.se/483602 Bug 483602]<br />
--><br />
<br />
== Makefile Editor ==<br />
<br />
== Code Analysis ==<br />
<br />
== Parser ==<br />
<br />
=== Support for C++14 constexpr evaluation ===<br />
<br />
C++14 [https://isocpp.org/files/papers/N3652.html expanded the scope] of what's allowed inside a <tt>constexpr</tt> function, to allow variable declarations and most control statements such as loops. CDT [https://bugs.eclipse.org/bugs/show_bug.cgi?id=490475 now supports] evaluation of <tt>constexpr</tt> functions that make use of these features.<br />
<br />
[[File:CXX14Constexpr.png]]<br />
<br />
In this example, CDT simulates the execution of a <tt>constexpr</tt> function that contains a <tt>for</tt> loop to determine that the type of <tt>x</tt> is <tt>integer&lt;10&gt;</tt>.<br />
<br />
== Formatter ==<br />
<br />
== Build ==<br />
<br />
== Debug ==<br />
<br />
=== Full GDB console ===<br />
<br />
== Bugs Fixed in this Release ==<br />
<br />
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=9.2.0 Bugs Fixed in CDT 9.2]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_November_2016/Hamburg&diff=411208Eclipse DemoCamp November 2016/Hamburg2016-11-01T20:35:29Z<p>Derek.toolan.eclipse.org: Merge edit by Erlandm.gmx.net</p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Google office in Hamburg. Details will follow soon.<br />
<br />
=== Date and Time ===<br />
<br />
November 28, 2016<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> Google is sponsoring the location<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Proposals ===<br />
<br />
(please enter your demo proposals here)<br />
<br />
Eclipse Platform News for 4.7 - The new greatness - [http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
<br />
How Microsoft's Language Server Protocol Stirs Up Eclipse - [https://www.xing.com/profile/Jan_Koehnlein Jan Koehnlein] [http://www.typefox.io TypeFox]<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: demo<br />
*19:10 - 19:30: demo<br />
*19:35 - 19:55: demo<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: demo<br />
*20:55 - 21:15: demo<br />
*21:20 - 21:40: demo<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://twitter.com/roxannejoncas Roxanne Joncas], [http://www.eclipse.org/ Eclipse Foundation]<br />
#[https://twitter.com/stefanoehme Stefan Oehme], [http://www.gradle.org/ Gradle GmbH]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://twitter.com/baumato Tobias Baumann], [http://www.hapag-lloyd.com/ Hapag-Lloyd AG]<br />
<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_November_2016/Hamburg&diff=411207Eclipse DemoCamp November 2016/Hamburg2016-11-01T20:31:19Z<p>Derek.toolan.eclipse.org: Merge edit by Gunther.bachmann.itemis.de</p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Google office in Hamburg. Details will follow soon.<br />
<br />
=== Date and Time ===<br />
<br />
November 28, 2016<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> Google is sponsoring the location<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Proposals ===<br />
<br />
(please enter your demo proposals here)<br />
<br />
Eclipse Platform News for 4.7 - The new greatness - [http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
<br />
How Microsoft's Language Server Protocol Stirs Up Eclipse - [https://www.xing.com/profile/Jan_Koehnlein Jan Koehnlein] [http://www.typefox.io TypeFox]<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: demo<br />
*19:10 - 19:30: demo<br />
*19:35 - 19:55: demo<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: demo<br />
*20:55 - 21:15: demo<br />
*21:20 - 21:40: demo<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://twitter.com/roxannejoncas Roxanne Joncas], [http://www.eclipse.org/ Eclipse Foundation]<br />
#[https://twitter.com/stefanoehme Stefan Oehme], [http://www.gradle.org/ Gradle GmbH]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://twitter.com/baumato Tobias Baumann], [http://www.hapag-lloyd.com/ Hapag-Lloyd AG]<br />
<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Platform/summitece2016&diff=410968Platform/summitece20162016-10-24T18:10:04Z<p>Derek.toolan.eclipse.org: Merge edit by Scela.redhat.com</p>
<hr />
<div>Eclipse Platform Summit @ EclipseCon Europe 2016<br />
A one-day Eclipse Platform & Related Tools Summit will be held at EclipseCon Europe 2016 before the main conference. This is a chance for Eclipse Platform users and extenders, old and new to get together to collaborate and drive the future direction of the Eclipse platform project. The goal of this day is to exchange information, get a global vision of what we would like to have and to open the relevant bugs to work on. <br />
<br />
Examples for issues that could be discussed are: <br />
* Application model enhancement ,Feedback about migration, E4 usage, E4 tools vs E4 spies, Managing missing extension points ...<br />
* What is wrong, what is good<br />
* Test policies for committers<br />
* RAP/JavaFx/Vaadin implementations<br />
* Project communication<br />
* Any good idea ! <br />
<br />
Watch this space for other related Platform activities at EclipseCon Europe (BOFs, hackathons, etc).<br />
<br />
Time/Location<br />
Monday October 24th 2016, Ludwigsburg, Germany, located at EclipseCon Europe, Forum am Schlosspark<br />
<br />
Start at 10:00, Seminarraum 2<br />
<br />
Registration<br />
Attendees please add your name to the list below and register for the Unconference: https://www.eclipsecon.org/europe2016/registration<br />
<br />
If you are registering for the full conference, choose the Unconference as an additional item when you register.<br />
If you are attending the Unconference by itself, choose "Unconference only" when registering.<br />
<br />
Attendees List<br />
# Olivier Prouvost (OPCoach)<br />
# Lars Vogel (vogella GmbH)<br />
# Alexander Kurtakov (Red Hat)<br />
# Andrey Loskutov (Advantest Europe GmbH)<br />
# Patrik Suzzi<br />
# Christian Pontesegger (independant)<br />
# Mickael Istria (Red Hat)<br />
# Mikael Barbero (Eclipse Foundation)<br />
# Carsten Reckord (Yatta Solutions)<br />
# Frederic Gurr (Eclipse Foundation)<br />
# Olivier Thomann (IBM)<br />
# Stefan Xenos (Google)<br />
# Alexander Rookey (Google)<br />
# Sopot Cela (Red Hat)<br />
# Jorge Cordouil Lima (Software ag)<br />
# Mykola Nikishov (independent)<br />
# Wayne Beaton (Eclipse Foundation)<br />
# Steve Francisco (IBM)<br />
<br />
Proposed Agenda<br />
# What's planned Platform for 4.7? (Suggested by Lars)<br />
# Migration of the e4 spys to PDE (Suggested by Lars, Olivier)<br />
# How can be make e4 more attractive for Eclipse plug-in developers (Suggested by Olivier)<br />
# What can be do to simplify the usage of the Eclipse IDE? (Suggested by Lars)<br />
# What improvements are needed in SWT/JFace? Missing features, components? (Suggested by Alex)<br />
## OS-level notifications<br />
# What is the correct way to do logging? (Suggested by Lars)<br />
# How to get more contributors involved? (Suggested by Andrey)<br />
## Related topic: How can we get more committers to do code reviews?<br />
# What do we need to be more productive as Platform committers (Suggested by Andrey)<br />
## Infrastructure? (Hudson, jenkins,...)<br />
## Tooling? (IDE, API tools,...)<br />
## Project/repo ownership borders? (one-man teams vs trust)<br />
# Eclipse Platform Best Practices to share (Sugg. by Patrik)<br />
## How Platform team is going to interact with the UX Group?<br />
## How to integrate Menus?<br />
# CSS Engine status (Sugg. Brian via Mailing List)<br />
## What are the current capabilities? Which are the limits? Is Apache Batik adequate? How we can improve?<br />
# Preferences & Project properties as editors<br />
# Ease more contextual progress report, especially in wizards.<br />
# What is annoying about Eclipse?<br />
# Removal of Display.syncExec calls? (Sugg. by Stefan)</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_November_2016/Bonn&diff=410828Eclipse DemoCamp November 2016/Bonn2016-10-21T16:13:00Z<p>Derek.toolan.eclipse.org: Merge edit by Info.rapidclipse.com</p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse DemoCamps Neon 2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
[http://www.leoninum-bonn.de/index_en.html Collegium Leoninum Bonn], up to 80 participants<br />
<br />
When traveling by car, you'd better use http://www.bcp-bonn.de/bcp/index.php?id=95 which is open 24h.<br />
<br />
=== Date and Time ===<br />
<br />
Monday, November 14th, 2016, 18:15<br />
<br />
=== Sponsors ===<br />
<br />
This Demo Camp will be sponsored by itemis AG, Eclipse strategic member and the leading company for model-driven software development. <br />
<br />
[[Image:Itemis pos-2.JPG|168x68px]] <br />
<br />
If your company is willing to co-sponsor this event, please contact Matthias Gutheil.<br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Matthias_Gutheil Matthias Gutheil], [http://www.itemis.de itemis AG]<br />
<br />
=== Presenters ===<br />
<br />
Our time constraints allow max 10 presentations. Inform Matthias Gutheil if you would like to give a presentation at the '''next DemoCamp in Bonn in November'''.<br />
<br />
# Alexandra Schladebeck, BREDEX GmbH: Skalierbare, toolunabhängige funktionale Tests<br />
# Karsten Thoms, itemis AG, Integrating Xtext Language Server Support in Visual Studio Code<br />
# Marcel Bruch, Codetrails, Wie du ein Automated Error Reporting für alle deine Java Anwendung aufsetzt – in weniger als 10 Zeilen Code.<br />
# Ralf Mollik, Compex Systemhaus GmbH, Orchestrating the build process in a large project environment (OSBP) with tools & brain<br />
<br />
=== Agenda ===<br />
<br />
*18:15 - 18:30 Reception<br />
*18:30 - 18:45 Opening<br />
*18:45 - 19:05 <br />
*19:05 - 19:25 <br />
*19:25 - 19:45 <br />
*19:45 - 20:15 Break, Snacks<br />
*20:15 - 20:35 <br />
*20:35 - 20:55 <br />
*20:55 - 21:15 <br />
*21:15 - 21:30 Break<br />
*21:30 - 21:50 <br />
*21:50 - 22:10 <br />
*22:10 - 22:30 <br />
*22:30 - open end Eclipse Stammtisch at [http://www.leoninum-bonn.de/index_en.html Collegium Leoninum Bonn]<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. If you have any trouble with the wiki, just send an email to [mailto:matthias.gutheil@itemis.de Matthias Gutheil].<br />
<br />
# [http://www.xing.com/profile/Danni_Baumeister Danni Baumeister], [http://www.itemis.de/ itemis AG]<br />
# [http://www.xing.com/profile/Matthias_Gutheil Matthias Gutheil], [http://www.itemis.de/ itemis AG]<br />
# Alexandra Schladebeck, BREDEX GmbH<br />
# [http://www.xing.com/profile/Karsten_Thoms Karsten Thoms], [http://www.itemis.de/ itemis AG]<br />
# [https://www.linkedin.com/in/marcelbruch Marcel Bruch], [http://ctrlflow.com/automated-error-reporting/ Ctrlflow]<br />
# Ralf Mollik, Compex Systemhaus GmbH<br />
<br />
'''Please add your name in alphabetical order.'''</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_Unconference_Europe_2016&diff=410426Eclipse Unconference Europe 20162016-10-11T15:59:04Z<p>Derek.toolan.eclipse.org: Merge edit by Kai.zimmermann.bosch-si.com</p>
<hr />
<div>=Eclipse Unconference=<br />
This page is the live agenda for the Eclipse Unconference in Ludwigsburg on October 24, 2016 at the Forum.<br />
<br />
'''<font color="blue">Please note: You must register (and pay) for the Unconference in order to attend the sessions below. You may add the Unconference registration to your EclipseCon Europe registration, or you may register for the Unconference only. See more on the [https://www.eclipsecon.org/europe2016/registration EclipseCon Europe registration page].</font>'''<br />
<br />
'''The Unconference rooms are almost full''' so please get in touch with us (gael.blondelle _ at _ eclipse.org and susan.iwai _ at _ eclipse.org) if you need space for your group.<br />
<br />
==Registration and logistics==<br />
Unlike the regular conference, this Unconference is organized by '''YOU'''. There will be food and beverages, power and projectors, and meeting rooms. We will coordinate just a bit to avoid obvious topic overlaps during the day and to make sure that everybody has the right place for their group. <br />
<br />
Ther will be some spaces dedicated to a Dev co-working space, that is, spaces where developers meet and work together on their preferred projects. Both experienced and new contributors will find that the co-working space is a good chance to meet and learn from each other.<br />
<br />
Registration: If you plan to participate, you have to register for the Unconference on the [https://www.eclipsecon.org/europe2016/registration conference registration] page.<br />
<br />
==Unconference Organizers==<br />
* Susan Iwai: Eclipse Foundation Europe - Unconference coordination<br />
* Gaël Blondelle: Eclipse Foundation Europe - Unconference cordination / Embedded Systems<br />
* Ian Skerrett and Benjamin Cabé: IoT Working Group<br />
* Matthias Zimmermann: [https://wiki.eclipse.org/Scout/UserGroupMeeting/2016 Scout User Group Meeting]<br />
* Torkild Resheim: Science Working Group<br />
* Johannes Kristan (Bosch SI), Michael Jaeger (Siemens): Open Source Component Management<br />
<br />
=Poster session=<br />
During the Unconference, we will host a poster session over our lunch break. Please send an email to gael.blondelle _at_ eclipse.org and susan.iwai _ at _ eclipse.org if you plan to come with a poster so that we make sure we have enough boards for display. The displays are 118 cm wide x 141 cm high. Please list your poster below. <br />
<br />
List of posters:<br />
<br />
* Papyrus Industry Consortium<br />
* Papyrus for Real Time<br />
* [http://profiles.yatta.de Yatta Profiles for Eclipse] ''Note: Yatta needs two poster boards''<br />
* BaSys Project: BaSys 4.0 is a new German Industrial Internet project which plans to develop an “operating system” (as a common middleware similar to AUTOSAR) for production plants and industrial applications in general.<br />
* Gemoc Research Consortium<br />
* Long Term Support Working Group<br />
<br />
=Unconference Agenda=<br />
The Unconference has two tracks. Track 1 starts at 9:00 and has two 90-minute morning sessions. Track 2 starts at 10:30 and has two 60-minute morning sessions. Both tracks follow the same lunch and afternoon schedule.<br />
<br />
Morning Track A: '''IoT, Science, CDT Summit, Scout User Group Meeting'''<br />
* Registration and Welcome Coffee 8:00<br />
* Session A1 09:00 - 10:30<br />
* Coffee 10:30 - 11:00<br />
* Session A2 11:00 - 12:30<br />
<br />
Morning Track B: '''Eclipse Startup Meetup, OpenMDM + OpenPASS, OSS Component Management'''<br />
* Registration and Welcome coffee 10:00<br />
* Session B1 10:30 - 11:30<br />
* Session B2 11:30 - 12:30 <br />
<br />
Afternoon:<br />
* Lunch and Poster Session 12:30 - 14:00<br />
* Session 3 14:00 - 15:30<br />
* Coffee 15:30 - 16:00<br />
* Session 4 16:00 - 17:30<br />
<br />
[[File:Unconference2016Rev2.png]]<br />
<br />
<!--<br />
{| class="wikitable" border="1"<br />
|-<br />
! <br />
| align='center' | '''Bürgersaal 2'''<br />
| align='center' | '''Schubartsaal'''<br />
| align='center' | '''Seminarraum 5'''<br />
| align='center' | '''Seminarräume 1-2'''<br />
|-<br />
! 8:30-9:00 <br />
| colspan='4' align='center'|Welcome Coffee<br />
|-<br />
! 9:00-9:10 <br />
| colspan='4' align='center'|Welcome address and Program presentation (Bürgersaal 2)<br />
|-<br />
! 9:15-10:45 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Working_Group IoT Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Getting_Started_with_Papyrus Getting started with Papyrus]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#OSLC_Session OSLC Session]<br />
|-<br />
! 10:45-11:00<br />
| colspan='4' align='center' | Coffee Break<br />
|-<br />
! 11:00-12:30 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Working_Group IoT Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Customizing_Papyrus_for_Automotive_and_Embedded_Systems Customizing Papyrus for Automotive and Embedded Systems]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#OSLC_Session OSLC Session]<br />
|-<br />
! 12:30-14:00<br />
| colspan='4' align='center' | Lunch and Poster Session<br />
|-<br />
! 14:00-15:30 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Information_Model_Repository IoT Information Model Repository]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Polarsys_Requirement_Engineering_Workshop_:_ReqCycle Polarsys Requirement Engineering Workshop : ReqCycle]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Long_Term_Support_Working_Group Long Term Support WG]<br />
|-<br />
! 15:30-16:00<br />
| colspan='4' align='center' | Coffee break ([https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Model_Finder_Group Model Finder Group Organization])<br />
|-<br />
! 16:00-17:30 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Working_Group IoT Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#PolarSys_Maturity_Assessment PolarSys maturity assessment]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Where_to_go_with_EASE.3F Where to go with EASE?]<br />
|}<br />
<br />
=Dev Co-working Space=<br />
Tell your buddies you will be at the Dev Co-working Space! <br />
Starting noon on November 2nd, use the Dev co-working space to work on your Eclipse project. We have space for self-organizing groups to work together on open source projects, to discuss topics relevant to a broader subset of the community, and to hack code...<br />
<br />
If you want to tell the world you will be there, add yourself to the list below, and list :<br />
* Your name<br />
* Projects name in which you are or would like to be involved<br />
* When do you arrive at the Dev Co-working space<br />
<br />
Meet the developers!<br />
* ModelWriter: Ferhat Erata, Yvan Lussaud.<br />
* MQTT-Client iOS/OSX/tvOS, OwnTracks: Christoph Krey.<br />
*<br />
--><br />
<br />
=Unconference session descriptions=<br />
<br />
<!-- ==Science Working Group==<br />
* Session coordinator: Philip Wenig<br />
* Session type: Coding session<br />
Editing and display of time series data is an ubiquitous task in scientific research. Most commonly, the needed functionality is developed by each project from the ground up. Contrary to that, it would be better to have a flexible framework that separates the editing pipeline and the display of the data. Moreover, it must be data format independent so that it can be used more widely. Specialized scientific projects could then use the framework and connect their data to the framework. Within the session, we'd like to discuss about such a framework. Moreover, coding says more than thousand words.<br />
* n-dimensional data editing<br />
* Display libraries, SWTChart, XYGraph, JavaFX, ... --><br />
<br />
== IoT Working Group ==<br />
<br />
A meeting of the Eclipse IoT community and IoT enthusiasts. Join us to learn about IoT at Eclipse and share your thoughts on the requirements for building an Internet of Things based on open source and open standards.<br />
<br />
*Session coordinators: Ian Skerrett, Benjamin Cabé<br />
*Room: Schubartsaal<br />
<br />
==== Project Updates / New Project Introduction - 9:00 - 12:30====<br />
Each project will spend 10 minutes updating on their current status. The update should include:<br />
*Project Overview: Short (1 slide) reminder about your project functionality. This is for people who are be new.<br />
* Project stats: tell us how well your project is doing. Number of download, number of contributors, number of bugs opened, number of mailing list subscribers, etc.<br />
* Project plan: when is the next release and what are the key features.<br />
* Key Challenges: What challenges/issues are you having? <br />
* Collaboration Opportunities: Where do you see potential for collaboration with other Eclipse IoT projects or other communities.<br />
<br />
* Projects: <br />
** add your name next your project if you want to present<br />
** Californium (Kai Hudalla)<br />
** Hono (Kai Hudalla)<br />
** Edje (Laurent Lagosanto)<br />
** Kura<br />
** Leshan (Julien Vermillard)<br />
** Concierge (Jochen Hiller)<br />
** SmartHome (Kai Kreuzer)<br />
<br />
* New Project Introduction<br />
** Kapua<br />
** Milo<br />
** IoFog<br />
** Unide - Axel Meinhardt<br />
<br />
==== Invited Speakers ====<br />
<br />
* Collaboration on inter-operable components for an IoT Cloud<br />
* Introduction to joynr - David Katz, BMW Car-IT<br />
* AGILE IoT - Eclipse Agilis project proposal and EU AGILE IoT project update - Charalampos Doukas <br />
* Web of Things Introduction - Matthias Kovatsch<br />
<br />
====Collaboration Topics / Open Whiteboard====<br />
<br />
* Eclipse Marketplace for IoT - Ian Skerrett<br />
* New Github features for Eclipse IoT Projects https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features<br />
* Demonstrators<br />
* Goals and Strategy for Eclipse IoT WG in 2017 - Ian Skerrett<br />
<br />
== Science Working Group ==<br />
Meet and greet with the Science Working Group community. Project updates, ...<br />
<br />
* Session coordinator: Torkild Resheim<br />
* Other participants : Philip Wenig, Davy De Durpel & Erwin De Ley, Werner Keil [http://www.debrief.info Ian Mayo]<br />
<br />
==== 9:00-10:30 Time slot 1====<br />
Welcome and project overviews<br />
* what have we been working on last year<br />
* small demo<br />
* roadmap for next x months<br />
<br />
==== 11:00-12:30 Time slot 2====<br />
* How to get other projects onboard like BioClipse, ...?<br />
* Are HDF5 bundles in Orbit available already?<br />
<br />
==== 14:00-15:30 Time slot 3====<br />
Things related to science projects release<br />
* Status of the Science release : did we meet the Oct 21 target, open issues, ...<br />
* Is it possible to create an "Eclipse IDE for Scientists" like "Eclipse IDE for Java EE Developers" or "Eclipse for RCP and RAP Developers"?<br />
* Which steps are necessary to be part of the release train next year?<br />
<br />
==== 16:00-17:30 Time slot 4====<br />
* How to use JSR-363 in a Science project or migrate from JSR-275/JScience 4<br />
<br />
== Open Source Component Management ==<br />
<br />
As pointed out in the [https://projects.eclipse.org/proposals/sw360 SW360 project proposal], software is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges:<br />
<br />
* Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc.<br />
* Sharing knowledge about software components and their qualities. <br />
* Providing a broad overview of the components used.<br />
* Coping with a growing amount of 3rd party components. See the [http://www.modulecounts.com/ module count web site] for the numbers.<br />
<br />
As a consequence, the inter-operation between software management and software analysis tools is inevitable. In a growing ecosystem of tools and solutions in this area, common interfaces and data formats are required for comprehensive usage in organizations.<br />
<br />
The goal of this sessions is to <br />
* introduce and connect between different efforts in this area<br />
* A first step towards common interfaces and data formats: getting a common understanding about the challenges and how to cover this topic further.<br />
<br />
For example, the Eclipse IP team is not the only to face these challenges, and the Eclipse community is now tackling the topic with projects like SW360. <br />
<br />
Meet the SW360 project leaders and other experts for fruitful exchanges about this topic.<br />
<br />
'''Session coordinators''': Johannes Kristan from Bosch SI and Michael C. Jaeger from Siemens Corporate Technology ([https://github.com/sw360/sw360portal SW360 Project]) <br />
<br />
'''Targeted Audience''': Everyone is welcome to participate who is interested and/or has ideas how to contribute to this area.<br />
<br />
==== 14:00-15:30 Introduction and Information ====<br />
<br />
* Welcome and introduction of session attendees - ''all''<br />
* Discussion of expectations to session - ''all''<br />
* Open Source Component Management - ''Johannes Kristan and Michael C. Jaeger (SW360 project)''<br />
* Overview SW360 project - ''Johannes Kristan and Michael C. Jaeger (SW360 project)''<br />
<br />
==== 16:00-17:30 Open Space ====<br />
<br />
* Drawing a big picture of software management<br />
* Identifying collaboration mode for next steps<br />
* ...<br />
<br />
== Platform Summit ==<br />
<br />
This group is created to have discussion around the Eclipse Platform architecture and possible enhancement we could do for the next release. Of course this group is also the place to be for eclipse platform committers, to know us better and to share our ideas. <br />
<br />
Join this session if you have any idea about this topic, and especially if you are an Eclipse platform committer. <br />
<br />
Of course, use this issue list to give your feedback and your ideas even if you can not attend. <br />
<br />
* Session coordinators: Olivier Prouvost, Lars Vogel and Alex Kurtakov <br />
<br />
Details: https://wiki.eclipse.org/Platform/summitece2016<br />
<br />
== CDT Summit ==<br />
<br />
The CDT Summit is a one-day, informal gathering of CDT (Eclipse C++ Development Tooling Project) users and extenders. The goal of the summit is to collaborate and drive the future direction of CDT.<br />
* Session coordinators: Tracy Miranda and Jonah Graham, Kichwa Coders<br />
<br />
* The proposed agenda includes these topics:<br />
<br />
# What's new in CDT?<br />
# Showcase / Demo Camp for CDT Extenders (short demos of CDT based products/plug-ins)<br />
# Plan for next CDT releases<br />
## Multi-core breakpoints<br />
## GDB Console<br />
# Polarsys Rover Project - an overview of this outreach project that uses CDT<br />
<br />
* Find out more: https://wiki.eclipse.org/CDT/summitece2016<br />
<br />
== Scout User Group ==<br />
<br />
The [[Scout/UserGroupMeeting/2016|Scout User Group Meeting]] is the place to learn and exchange about building business applications with the Scout framework. The day offers a chance to hear the latest on updates to the platform, exchange with fellow users or even get yourself started using Scout. Scout users are invited to present their experiences and ideas for using and developing the framework. [https://wiki.eclipse.org/Scout/UserGroupMeeting/2016 Find out more!]<br />
<br />
== Eclipse Project Startup Meetup ==<br />
<br />
This session is for projects starting up at Eclipse. It is an opportunity to introduce your project to the Eclipse community and help your contributors and committers get the information they need during their launch phase.<br />
<br />
We will be giving all new projects an opportunity to do a lightening talk during the session. We also encourage you to take advantage of the lunch time poster session. Visit the [[Eclipse Project Startup Meetup]] page for more information and registration.<br />
<br />
We welcome suggestions for topics you as a new project would like to discuss. Email susan.iwai@eclipse.org with your suggestions!</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_Unconference_Europe_2016&diff=410254Eclipse Unconference Europe 20162016-10-04T20:51:11Z<p>Derek.toolan.eclipse.org: Merge edit by Ian.planetmayo.com</p>
<hr />
<div>=Eclipse Unconference=<br />
This page is the live agenda for the Eclipse Unconference in Ludwigsburg on October 24, 2016 at the Forum.<br />
<br />
'''The Unconference rooms are almost full''' so please get in touch with us (gael.blondelle _ at _ eclipse.org and susan.iwai _ at _ eclipse.org) if you need space for your group.<br />
<br />
==Registration and logistics==<br />
Unlike the regular conference, this Unconference is organized by '''YOU'''. There will be food and beverages, power and projectors, and meeting rooms. We will coordinate just a bit to avoid obvious topic overlaps during the day and to make sure that everybody has the right place for their group. <br />
<br />
Ther will be some spaces dedicated to a Dev co-working space, that is, spaces where developers meet and work together on their preferred projects. Both experienced and new contributors will find that the co-working space is a good chance to meet and learn from each other.<br />
<br />
Registration: If you plan to participate, you have to register for the Unconference on the [https://www.eclipsecon.org/europe2016/registration conference registration] page.<br />
<br />
==Unconference Organizers==<br />
* Susan Iwai: Eclipse Foundation Europe - Unconference coordination<br />
* Gaël Blondelle: Eclipse Foundation Europe - Unconference cordination / Embedded Systems<br />
* Ian Skerrett and Benjamin Cabé: IoT Working Group<br />
* Matthias Zimmermann: [https://wiki.eclipse.org/Scout/UserGroupMeeting/2016 Scout User Group Meeting]<br />
* Torkild Resheim: Science Working Group<br />
* Johannes Kristan (Bosch SI), Michael Jaeger (Siemens): Open Source Component Management<br />
<br />
=Poster session=<br />
During the Unconference, we will host a poster session over our lunch break. Please send an email to gael.blondelle _at_ eclipse.org and susan.iwai _ at _ eclipse.org if you plan to come with a poster so that we make sure we have enough boards for display. Please list your poster below.<br />
<br />
List of posters:<br />
<br />
* Papyrus Industry Consortium<br />
* Papyrus for Real Time<br />
* [http://profiles.yatta.de Yatta Profiles for Eclipse] ''Note: Yatta needs two poster boards''<br />
* BaSys Project: BaSys 4.0 is a new German Industrial Internet project which plans to develop an “operating system” (as a common middleware similar to AUTOSAR) for production plants and industrial applications in general.<br />
* Gemoc Research Consortium<br />
* Long Term Support Working Group<br />
<br />
=Unconference Agenda=<br />
The Unconference has two tracks. Track 1 starts at 9:00 and has two 90-minute morning sessions. Track 2 starts at 10:30 and has two 60-minute morning sessions. Both tracks follow the same lunch and afternoon schedule.<br />
<br />
Morning Track A: '''IoT, Science, CDT Summit, Scout User Group Meeting'''<br />
* Registration and Welcome Coffee 8:00<br />
* Session A1 09:00 - 10:30<br />
* Coffee 10:30 - 11:00<br />
* Session A2 11:00 - 12:30<br />
<br />
Morning Track B: '''Eclipse Startup Meetup, OpenMDM + OpenPASS, OSS Component Management'''<br />
* Registration and Welcome coffee 10:00<br />
* Session B1 10:30 - 11:30<br />
* Session B2 11:30 - 12:30 <br />
<br />
Afternoon:<br />
* Lunch and Poster Session 12:30 - 14:00<br />
* Session 3 14:00 - 15:30<br />
* Coffee 15:30 - 16:00<br />
* Session 4 16:00 - 17:30<br />
<br />
[[File:Unconference2016Rev1.png]]<br />
<br />
<!--<br />
{| class="wikitable" border="1"<br />
|-<br />
! <br />
| align='center' | '''Bürgersaal 2'''<br />
| align='center' | '''Schubartsaal'''<br />
| align='center' | '''Seminarraum 5'''<br />
| align='center' | '''Seminarräume 1-2'''<br />
|-<br />
! 8:30-9:00 <br />
| colspan='4' align='center'|Welcome Coffee<br />
|-<br />
! 9:00-9:10 <br />
| colspan='4' align='center'|Welcome address and Program presentation (Bürgersaal 2)<br />
|-<br />
! 9:15-10:45 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Working_Group IoT Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Getting_Started_with_Papyrus Getting started with Papyrus]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#OSLC_Session OSLC Session]<br />
|-<br />
! 10:45-11:00<br />
| colspan='4' align='center' | Coffee Break<br />
|-<br />
! 11:00-12:30 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Working_Group IoT Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Customizing_Papyrus_for_Automotive_and_Embedded_Systems Customizing Papyrus for Automotive and Embedded Systems]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#OSLC_Session OSLC Session]<br />
|-<br />
! 12:30-14:00<br />
| colspan='4' align='center' | Lunch and Poster Session<br />
|-<br />
! 14:00-15:30 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Information_Model_Repository IoT Information Model Repository]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Polarsys_Requirement_Engineering_Workshop_:_ReqCycle Polarsys Requirement Engineering Workshop : ReqCycle]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Long_Term_Support_Working_Group Long Term Support WG]<br />
|-<br />
! 15:30-16:00<br />
| colspan='4' align='center' | Coffee break ([https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Model_Finder_Group Model Finder Group Organization])<br />
|-<br />
! 16:00-17:30 <br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Science_Working_Group Science Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#IoT_Working_Group IoT Working Group]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#PolarSys_Maturity_Assessment PolarSys maturity assessment]<br />
| [https://wiki.eclipse.org/Eclipse_Unconference_Europe_2014#Where_to_go_with_EASE.3F Where to go with EASE?]<br />
|}<br />
<br />
=Dev Co-working Space=<br />
Tell your buddies you will be at the Dev Co-working Space! <br />
Starting noon on November 2nd, use the Dev co-working space to work on your Eclipse project. We have space for self-organizing groups to work together on open source projects, to discuss topics relevant to a broader subset of the community, and to hack code...<br />
<br />
If you want to tell the world you will be there, add yourself to the list below, and list :<br />
* Your name<br />
* Projects name in which you are or would like to be involved<br />
* When do you arrive at the Dev Co-working space<br />
<br />
Meet the developers!<br />
* ModelWriter: Ferhat Erata, Yvan Lussaud.<br />
* MQTT-Client iOS/OSX/tvOS, OwnTracks: Christoph Krey.<br />
*<br />
--><br />
<br />
=Unconference session descriptions=<br />
<br />
<!-- ==Science Working Group==<br />
* Session coordinator: Philip Wenig<br />
* Session type: Coding session<br />
Editing and display of time series data is an ubiquitous task in scientific research. Most commonly, the needed functionality is developed by each project from the ground up. Contrary to that, it would be better to have a flexible framework that separates the editing pipeline and the display of the data. Moreover, it must be data format independent so that it can be used more widely. Specialized scientific projects could then use the framework and connect their data to the framework. Within the session, we'd like to discuss about such a framework. Moreover, coding says more than thousand words.<br />
* n-dimensional data editing<br />
* Display libraries, SWTChart, XYGraph, JavaFX, ... --><br />
<br />
== IoT Working Group ==<br />
<br />
A meeting of the Eclipse IoT community and IoT enthusiasts. Join us to learn about IoT at Eclipse and share your thoughts on the requirements for building an Internet of Things based on open source and open standards.<br />
<br />
*Session coordinators: Ian Skerrett, Benjamin Cabé<br />
*Room: Schubartsaal<br />
<br />
==== Project Updates / New Project Introduction - 9:00 - 12:30====<br />
Each project will spend 10 minutes updating on their current status. The update should include:<br />
*Project Overview: Short (1 slide) reminder about your project functionality. This is for people who are be new.<br />
* Project stats: tell us how well your project is doing. Number of download, number of contributors, number of bugs opened, number of mailing list subscribers, etc.<br />
* Project plan: when is the next release and what are the key features.<br />
* Key Challenges: What challenges/issues are you having? <br />
* Collaboration Opportunities: Where do you see potential for collaboration with other Eclipse IoT projects or other communities.<br />
<br />
* Projects: <br />
** add your name next your project if you want to present<br />
** Edje (Laurent Lagosanto)<br />
** Kura<br />
<br />
* New Project Introduction<br />
** Kapua<br />
** Milo<br />
** IoFog<br />
<br />
==== Collaborations / Invited Speakers 14:00 - 17:30 ====<br />
<br />
* Collaboration on inter-operable components for an IoT Cloud<br />
* AGILE IoT - Eclipse Agilis project proposal and EU AGILE IoT project update - Charalampos Doukas <br />
* Web of Things Introduction - Matthias Kovatsch<br />
* Eclipse Marketplace for IoT - Ian Skerrett<br />
* New Github features for Eclipse IoT Projects https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features<br />
* Demonstrators<br />
* Goals for 2017<br />
<br />
====Open Whiteboard====<br />
Other topics of collaboration or of interest to IoT enthusiasts<br />
<br />
== Science Working Group ==<br />
Meet and greet with the Science Working Group community. Project updates, ...<br />
<br />
* Session coordinator: Torkild Resheim<br />
* Other participants : Philip Wenig, Davy De Durpel & Erwin De Ley, Werner Keil [http://www.debrief.info Ian Mayo]<br />
<br />
==== 9:00-10:30 Time slot 1====<br />
Welcome and project overviews<br />
* what have we been working on last year<br />
* small demo<br />
* roadmap for next x months<br />
<br />
==== 11:00-12:30 Time slot 2====<br />
* How to get other projects onboard like BioClipse, ...?<br />
* Are HDF5 bundles in Orbit available already?<br />
<br />
==== 14:00-15:30 Time slot 3====<br />
Things related to science projects release<br />
* Status of the Science release : did we meet the Oct 21 target, open issues, ...<br />
* Is it possible to create an "Eclipse IDE for Scientists" like "Eclipse IDE for Java EE Developers" or "Eclipse for RCP and RAP Developers"?<br />
* Which steps are necessary to be part of the release train next year?<br />
<br />
==== 16:00-17:30 Time slot 4====<br />
* How to use JSR-363 in a Science project or migrate from JSR-275/JScience 4<br />
<br />
== Open Source Component Management ==<br />
<br />
As pointed out in the [https://projects.eclipse.org/proposals/sw360 SW360 project proposal], software is not built from scratch, but rather assembled from various prepackaged third-party software components. As a result, organizations face the following challenges:<br />
<br />
* Verifying various aspects of compliance when using third-party software components: license compliance, ECC checks, IP assessments, etc.<br />
* Sharing knowledge about software components and their qualities. <br />
* Providing a broad overview of the components used.<br />
* Coping with a growing amount of 3rd party components. See the [http://www.modulecounts.com/ module count web site] for the numbers.<br />
<br />
As a consequence, the inter-operation between software management and software analysis tools is inevitable. In a growing ecosystem of tools and solutions in this area, common interfaces and data formats are required for comprehensive usage in organizations.<br />
<br />
The goal of this sessions is to <br />
* introduce and connect between different efforts in this area<br />
* A first step towards common interfaces and data formats: getting a common understanding about the challenges and how to cover this topic further.<br />
<br />
For example, the Eclipse IP team is not the only to face these challenges, and the Eclipse community is now tackling the topic with projects like SW360. <br />
<br />
Meet the SW360 project leaders and other experts for fruitful exchanges about this topic.<br />
<br />
'''Session coordinators''': Johannes Kristan from Bosch SI and Michael C. Jaeger from Siemens Corporate Technology ([https://github.com/sw360/sw360portal SW360 Project]) <br />
<br />
'''Targeted Audience''': Everyone is welcome to participate who is interested and/or has ideas how to contribute to this area.<br />
<br />
==== 14:00-15:30 Introduction and Information ====<br />
<br />
* Welcome and introduction of session attendees - ''all''<br />
* Discussion of expectations to session - ''all''<br />
* Open Source Component Management - ''Johannes Kristan and Michael C. Jaeger (SW360 project)''<br />
* Overview SW360 project - ''Johannes Kristan and Michael C. Jaeger (SW360 project)''<br />
<br />
==== 16:00-17:30 Open Space ====<br />
<br />
* Drawing a big picture of software management<br />
* Identifying collaboration mode for next steps<br />
* ...<br />
<br />
== Platform Summit ==<br />
<br />
This group is created to have discussion around the Eclipse Platform architecture and possible enhancement we could do for the next release. Of course this group is also the place to be for eclipse platform committers, to know us better and to share our ideas. <br />
<br />
Join this session if you have any idea about this topic, and especially if you are an Eclipse platform committer. <br />
<br />
Of course, use this issue list to give your feedback and your ideas even if you can not attend. <br />
<br />
* Session coordinators: Olivier Prouvost, Lars Vogel and Alex Kurtakov <br />
<br />
Details: https://wiki.eclipse.org/Platform/summitece2016<br />
<br />
== CDT Summit ==<br />
<br />
The CDT Summit is a one-day, informal gathering of CDT (Eclipse C++ Development Tooling Project) users and extenders. The goal of the summit is to collaborate and drive the future direction of CDT.<br />
* Session coordinators: Tracy Miranda and Jonah Graham, Kichwa Coders<br />
<br />
* The proposed agenda includes these topics:<br />
<br />
# What's new in CDT?<br />
# Showcase / Demo Camp for CDT Extenders (short demos of CDT based products/plug-ins)<br />
# Plan for next CDT releases<br />
## Multi-core breakpoints<br />
## GDB Console<br />
# Polarsys Rover Project - an overview of this outreach project that uses CDT<br />
<br />
* Find out more: https://wiki.eclipse.org/CDT/summitece2016<br />
<br />
== Scout User Group ==<br />
<br />
The [[Scout/UserGroupMeeting/2016|Scout User Group Meeting]] is the place to learn and exchange about building business applications with the Scout framework. The day offers a chance to hear the latest on updates to the platform, exchange with fellow users or even get yourself started using Scout. Scout users are invited to present their experiences and ideas for using and developing the framework. [https://wiki.eclipse.org/Scout/UserGroupMeeting/2016 Find out more!]<br />
<br />
== Eclipse Project Startup Meetup ==<br />
<br />
This session is for projects starting up at Eclipse. It is an opportunity to introduce your project to the Eclipse community and help your contributors and committers get the information they need during their launch phase.<br />
<br />
We will be giving all new projects an opportunity to do a lightening talk during the session. We also encourage you to take advantage of the lunch time poster session. Visit the [[Eclipse Project Startup Meetup]] page for more information and registration.<br />
<br />
We welcome suggestions for topics you as a new project would like to discuss. Email susan.iwai@eclipse.org with your suggestions!</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=WTP_Smoke_Test_Results_R390_09292016&diff=410217WTP Smoke Test Results R390 092920162016-10-03T19:15:13Z<p>Derek.toolan.eclipse.org: Merge edit by Tsvetislav.viktorov.sap.com</p>
<hr />
<div>== Smoke Test Promotion votes ==<br />
<br />
Instructions: <br />
<br />
Use a red X (fail) icon ([[Image:Fail.gif]]) to signify that the <br />
build should not be promoted, that a respin is required. In that case, please <br />
provide bug number and be sure those that need to fix something are aware of it, <br />
and can arrange for a respin. Once the issue has been fixed, and confirmed, <br />
change the red X to a green check mark with the build Id where is was verified, <br />
so those doing the promotion know its ready to go. <br />
<br />
If a smoke test does not pass but the build can still be <br />
promoted, use a green check mark (ok) icon ([[Image:Checkmark.gif]]) but then <br />
document in the comments bug numbers, how the smoke test fails, workarounds, <br />
or cautions about the build. <br />
<br />
If a build can be promoted and no issues were found, simple use <br />
the green check mark and include the initials or names of who performed the test.<br />
<br />
Remember the significant column for promoting a build is the left-most <br />
project column. If some component within a project has not (or can not) <br />
be tested, the Project Lead should either make sure someone does the test, <br />
or make a judgment call on if the build (from their project's point of view) <br />
can be promoted or not. If the smoke test could not be performed, a note<br />
should be made in the comments section that it wasn't performed, why, and <br />
why that should prevent promotion. <br />
<br />
Keep in mind the threshold for promoting a build <br />
gets higher as we near a milestone or near a release.<br />
<br />
{| border="3" cellpadding="5"<br />
|+ This Week's Results <br />
|Project ||Vote ||Initials Comments<br />
<br />
<br />
|-<br />
| Java EE<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| <br />
|-<br />
|JSF<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| IMT<br />
|-<br />
|Dali<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| njh<br />
|- <br />
|Server<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| SH<br />
|- <br />
|Web Services, WSDL<br />
| align="center" |[[Image:Checkmark.gif]]<br />
|[[Image:Checkmark.gif]]Web Services (TE)<br />
<br />
[[Image:Checkmark.gif]]WSDL (TE)<br />
<br />
[[Image:Checkmark.gif]]JAXWS (kc)<br />
|-<br />
| JSDT,<br />
Node.js tools (bower, npm, grunt, gulp)<br />
| align="center" |[[Image:Checkmark.gif]]<br />
|[[Image:Checkmark.gif]]JSDT (vr)<br />
<br />
[[Image:Checkmark.gif]]Node.js-tools (vr)<br />
|-<br />
|Source Editing<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Checkmark.gif]]XML + JSP (vr)<br />
<br />
[[Image:Questionmark.gif]]XSD <br />
<br />
[[Image:Checkmark.gif]]JSON (vr)<br />
<br />
|-<br />
|Release Engineering<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|}<br />
<br />
<br />
Smoke Test ok to promote vote = [[Image:Checkmark.gif]]<br />
Smoke Test do not promote vote = [[Image:Fail.gif]]<br />
Smoke Test Pending = [[Image:Questionmark.gif]]<br />
<br />
=====[[WTP Smoke Test Results | Back to the WTP Smoke Test Results Main Page]]=====</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Papyrus-RT&diff=410087Papyrus-RT2016-09-27T18:23:13Z<p>Derek.toolan.eclipse.org: Merge edit by Sredding.zeligsoft.com</p>
<hr />
<div>[[File:PapyrusRT_Logo.jpg|right|]] <span style="font-size: 14pt"> [https://projects.eclipse.org/projects/modeling.papyrus-rt Papyrus for Real Time] (Papyrus-RT) is an industrial-grade, complete modeling environment for the development of complex, software intensive, real-time, embedded, cyber-physical systems. You can read more in the [https://projects.eclipse.org/proposals/papyrus-real-time-papyrus-rt initial project Papyrus-RT proposal].</span><br/><br/><br/><br />
<br />
__TOC__<br />
<br />
= Documentation =<br />
* [[Papyrus-RT/User_Guide|User Guide]]<br />
* [[Papyrus-RT/Developer_Guide|Developer Guide]]<br />
* [[Papyrus-RT/Tester_Guide|Tester Guide]]<br />
* [[Papyrus-RT/DSL_Developer_Guide|DSL Developer Guide]]<br />
<br />
= Communication =<br />
== Forums and Mailing List ==<br />
You may also contact the team using forums or mailing list:<br />
* [https://www.eclipse.org/forums/index.php/f/314/ Papyrus-RT forum]<br />
* [https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev Developer Mailing List]<br />
<br />
== Reporting issues ==<br />
All issues and requests for improvement should be reported using [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Papyrus-rt Bugzilla].<br />
<br />
== Social Media ==<br />
* We tweet about Papyrus-RT through [https://twitter.com/papyrusuml @papyrusuml]<br />
* We blog about Papyrus-RT at [https://papyrusuml.wordpress.com/ PapyrusUML]<br />
<br />
= Publications =<br />
We provide a list of links to [[Papyrus-RT/Publications|publications]] related to Papyrus for Real Time.<br />
<br />
You can also go directly to:<br />
* [[Papyrus-RT/Publications#Presentations|Presentations]],<br />
* [[Papyrus-RT/Publications#Papers|Papers]], or<br />
* [[Papyrus-RT/Publications#Articles|Articles]].<br />
<br />
=Releases=<br />
<br />
[[Papyrus-RT/Releases|All Releases]]<br />
<br />
[[Papyrus-RT/Releases#0.7.2|Current Release]]<br />
<br />
[[Papyrus-RT/Releases#0.8_-_Build_up_the_structure.21|Next Release]]<br />
<br />
=Quality=<br />
<br />
==JUnit Tests==<br />
<br />
[[Papyrus-RT/JUnit How-To|JUnit Tests How-To]]<br />
<br />
==Bug Guidelines==<br />
<br />
[[Papyrus-RT/Bug Guidelines|Guidelines for the lifecycle of Papyrus-RT bugs]]<br />
<br />
==RCPTT==<br />
<br />
[[Papyrus-RT/RCPTT|RCPTT applied for Papyrus for Real Time]]<br />
<br />
=Contacts= <br />
==Team==<br />
[https://projects.eclipse.org/projects/modeling.papyrus-rt/who Papyrus for Real Time committers]<br />
<br />
[[Category:Modeling]]<br />
[[Category:Papyrus]]<br />
[[Category:Papyrus-RT]]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=WTP_Smoke_Test_Results_R381_09082016&diff=409543WTP Smoke Test Results R381 090820162016-09-12T16:40:34Z<p>Derek.toolan.eclipse.org: Merge edit by Etim.ca.ibm.com</p>
<hr />
<div>== Smoke Test Promotion votes ==<br />
<br />
Instructions: <br />
<br />
Use a red X (fail) icon ([[Image:Fail.gif]]) to signify that the <br />
build should not be promoted, that a respin is required. In that case, please <br />
provide bug number and be sure those that need to fix something are aware of it, <br />
and can arrange for a respin. Once the issue has been fixed, and confirmed, <br />
change the red X to a green check mark with the build Id where is was verified, <br />
so those doing the promotion know its ready to go. <br />
<br />
If a smoke test does not pass but the build can still be <br />
promoted, use a green check mark (ok) icon ([[Image:Checkmark.gif]]) but then <br />
document in the comments bug numbers, how the smoke test fails, workarounds, <br />
or cautions about the build. <br />
<br />
If a build can be promoted and no issues were found, simple use <br />
the green check mark and include the initials or names of who performed the test.<br />
<br />
Remember the significant column for promoting a build is the left-most <br />
project column. If some component within a project has not (or can not) <br />
be tested, the Project Lead should either make sure someone does the test, <br />
or make a judgment call on if the build (from their project's point of view) <br />
can be promoted or not. If the smoke test could not be performed, a note<br />
should be made in the comments section that it wasn't performed, why, and <br />
why that should prevent promotion. <br />
<br />
Keep in mind the threshold for promoting a build <br />
gets higher as we near a milestone or near a release.<br />
<br />
{| border="3" cellpadding="5"<br />
|+ This Week's Results <br />
|Project ||Vote ||Initials Comments<br />
<br />
<br />
|-<br />
| Java EE<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| PS<br />
|-<br />
|JSF<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| RS<br />
|-<br />
|Dali<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|- <br />
|Server<br />
| align="center" |[[Image:Fail.gif]]<br />
| EY - Code is built based on master instead of R38_maintenance stream, bug 501147<br />
|- <br />
|Web Services, WSDL<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Questionmark.gif]]Web Services <br />
<br />
[[Image:Questionmark.gif]]WSDL <br />
<br />
[[Image:Checkmark.gif]]JAXWS (sc) <br />
|-<br />
| JSDT,<br />
Node.js tools (bower, npm, grunt, gulp)<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Questionmark.gif]]JSDT <br />
<br />
[[Image:Questionmark.gif]]Node.js-tools <br />
|-<br />
|Source Editing<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Questionmark.gif]]XML + JSP <br />
<br />
[[Image:Questionmark.gif]]XSD <br />
<br />
[[Image:Questionmark.gif]]JSON <br />
<br />
|-<br />
|Release Engineering<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|}<br />
<br />
<br />
Smoke Test ok to promote vote = [[Image:Checkmark.gif]]<br />
Smoke Test do not promote vote = [[Image:Fail.gif]]<br />
Smoke Test Pending = [[Image:Questionmark.gif]]<br />
<br />
=====[[WTP Smoke Test Results | Back to the WTP Smoke Test Results Main Page]]=====</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=WTP_Smoke_Test_Results_R390_09012016&diff=409286WTP Smoke Test Results R390 090120162016-09-02T15:27:26Z<p>Derek.toolan.eclipse.org: Merge edit by Ibuziuk.redhat.com</p>
<hr />
<div>== Smoke Test Promotion votes ==<br />
<br />
Instructions: <br />
<br />
Use a red X (fail) icon ([[Image:Fail.gif]]) to signify that the <br />
build should not be promoted, that a respin is required. In that case, please <br />
provide bug number and be sure those that need to fix something are aware of it, <br />
and can arrange for a respin. Once the issue has been fixed, and confirmed, <br />
change the red X to a green check mark with the build Id where is was verified, <br />
so those doing the promotion know its ready to go. <br />
<br />
If a smoke test does not pass but the build can still be <br />
promoted, use a green check mark (ok) icon ([[Image:Checkmark.gif]]) but then <br />
document in the comments bug numbers, how the smoke test fails, workarounds, <br />
or cautions about the build. <br />
<br />
If a build can be promoted and no issues were found, simple use <br />
the green check mark and include the initials or names of who performed the test.<br />
<br />
Remember the significant column for promoting a build is the left-most <br />
project column. If some component within a project has not (or can not) <br />
be tested, the Project Lead should either make sure someone does the test, <br />
or make a judgment call on if the build (from their project's point of view) <br />
can be promoted or not. If the smoke test could not be performed, a note<br />
should be made in the comments section that it wasn't performed, why, and <br />
why that should prevent promotion. <br />
<br />
Keep in mind the threshold for promoting a build <br />
gets higher as we near a milestone or near a release.<br />
<br />
{| border="3" cellpadding="5"<br />
|+ This Week's Results <br />
|Project ||Vote ||Initials Comments<br />
<br />
|-<br />
| Java EE<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| DG<br />
|-<br />
|JSF<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| Skipping test this week. RS<br />
|-<br />
|Dali<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|- <br />
|Server<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| SH<br />
|-<br />
|Web Services, WSDL<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Questionmark.gif]]Web Services <br />
<br />
[[Image:Questionmark.gif]]WSDL <br />
<br />
[[Image:Checkmark.gif]]JAXWS (sc)<br />
|-<br />
| JSDT,<br />
Node.js tools (bower, npm, grunt, gulp)<br />
| align="center" |[[Image:Checkmark.gif]]<br />
|[[Image:Checkmark.gif]]JSDT <br />
<br />
[[Image:Checkmark.gif]]Node.js-tools <br />
|-<br />
|Source Editing<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Questionmark.gif]]XML + JSP <br />
<br />
[[Image:Questionmark.gif]]XSD <br />
<br />
[[Image:Questionmark.gif]]JSON <br />
<br />
|-<br />
|Release Engineering<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|}<br />
<br />
<br />
Smoke Test ok to promote vote = [[Image:Checkmark.gif]]<br />
Smoke Test do not promote vote = [[Image:Fail.gif]]<br />
Smoke Test Pending = [[Image:Questionmark.gif]]<br />
<br />
=====[[WTP Smoke Test Results | Back to the WTP Smoke Test Results Main Page]]=====</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=WTP_Smoke_Test_Results_R381_08252016&diff=409057WTP Smoke Test Results R381 082520162016-08-26T13:19:17Z<p>Derek.toolan.eclipse.org: Merge edit by Ibuziuk.redhat.com</p>
<hr />
<div>== Smoke Test Promotion votes ==<br />
<br />
Instructions: <br />
<br />
Use a red X (fail) icon ([[Image:Fail.gif]]) to signify that the <br />
build should not be promoted, that a respin is required. In that case, please <br />
provide bug number and be sure those that need to fix something are aware of it, <br />
and can arrange for a respin. Once the issue has been fixed, and confirmed, <br />
change the red X to a green check mark with the build Id where is was verified, <br />
so those doing the promotion know its ready to go. <br />
<br />
If a smoke test does not pass but the build can still be <br />
promoted, use a green check mark (ok) icon ([[Image:Checkmark.gif]]) but then <br />
document in the comments bug numbers, how the smoke test fails, workarounds, <br />
or cautions about the build. <br />
<br />
If a build can be promoted and no issues were found, simple use <br />
the green check mark and include the initials or names of who performed the test.<br />
<br />
Remember the significant column for promoting a build is the left-most <br />
project column. If some component within a project has not (or can not) <br />
be tested, the Project Lead should either make sure someone does the test, <br />
or make a judgment call on if the build (from their project's point of view) <br />
can be promoted or not. If the smoke test could not be performed, a note<br />
should be made in the comments section that it wasn't performed, why, and <br />
why that should prevent promotion. <br />
<br />
Keep in mind the threshold for promoting a build <br />
gets higher as we near a milestone or near a release.<br />
<br />
{| border="3" cellpadding="5"<br />
|+ This Week's Results <br />
|Project ||Vote ||Initials Comments<br />
<br />
|-<br />
| Java EE<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|-<br />
|JSF<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|-<br />
|Dali<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|- <br />
|Server<br />
| align="center" |[[Image:Checkmark.gif]]<br />
| SH<br />
|-<br />
|Web Services, WSDL<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Checkmark.gif]]Web Services (om)<br />
<br />
[[Image:Checkmark.gif]]WSDL (om)<br />
<br />
[[Image:Questionmark.gif]]JAXWS <br />
|-<br />
| JSDT,<br />
Node.js tools (bower, npm, grunt, gulp)<br />
| align="center" |[[Image:Checkmark.gif]]<br />
|[[Image:Checkmark.gif]]JSDT <br />
<br />
[[Image:Checkmark.gif]]Node.js-tools <br />
|-<br />
|Source Editing<br />
| align="center" |[[Image:Questionmark.gif]]<br />
|[[Image:Questionmark.gif]]XML + JSP <br />
<br />
[[Image:Checkmark.gif]]XSD (om)<br />
<br />
[[Image:Questionmark.gif]]JSON <br />
<br />
|-<br />
|Release Engineering<br />
| align="center" |[[Image:Questionmark.gif]]<br />
| <br />
|}<br />
<br />
<br />
Smoke Test ok to promote vote = [[Image:Checkmark.gif]]<br />
Smoke Test do not promote vote = [[Image:Fail.gif]]<br />
Smoke Test Pending = [[Image:Questionmark.gif]]<br />
<br />
=====[[WTP Smoke Test Results | Back to the WTP Smoke Test Results Main Page]]=====</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Platform/summitece2016&diff=408961Platform/summitece20162016-08-22T15:50:58Z<p>Derek.toolan.eclipse.org: Merge edit by Scela.redhat.com</p>
<hr />
<div>Eclipse Platform Summit @ EclipseCon Europe 2016<br />
A one-day Eclipse Platform & Related Tools Summit will be held at EclipseCon Europe 2016 before the main conference. This is a chance for Eclipse Platform users and extenders, old and new to get together to collaborate and drive the future direction of the Eclipse platform project. The goal of this day is to exchange information, get a global vision of what we would like to have and to open the relative bugs to work on. <br />
<br />
Examples for issues that could be discussed are: <br />
* Application model enhancement ,Feedback about migration, E4 usage, E4 tools vs E4 spies, Managing missing extension points ...<br />
* What is wrong, what is good<br />
* Test policies for committers<br />
* RAP/JavaFx/Vaadin implementations<br />
* Project communication<br />
* Any good idea ! <br />
<br />
Watch this space for other related Platform activities at EclipseCon Europe (BOFs, hackathons, etc).<br />
<br />
Time/Location<br />
Monday October 24th 2016, Ludwigsburg, Germany, located at EclipseCon Europe, Forum am Schlosspark<br />
<br />
Start at 10:00<br />
<br />
Registration<br />
Attendees please add your name to the list below and register for the Unconference: https://www.eclipsecon.org/europe2016/registration<br />
<br />
If you are registering for the full conference, choose the Unconference as an additional item when you register.<br />
If you are attending the Unconference by itself, choose "Unconference only" when registering.<br />
<br />
Attendees List<br />
# Olivier Prouvost (OPCoach)<br />
# Lars Vogel (vogella GmbH)<br />
# Alexander Kurtakov (Red Hat)<br />
# Andrey Loskutov (Advantest Europe GmbH)<br />
<br />
Proposed Agenda<br />
# What's new in Platform? (Suggested by Lars)<br />
# Migration of the e4 spys to PDE (Suggested by Lars, Olivier)<br />
# How can be make e4 more attractive for Eclipse plug-in developers (Suggested by Olivier)<br />
# What can be do to simplify the usage of the Eclipse IDE? (Suggested by Lars)<br />
# What is the correct way to do logging? (Suggested by Lars)<br />
# How to get more contributors involved? (Suggested by Andrey)<br />
## Related topic: How can we get more committer to do code reviews?<br />
# What do we need to be more productive as Platform committers (Suggested by Andrey)<br />
## Infrastructure? (Hudson, jenkins,...)<br />
## Tooling? (IDE, API tools,...)<br />
## Project/repo ownership borders? (one-man teams vs trust)</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=CDT/User/NewIn91&diff=408960CDT/User/NewIn912016-08-22T15:44:30Z<p>Derek.toolan.eclipse.org: Merge edit by Tcorbat.hsr.ch</p>
<hr />
<div>== Release ==<br />
<br />
This is the New & Noteworthy page for CDT 9.1 which is part of the Eclipse Neon.1 update release of September 2016<br />
<br />
== Editor ==<br />
<br />
=== Parameter Guessing ===<br />
When code completion is invoked in a function call expression, appropriate substitutions are suggested for each of the function parameters. [http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=241a60fe8a522a0b39586ec5ec93c67a77f2898d link]<br />
<br />
[[File:Function_call.png]]<br />
<br />
=== Expand Ruler Icons ===<br />
The JDT feature to expand ruler icons when hovering has been ported to CDT. This allows interaction with individual annotations where there are multiple annotations on a single line. ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=476797 Bug 476797])<br />
<br />
[[File:CDT_9_1_AnnotationHover.jpg]]<br />
<br />
This feature is enabled by default but can be disabled in preferences.<br />
<br />
[[File:CDT_9_1_AnnotationHover_Pref.jpg]]<br />
<br />
== Formatter ==<br />
<br />
A new formatter option has been added for line comments. This new option, ''Treat indented line comments as block of comments on unindented code'', on the ''Comments'' tab of the formatter preserves line comments in a block starting after unindented code (such as global variables). See ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=499553 Bug 499553])<br />
<br />
[[File:CDT_9_1_block_comments_on_first_column.png|1000x600px]]<br />
<br />
== Build ==<br />
<br />
=== CMake Projects ===<br />
<br />
Early support for CMake projects have been added. This is very much a preview and not recommended for production. It supports calling out to CMake to generate Makefiles to build the CMake projects.<br />
<br />
=== New C/C++ Project Wizard ===<br />
<br />
A new "New C/C++ Project" wizard has been added. It uses the new template engine UI that was introduced for Qt and Arduino projects. It contains those as well as the previous "New C Project" and "New C++ Project" wizards as entries.<br />
<br />
[[File:NewCCPPProjectWizard.png]]<br />
<br />
The old new project wizards will remain for the rest of the Neon series with consideration for removal in Oxygen. The New Qt Project wizard will be removed though since this new wizard covers it. The Arduino one will remain since this is directed at a hobbyist community who would identify more with Arduino than C/C++.<br />
<br />
=== Build Targets in the Project Explorer ===<br />
<br />
Make Targets have been renamed Build Targets to better reflect their nature (i.e. not only for "make" targets). They have also been added to the Project Explorer under a "Build Targets" virtual node under each container (folder/directory) that has build targets defined.<br />
<br />
[[File:CDTBuildTargets.png]]<br />
<br />
== Debug ==<br />
<br />
=== Show Reason for Crash when Postmortem Debugging ===<br />
When debugging a postmortem file, the reason for the crash is displayed on the thread label in the Debug view. ([http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=9b4dba04585fc4ed9aac2b36baeb90ab12bab136 see commit])<br />
<br />
[[file:CDT_PostMortemReason.png]]<br />
<br />
=== LLDB Debugger integration (experimental) ===<br />
<br />
Experimental support for the LLDB Debugger has been added. The integration makes use of lldb-mi which allows communication with CDT via MI protocol, similarly to GDB. Instructions on how to use the LLDB integration are available in the [[CDT/User/FAQ#How_do_I_get_the_LLDB_debugger.3F|CDT User FAQ]]. Note that there are [[CDT/User/FAQ#What_are_the_limitations_of_using_the_LLDB_debugger_in_Eclipse.3F|several limitations]] with this experimental integration but both CDT and lldb-mi are expected to improve in subsequent releases.<br />
<br />
[[File:Cdt-lldb-debugging.png]]<br />
<br />
== Bugs Fixed in this Release ==<br />
<br />
See Bugzilla report [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Tools&product=CDT&query_format=advanced&resolution=FIXED&target_milestone=9.1.1 Bugs Fixed in CDT 9.1]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Trace_Compass/Project_Meetings/2016-08-05&diff=408519Trace Compass/Project Meetings/2016-08-052016-08-05T15:06:16Z<p>Derek.toolan.eclipse.org: Merge edit by Jonathan.rajotte-julien.efficios.com</p>
<hr />
<div>= Meeting location =<br />
<br />
https://hangouts.google.com/call/eie2pytyrrbz7nlev26x5kuwbye<br />
<br />
= Agenda - tentative: =<br />
<br />
=== Work done at Efficios: ===<br />
<br />
=== Work done at Polytechnique: ===<br />
<br />
=== Work done at Ericsson: ===<br />
<br />
=== Trace Compass 2.0.1 Release: ===<br />
<br />
=== Trace Compass 2.1 Release: (feature freeze aug 24th) ===<br />
<br />
* Testing</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=IoT_Playground_ECE_2016&diff=408404IoT Playground ECE 20162016-08-03T17:24:25Z<p>Derek.toolan.eclipse.org: Reverted edits by Derek.toolan.eclipse.org (talk) to last revision by Anne.jacko.eclipse.org</p>
<hr />
<div>This page is for organizing the Eclipse IoT Playground at EclipseCon Europe 2016.<br />
<br />
== IoT Playground at EclipseCon Europe 2016==<br />
<br />
We are having an IoT Playground at EclipseCon Europe this year, and encourage you to participate!<br />
The IoT Playground allows everyone to show what they are doing. Anyone can play! Companies can present their IoT-related hardware, software, tools, and gadgets, and individuals can show what they are designing, building, and using. Hands-on activities will help attendees learn, share, and show off a bit. So pack your latest IoT toy, and hang out at the Playground.<br />
<br />
'''Space is limited, so please submit by the September 9 deadline, and include as much information as possible (title, description, hands-on activities, connection with Eclipse or open source, etc.).'''<br />
<br />
{|class="wikitable"<br />
|'''When:'''<br />
|Wednesday, '''October 26, 2016, 9:45 - 20:00''' (Setup time Tuesday, October 25, 15:45 - 17:00)<br />
|-<br />
|'''What:'''<br />
|A place to show off what you are doing with IoT — hardware, software, tools, gadgets, demos, programming challenges, or anything else that is fun and IoT-related<br />
|-<br />
|'''How:'''<br />
|Add your info to this page by Friday, '''September 9''' <br />
|-<br />
|'''Who:'''<br />
|Playground participants must be registered conference attendees<br />
|}<br />
<br />
To see what’s been done before, check out the Playground participants from [https://www.eclipsecon.org/europe2015/playground 2015] and [https://www.eclipsecon.org/europe2014/playground 2014].<br />
<br />
Questions? Send email to [mailto:playground@eclipse.org playground@eclipse.org].<br />
<br />
== Organization Proposals ==<br />
Please use the following template<br />
=== <Organization>: <Title of your playground> ===<br />
* Leader: <your name> (<your email>)<br />
==== Presentation ====<br />
<Description of your playground><br />
<br />
== PolarSys proposals ==<br />
=== PolarSys: Meet the PolarSys rover at ECE ===<br />
* Leaders: Gaël Blondelle (gael.blondelle@eclipse.org)<br />
=== Presentation ===<br />
The PolarSys rover was introduced last year at the IoT playground of EclipseCon Europe 2015. We had fun with people there who were there when we managed to move the tracks of our rover through cross-compiled <br />
<br />
This year, join us for the next steps: <br />
* Demo of the tool chain from models to code, <br />
* Tentative race between PolarSys rovers,<br />
* ... and more.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=IoT_Playground_ECE_2016&diff=408396IoT Playground ECE 20162016-08-03T15:47:53Z<p>Derek.toolan.eclipse.org: Merge edit by Camille.amiaud.gmail.com</p>
<hr />
<div>This page is for organizing the Eclipse IoT Playground at EclipseCon Europe 2016.<br />
<br />
== IoT Playground at EclipseCon Europe 2016==<br />
<br />
We are having an IoT Playground at EclipseCon Europe this year, and encourage you to participate!<br />
The IoT Playground allows everyone to show what they are doing. Anyone can play! Companies can present their IoT-related hardware, software, tools, and gadgets, and individuals can show what they are designing, building, and using. Hands-on activities will help attendees learn, share, and show off a bit. So pack your latest IoT toy, and hang out at the Playground.<br />
<br />
{|class="wikitable"<br />
|'''When:'''<br />
|Wednesday, '''October 26, 2016, 9:45 - 20:00''' (Setup time Tuesday, October 25, 15:45 - 17:00)<br />
|-<br />
|'''What:'''<br />
|A place to show off what you are doing with IoT — hardware, software, tools, gadgets, demos, programming challenges, or anything else that is fun and IoT-related<br />
|-<br />
|'''How:'''<br />
|Add your info to this page by Friday, '''September 9''' <br />
|-<br />
|'''Who:'''<br />
|Playground participants must be registered conference attendees<br />
|}<br />
<br />
'''Space is limited, so please submit by the September 9 deadline, and include as much information as possible (title, description, hands-on activities, connection with Eclipse or open source, etc.).'''<br />
<br />
To see what’s been done before, check out the Playground participants from [https://www.eclipsecon.org/europe2015/playground 2015] and [https://www.eclipsecon.org/europe2014/playground 2014].<br />
<br />
Questions? Send email to [mailto:playground@eclipse.org playground@eclipse.org].<br />
<br />
== Organization Proposals ==<br />
Please use the following template<br />
=== <Organization>: <Title of your playground> ===<br />
* Leader: <your name> (<your email>)<br />
==== Presentation ====<br />
<Description of your playground><br />
<br />
== PolarSys proposals ==<br />
=== PolarSys: Meet the PolarSys rover at ECE ===<br />
* Leaders: Gaël Blondelle (gael.blondelle@eclipse.org)<br />
=== Presentation ===<br />
The PolarSys rover was introduced last year at the IoT playground of EclipseCon Europe 2015. We had fun with people there who were there when we managed to move the tracks of our rover through cross-compiled <br />
<br />
This year, join us for the next steps: <br />
* Demo of the tool chain from models to code, <br />
* Tentative race between PolarSys rovers,<br />
* ... and more.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=CDT/calls&diff=408395CDT/calls2016-08-03T15:41:53Z<p>Derek.toolan.eclipse.org: Merge edit by Dcummings.qnx.com</p>
<hr />
<div>__FORCETOC__<br />
= Monthly CDT conference calls =<br />
<br />
We have a one-hour conference call the first Tuesday of every month at 11 a.m. Ottawa, Canada time (Eastern). We use this time to discuss both CDT project plans and have technical discussion on CDT topics of interest to the attendees. Check the cdt-dev list for any changes to the schedule. The call info is:<br />
<br />
== Next Teleconference ==<br />
<br />
The next call will be September 6th, 2016 at 11am (Ottawa time)<br />
<br />
* North America 1-866-569-4992<br />
* Germany 49-692-2224-6059<br />
* France 33-(0)-17-070-8535<br />
* UK 0800-033-7806<br />
* Switzerland 41-44-580-2115<br />
* Sweden 46-85-063-8386<br />
* Italy 003-902-3604-8268<br />
<br />
Attendees use this:<br />
Extension: 700 Passcode: 19455<br />
<br />
===Agenda===<br />
* CDT 9.1 release<br />
* CDT Summit planning (Ottawa, September 20th, 2016)<br />
* CDT Summit planning (EclipseCon Europe, October 24th, 2016) https://wiki.eclipse.org/CDT/summitece2016<br />
* Full console update http://eclip.se/303808<br />
* Round table<br />
<br />
== Previous minutes of meetings ==<br />
'''CDT Conference Calls'''<br />
<br />
Note: Not all minutes are present. Apologies all around.<br />
<br />
{|<br />
| [[CDT/calls/Aug2016 | August 2nd, 2016]]<br />
|-<br />
| [[CDT/calls/Jun2016 | June 7th, 2016]]<br />
|-<br />
| [[CDT/calls/Apr2016 | April 5, 2016]]<br />
|-<br />
| [[CDT/calls/Mar2016 | March 1, 2016]]<br />
|-<br />
| [[CDT/calls/Feb2016 | February 2, 2016]]<br />
|-<br />
| [http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg25615.html March 5, 2013]<br />
|-<br />
| [[CDT/calls/Oct2012 | Oct 2, 2012]]<br />
|-<br />
| [[CDT/calls/Aug2012 | Aug 7, 2012]]<br />
|-<br />
| [[CDT/calls/Jul2012 | July 3, 2012]]<br />
|-<br />
| [[CDT/calls/Jun2012 | June 5, 2012]]<br />
|-<br />
| [[CDT/calls/May2012 | May 1, 2012]]<br />
|-<br />
| [[CDT/calls/Mar2010 | March 1, 2011]]<br />
|-<br />
| [[CDT/calls/Dec2010 | December 7, 2010]]<br />
|-<br />
| [[CDT/calls/Nov0210 | November 2, 2010]]<br />
|-<br />
| [[CDT/calls/Oct0510 | October 5, 2010]]<br />
|-<br />
| [[CDT/calls/Apr0610 | April 6, 2010]]<br />
|-<br />
| [[CDT/calls/Mar0210 | March 2, 2010]]<br />
|-<br />
| [[CDT/calls/Feb0210 | February 2, 2010]]<br />
|-<br />
| [[CDT/calls/Jun0209 | June 2, 2009]]<br />
|-<br />
| [[CDT/calls/Apr0709 | April 7, 2009]]<br />
|-<br />
| [[CDT/calls/Feb1109 | February 11, 2009]]<br />
|-<br />
| [[CDT/calls/Jan0909 | January 9, 2009]]<br />
|-<br />
| [[CDT/calls/Nov0508 | November 5, 2008]]<br />
|-<br />
| [[CDT/calls/Sep0308 | September 3, 2008]]<br />
|-<br />
| [[CDT/calls/Aug0608 | August 6, 2008 ]]<br />
|-<br />
| [[CDT/calls/Jun1108 | June 11, 2008 ]]<br />
|-<br />
| [[CDT/calls/May1408 | May 14, 2008]]<br />
|-<br />
| [[CDT/calls/Apr0208 | April 2, 2008]]<br />
|-<br />
| [[CDT/calls/Feb2008 | February 20, 2008]]<br />
|-<br />
| [[CDT/calls/Feb0608 | February 6, 2008]]<br />
|-<br />
| [[CDT/calls/Jan2008 | January 2008]]<br />
|-<br />
| [[CDT/calls/Dec2007 | December 2007]]<br />
|-<br />
| [[CDT/calls/Sept2007 | September 2007 ]]<br />
|-<br />
| [[CDT/calls/Nov2006 | November 2006 ]]<br />
|-<br />
| [[CDT/calls/Oct2006 | October 2006 ]]<br />
|-<br />
| [[CDT/calls/Sept2006 | September 2006 ]]<br />
|-<br />
| [[CDT/calls/Aug2006 | August 2006 ]]<br />
|-<br />
| [[CDT/calls/July2006 | July 2006 ]]<br />
|-<br />
| [[CDT/calls/June2006 | June 2006 ]]<br />
|-<br />
| [[CDT/calls/May2006 | May 2006 ]]<br />
|-<br />
| [[CDT/calls/Apr2006 | April 2006 ]]<br />
|-<br />
| [[CDT/calls/Mar2006 | March 2006 ]]<br />
|-<br />
| [[CDT/calls/Feb2006 | February 2006 ]]<br />
|-<br />
| [[CDT/calls/Jan2006 | January 2006 ]]<br />
|-<br />
| [[CDT/calls/Dec2005 | December 2005 ]]<br />
|}<br />
<br />
<br />
'''Indexing Conference Calls:'''<br />
<br />
{|<br />
| [[CDT/calls/IndexingMar2007_1 | March 2007 ]]<br />
|-<br />
| [[CDT/calls/IndexingJan2007 | January 2007 ]]<br />
|-<br />
| [[CDT/calls/Indexing11122006 | 11/12/2006]]<br />
|-<br />
| [[CDT/calls/Indexing04122006 | 04/12/2006]]<br />
|-<br />
| [[CDT/calls/Indexing20112006 | 20/11/2006]]<br />
|-<br />
| [[CDT/calls/Indexing23102006 | 23/10/2006]]<br />
|-<br />
| [[CDT/calls/Indexing20061011 | 11/10/2006]]<br />
|-<br />
| [[CDT/calls/Indexing06092006 | 06/09/2006]]<br />
|}</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=SWT/Plan/4.7&diff=407700SWT/Plan/4.72016-07-06T14:14:43Z<p>Derek.toolan.eclipse.org: Merge edit by Info.conrad-groth.de</p>
<hr />
<div>= Planning page for SWT work for Oxygen (Eclipse 4.7) =<br />
This page disscusses target fixes and improvements to SWT for upcomming Oxygen release. <br />
A list of open and resolved bugs for 4.7-4.7M4 can be found via [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&classification=Eclipse&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate%2Cvotes%2Cpriority%2Cbug_severity%2Ctarget_milestone%2Ctag%2Cstatus_whiteboard%2Creporter&component=SWT&list_id=14693000&op_sys=Linux&op_sys=Linux-GTK&op_sys=Linux-Motif&op_sys=Linux%20Qt&order=bug_status%2Cbug_severity%2Cpriority&product=Platform&query_based_on=SWT%204.7&query_format=advanced&target_milestone=4.7&target_milestone=4.7%20M1&target_milestone=4.7%20M2&target_milestone=4.7%20M3&target_milestone=4.7%20M4 this query.]<br />
<br />
<br />
== Common == <br />
=== Update SWT to use Java 8===<br />
<br />
=== Evaluate and provide (if possible) Java 8 lambda enabled API for listeners=== <br />
<br />
See https://bugs.eclipse.org/bugs/show_bug.cgi?id=441116<br />
<br />
== Cocoa ==<br />
<br />
== GTK == <br />
* [https://bugs.eclipse.org/bugs/show_bug.cgi?id=441568 Bug 441568 - [GTK3<nowiki>]</nowiki> Port SWT Browser to webkit2gtk] <br />
* Implement transparency support [https://bugs.eclipse.org/bugs/show_bug.cgi?id=477950 Bug 477950 - [GTK3<nowiki>]</nowiki> Port SWT colors from using GdkColor to GdkRGBA so alpha is not lost]<br />
* Automate testing of SWT on multiple GTK versions [https://bugs.eclipse.org/bugs/show_bug.cgi?id=494540 Bug 494540 - [GTK<nowiki>]</nowiki> [autotester<nowiki>]</nowiki> Automated testing script for running SWT JUnit on multiple versions of GTK]<br />
* Ongoing improvements to Eclipse stability on GTK3, (graphical glitches, missing icons etc..)<br />
* Make Eclipse usable on Wayland as backend with GTK3<br />
<br />
== Win32 ==</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Neon_2016/Bangalore&diff=407278Eclipse DemoCamps Neon 2016/Bangalore2016-06-22T13:27:59Z<p>Derek.toolan.eclipse.org: /* Eclipse Demo Camp Neon 2016 : Bangalore Edition */</p>
<hr />
<div>[[Image:Banner.png]]<br />
== Eclipse Demo Camp Neon 2016 : Bangalore Edition ==<br />
<br />
=== Location ===<br />
B12, Audio 1, Cauvery,<br/><br />
Gate 2, Infosys Ltd<br/><br />
Opp IIIT Bangalore,<br/><br />
Electronic City Phase 1<br/><br />
<br />
Location on Google Map : [https://goo.gl/W7Hl1T Click Here] <br/><br />
<br />
=== Date and Time ===<br />
<br />
June 22nd 2016, 3:00pm<br />
<br />
=== Sponsors ===<br />
<br />
This Eclipse DemoCamp is jointly sponsored by [http://www.ancitconsulting.com ANCIT CONSULTING] & [http://www.infosys.com INFOSYS] <br /><br />
If your company is willing to co-sponsor this event, please contact annamalai[at]ancitconsulting.com<br />
<br />
=== Organizer ===<br />
<br />
Annamalai C, annamalai[at]ancitconsulting.com <br/><br />
Ganesh Subramanian, Ganesh_Subramanian05[at]infosys.com<br/><br />
Allahbaksh Asadullah, Allahbaksh_Asadullah[at]infosys.com <br/><br />
<br />
=== Agenda ===<br />
<br />
3.00pm : Welcome Note by Organizers <br/><br />
3.15pm : Key Note by Infosys<br/><br />
3.45pm - 4.45pm : 4 Demo Slots<br/><br />
4.45pm - 5.00pm : Tea Break<br/><br />
5.00pm - 6.00pm : 4 Demo Slots<br/><br />
6.00pm - 6.15pm : Community Announcements [if any] <br/><br />
6.15pm - 6.30pm : Closing Note by Organizers <br/><br />
<br />
=== Presenters ===<br />
<br />
If you would like to present at this event, please add your name below.<br />
<br />
# Java 9, Key features, Avitash Purohit (Litmus World Marketing Technology Private Limited)<br />
# Eclipse Neon JDT N & N and the Java 9 support in JDT, Manoj Palat (IBM)<br />
# Introduction to ECP and EMF Forms, Annamalai C (ANCIT)<br />
# Maven Tycho - An Overview, Subramanyam CS (EverTeam)<br />
# [http://www.xtext.org Xtext] Demo, Neeraj Bhusare (Zafin)<br />
# Eclipse Docker Plugin, Allahbaksh Asadullah (Infosys Ltd.)<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. <br /><br />
If you have any trouble with the wiki, just send an email to Annamalai [annamalai@ancitconsulting.com]<br />
<br />
{| class="wikitable sortable" style="background-color:#ffffcc;" cellpadding="10"<br />
!#<br />
!Name<br />
!Company<br />
|- <br />
|1|| Annamalai C ||ANCIT CONSULTING <br />
|-<br />
|2|| Allahbaksh Mohammedali Asadullah || Infosys Ltd.<br />
|-<br />
|3|| Akshatha Holla || Infosys Ltd.<br />
|-<br />
|4|| Huma Lepakshi || Infosys Ltd.<br />
|-<br />
|5|| Avitash Purohit || Litmus World Marketing Technology Private Limited<br />
|-<br />
|6|| Ashith Raghunath || Infosys Ltd.<br />
|-<br />
|7|| Ashish Dobhal || Infosys Ltd.<br />
|-<br />
|8|| Vikash Singh || ANCIT Consulting.<br />
|-<br />
|9|| Muthukumar || ANCIT Consulting.<br />
|-<br />
|10|| Prithiv || ANCIT Consulting.<br />
|-<br />
|11|| Anand || ANCIT Consulting.<br />
|-<br />
|12|| Sathieswar|| EverTeam, India.<br />
|-<br />
|13|| Subramanyam CS|| EverTeam, India.<br />
|-<br />
|14|| Vijay Solanki || Aricent.<br />
|-<br />
|15|| Chandrayya G K || Cavium Networks.<br />
|-<br />
|16|| Manoj Palat || IBM<br />
|-<br />
|17|| Raj Kuila || ANCIT-XcelNow<br />
|-<br />
|18|| Rohini || ANCIT-XcelNow<br />
|-<br />
|19|| Sivakumar OS || Syskan Technosoft<br />
|-<br />
|20|| Babu Natarajan || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|21|| Tarun Kapse || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|22|| Manasa HP || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|23|| Jeya Vethalal || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|24|| Basil Mathew || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|25|| Neeraj Bhusare || Zafin.<br />
|-<br />
|26|| Avneesh Singh || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|27|| Aman Verma || Infosys Ltd..<br />
|-<br />
|28|| Smitha Sanehalli Maheshwarappa || Cerner<br />
|-<br />
|29|| Karthik Balakrishnan || Cerner India.<br />
|-<br />
|30|| Saswati Panda || Infosys Ltd..<br />
|-<br />
|31|| Dusi Sarath Chandra || IBM India Pvt. Limited<br />
|-<br />
|32|| Noopur Gupta || IBM India Pvt. Limited<br />
|-<br />
|33|| Sravan Kumar Lakkimsetti || IBM India Pvt. Limited<br />
|-<br />
|34|| Pankaj Pande || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
<br />
<br />
<br />
<!--<br />
Copy paste in this format<br />
|- <br />
|<Sl No>|| <Name> || <Company><br />
--><br />
<br />
|}<br />
<br />
=== First Eclipse India Summit ===<br />
<br />
[http://eclipsesummit.in/ Eclipse Summit, India] - Registration are open for Eclipse Summit [Aug 25th to 27th, 2016]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Neon_2016/Bangalore&diff=407277Eclipse DemoCamps Neon 2016/Bangalore2016-06-22T13:27:31Z<p>Derek.toolan.eclipse.org: /* Eclipse Demo Camp Neon 2016 : Bangalore Edition */</p>
<hr />
<div>[[Image:Banner.png]]<br />
== Eclipse Demo Camp Neon 2016 : Bangalore Edition ==<br />
<br />
=== Location ===<br />
B12, Audio 1, Cauvery,<br/><br />
Gate 2, Infosys Ltd<br/><br />
Opp IIIT Bangalore,<br/><br />
Electronic City Phase 1<br/><br />
<br />
Location on Google Map : [https://goo.gl/W7Hl1T Click Here] <br/><br />
<br />
=== Date and Time ===<br />
<br />
June 22nd 2016, 3:00pm<br />
<br />
=== Sponsors ===<br />
<br />
This Eclipse DemoCamp is jointly sponsored by [http://www.ancitconsulting.com ANCIT CONSULTING] & [http://www.infosys.com INFOSYS] <br /><br />
If your company is willing to co-sponsor this event, please contact annamalai[at]ancitconsulting.com<br />
<br />
=== Organizer ===<br />
<br />
Annamalai C, annamalai[at]ancitconsulting.com <br/><br />
Ganesh Subramanian, Ganesh_Subramanian05[at]infosys.com<br/><br />
Allahbaksh Asadullah, Allahbaksh_Asadullah[at]infosys.com <br/><br />
<br />
=== Agenda ===<br />
<br />
3.00pm : Welcome Note by Organizers <br/><br />
3.15pm : Key Note by Infosys<br/><br />
3.45pm - 4.45pm : 4 Demo Slots<br/><br />
4.45pm - 5.00pm : Tea Break<br/><br />
5.00pm - 6.00pm : 4 Demo Slots<br/><br />
6.00pm - 6.15pm : Community Announcements [if any] <br/><br />
6.15pm - 6.30pm : Closing Note by Organizers <br/><br />
<br />
=== Presenters ===<br />
<br />
If you would like to present at this event, please add your name below.<br />
<br />
# Java 9, Key features, Avitash Purohit (Litmus World Marketing Technology Private Limited)<br />
# Eclipse Neon JDT N & N and the Java 9 support in JDT, Manoj Palat (IBM)<br />
# Introduction to ECP and EMF Forms, Annamalai C (ANCIT)<br />
# Maven Tycho - An Overview, Subramanyam CS (EverTeam)<br />
# [http://www.xtext.org Xtext] Demo, Neeraj Bhusare (Zafin)<br />
# Eclipse Docker Plugin, Allahbaksh Asadullah (Infosys Ltd.)<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. <br /><br />
If you have any trouble with the wiki, just send an email to Annamalai [annamalai@ancitconsulting.com]<br />
<br />
{| class="wikitable sortable" style="background-color:#ffffcc;" cellpadding="10"<br />
!#<br />
!Name<br />
!Company<br />
|- <br />
|1|| Annamalai C ||ANCIT CONSULTING <br />
|-<br />
|2|| Allahbaksh Mohammedali Asadullah || Infosys Ltd.<br />
|-<br />
|3|| Akshatha Holla || Infosys Ltd.<br />
|-<br />
|4|| Huma Lepakshi || Infosys Ltd.<br />
|-<br />
|5|| Avitash Purohit || Litmus World Marketing Technology Private Limited<br />
|-<br />
|6|| Ashith Raghunath || Infosys Ltd.<br />
|-<br />
|7|| Ashish Dobhal || Infosys Ltd.<br />
|-<br />
|8|| Vikash Singh || ANCIT Consulting.<br />
|-<br />
|9|| Muthukumar || ANCIT Consulting.<br />
|-<br />
|10|| Prithiv || ANCIT Consulting.<br />
|-<br />
|11|| Anand || ANCIT Consulting.<br />
|-<br />
|12|| Sathieswar|| EverTeam, India.<br />
|-<br />
|13|| Subramanyam CS|| EverTeam, India.<br />
|-<br />
|14|| Vijay Solanki || Aricent.<br />
|-<br />
|15|| Chandrayya G K || Cavium Networks.<br />
|-<br />
|16|| Manoj Palat || IBM<br />
|-<br />
|17|| Raj Kuila || ANCIT-XcelNow<br />
|-<br />
|18|| Rohini || ANCIT-XcelNow<br />
|-<br />
|19|| Sivakumar OS || Syskan Technosoft<br />
|-<br />
|20|| Babu Natarajan || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|21|| Tarun Kapse || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|22|| Manasa HP || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|23|| Jeya Vethalal || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|24|| Basil Mathew || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|25|| Neeraj Bhusare || Zafin.<br />
|-<br />
|26|| Avneesh Singh || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|27|| Aman Verma || Infosys Ltd..<br />
|-<br />
|28|| Smitha Sanehalli Maheshwarappa || Cerner<br />
|-<br />
|29|| Karthik Balakrishnan || Cerner India.<br />
|-<br />
|30|| Saswati Panda || Infosys Ltd..<br />
|-<br />
|31|| Dusi Sarath Chandra || IBM India Pvt. Limited<br />
|-<br />
|32|| Noopur Gupta || IBM India Pvt. Limited<br />
|-<br />
|33|| Sravan Kumar Lakkimsetti || IBM India Pvt. Limited<br />
|-<br />
|34|| Pankaj Pande || Continental Automotive Components (India) Pvt. Ltd.<br />
<br />
<br />
<br />
<!--<br />
Copy paste in this format<br />
|- <br />
|<Sl No>|| <Name> || <Company><br />
--><br />
<br />
|}<br />
<br />
=== First Eclipse India Summit ===<br />
<br />
[http://eclipsesummit.in/ Eclipse Summit, India] - Registration are open for Eclipse Summit [Aug 25th to 27th, 2016]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamps_Neon_2016/Bangalore&diff=407274Eclipse DemoCamps Neon 2016/Bangalore2016-06-22T13:24:48Z<p>Derek.toolan.eclipse.org: Merge edit by Smitha.dsce.gmail.com</p>
<hr />
<div>[[Image:Banner.png]]<br />
== Eclipse Demo Camp Neon 2016 : Bangalore Edition ==<br />
<br />
=== Location ===<br />
B12, Audio 1, Cauvery,<br/><br />
Gate 2, Infosys Ltd<br/><br />
Opp IIIT Bangalore,<br/><br />
Electronic City Phase 1<br/><br />
<br />
Location on Google Map : [https://goo.gl/W7Hl1T Click Here] <br/><br />
<br />
=== Date and Time ===<br />
<br />
June 22nd 2016, 3:00pm<br />
<br />
=== Sponsors ===<br />
<br />
This Eclipse DemoCamp is jointly sponsored by [http://www.ancitconsulting.com ANCIT CONSULTING] & [http://www.infosys.com INFOSYS] <br /><br />
If your company is willing to co-sponsor this event, please contact annamalai[at]ancitconsulting.com<br />
<br />
=== Organizer ===<br />
<br />
Annamalai C, annamalai[at]ancitconsulting.com <br/><br />
Ganesh Subramanian, Ganesh_Subramanian05[at]infosys.com<br/><br />
Allahbaksh Asadullah, Allahbaksh_Asadullah[at]infosys.com <br/><br />
<br />
=== Agenda ===<br />
<br />
3.00pm : Welcome Note by Organizers <br/><br />
3.15pm : Key Note by Infosys<br/><br />
3.45pm - 4.45pm : 4 Demo Slots<br/><br />
4.45pm - 5.00pm : Tea Break<br/><br />
5.00pm - 6.00pm : 4 Demo Slots<br/><br />
6.00pm - 6.15pm : Community Announcements [if any] <br/><br />
6.15pm - 6.30pm : Closing Note by Organizers <br/><br />
<br />
=== Presenters ===<br />
<br />
If you would like to present at this event, please add your name below.<br />
<br />
# Java 9, Key features, Avitash Purohit (Litmus World Marketing Technology Private Limited)<br />
# Eclipse Neon JDT N & N and the Java 9 support in JDT, Manoj Palat (IBM)<br />
# Introduction to ECP and EMF Forms, Annamalai C (ANCIT)<br />
# Maven Tycho - An Overview, Subramanyam CS (EverTeam)<br />
# [http://www.xtext.org Xtext] Demo, Neeraj Bhusare (Zafin)<br />
# Eclipse Docker Plugin, Allahbaksh Asadullah (Infosys Ltd.)<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. <br /><br />
If you have any trouble with the wiki, just send an email to Annamalai [annamalai@ancitconsulting.com]<br />
<br />
{| class="wikitable sortable" style="background-color:#ffffcc;" cellpadding="10"<br />
!#<br />
!Name<br />
!Company<br />
|- <br />
|1|| Annamalai C ||ANCIT CONSULTING <br />
|-<br />
|2|| Allahbaksh Mohammedali Asadullah || Infosys Ltd.<br />
|-<br />
|3|| Akshatha Holla || Infosys Ltd.<br />
|-<br />
|4|| Huma Lepakshi || Infosys Ltd.<br />
|-<br />
|5|| Avitash Purohit || Litmus World Marketing Technology Private Limited<br />
|-<br />
|6|| Ashith Raghunath || Infosys Ltd.<br />
|-<br />
|7|| Ashish Dobhal || Infosys Ltd.<br />
|-<br />
|8|| Vikash Singh || ANCIT Consulting.<br />
|-<br />
|9|| Muthukumar || ANCIT Consulting.<br />
|-<br />
|10|| Prithiv || ANCIT Consulting.<br />
|-<br />
|11|| Anand || ANCIT Consulting.<br />
|-<br />
|12|| Sathieswar|| EverTeam, India.<br />
|-<br />
|13|| Subramanyam CS|| EverTeam, India.<br />
|-<br />
|14|| Vijay Solanki || Aricent.<br />
|-<br />
|15|| Chandrayya G K || Cavium Networks.<br />
|-<br />
|16|| Manoj Palat || IBM<br />
|-<br />
|17|| Raj Kuila || ANCIT-XcelNow<br />
|-<br />
|18|| Rohini || ANCIT-XcelNow<br />
|-<br />
|19|| Sivakumar OS || Syskan Technosoft<br />
|-<br />
|20|| Babu Natarajan || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|21|| Tarun Kapse || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|22|| Manasa HP || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|23|| Jeya Vethalal || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|24|| Basil Mathew || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|25|| Neeraj Bhusare || Zafin.<br />
|-<br />
|26|| Avneesh Singh || Continental Automotive Components (India) Pvt. Ltd.<br />
|-<br />
|27|| Aman Verma || Infosys Ltd..<br />
|-<br />
|28|| Smitha Sanehalli Maheshwarappa || Cerner<br />
|-<br />
|29|| Karthik Balakrishnan || Cerner India.<br />
|-<br />
|30|| Saswati Panda || Infosys Ltd..<br />
|-<br />
|31|| Dusi Sarath Chandra || IBM India Pvt. Limited<br />
|-<br />
|32|| Noopur Gupta || IBM India Pvt. Limited<br />
|-<br />
|33|| Sravan Kumar Lakkimsetti || IBM India Pvt. Limited<br />
|-<br />
<br />
<br />
<br />
<!--<br />
Copy paste in this format<br />
|- <br />
|<Sl No>|| <Name> || <Company><br />
--><br />
<br />
|}<br />
<br />
=== First Eclipse India Summit ===<br />
<br />
[http://eclipsesummit.in/ Eclipse Summit, India] - Registration are open for Eclipse Summit [Aug 25th to 27th, 2016]</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_Neon_2016/Hamburg&diff=407102Eclipse DemoCamp Neon 2016/Hamburg2016-06-15T18:03:18Z<p>Derek.toolan.eclipse.org: </p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Dockland Hamburg. We'll be hosted by the [http://www.nordakademie-gs.de NORDAKADEMIE Graduate School] again with a stunning view of the river Elbe.<br />
<br />
NORDAKADEMIE Graduate School<br><br />
Van-der-Smissen-Strasse 9, 22767 Hamburg<br><br />
LatLong: 53.54331, 9.9373<br><br />
<br />
Follow this link for directions: http://goo.gl/maps/Sp73I<br />
<br />
'''Pro tip: take U3, S1 or S3 to Landungsbrücken, then change for ferry line 62. The ferry will leave at 18:00, 18:15, 18:30,...'''<br />
<br />
[[File:Hamburg_Dockland.png]]<br />
<br />
=== Date and Time ===<br />
<br />
June 15, 2015<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> [[Image:NORDAKADEMIELogo.png]] [http://www.nordakademie-gs.de NORDAKADEMIE] sponsors the location, with an awesome view of the river Elbe!<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: Eclipse Platform News: See which new features will be available in Eclipse Neon, Simon Scholz (vogella GmbH)<br />
*19:10 - 19:30: Equinox DS meets Equinox Aspects - declarative transactions for declarative services, Stefan Reichert (Zühlke Engineering GmbH)<br />
*19:35 - 19:55: RCP 4.x migration - Highlights and Pitfalls [Lessons Learned] (Lablicate GmbH - OpenChrom)<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: IDEs in the Cloud with Eclipse Che and Xtext, Sven Efftinge (TypeFox.io)<br />
*20:55 - 21:15: Domain-driven acceptance tests using Xtext, Franz Becker (itemis) & Karsten Panier (Signal Iduna)<br />
*21:20 - 21:40: Eclipse Platform Plans for Eclipse 4.7, Lars Vogel (vogella GmbH)<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[https://www.xing.com/profile/Hilger_Steenblock Hilger Steenblock]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://www.xing.com/profile/Matthias_Mrozek Matthias Mrozek]<br />
#[https://twitter.com/svenefftinge Sven Efftinge], [https://typefox.io TypeFox.io]<br />
#[https://www.xing.com/profile/Harald_Albers2 Harald Albers]<br />
#[https://www.xing.com/profile/Franz_Becker21 Franz Becker], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Karsten_Panier Karsten Panier], [https://www.signal-iduna.com Signal Iduna]<br />
#[https://www.xing.com/profile/Christian_Hempe Christian Hempe], Thales Electronic Systems<br />
#[https://www.xing.com/profile/Roland_Oldenburg Roland Oldenburg], [http://www.hsp-software.de hsp Handels-Software-Partner GmbH]<br />
#[https://www.xing.com/profile/Hayo_Schmidt Hayo Schmidt], [http://www.de.cgi.com/ CGI]<br />
#[http://www.vogella.com/people/larsvogel.html Lars Vogel], [http://www.vogella.com vogella]<br />
#Ralph Müller, Eclipse Foundation<br />
#[https://www.xing.com/profile/Philip_Wenig Philip Wenig], [https://www.openchrom.net OpenChrom]<br />
#[https://www.xing.com/profile/Jannes_Heinrich Jannes Heinrich], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Conrad_Groth Conrad Groth], [http://www.plath.de/ PLATH]<br />
#[https://www.xing.com/profile/Asaf_Ikram Asaf Ikram], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Daniel_Jaeger78 Daniel Jaeger]<br />
#[https://www.xing.com/profile/Andreas_Breuer2 Andreas Breuer], [http://tk.de/ Techniker Krankenkasse]<br />
#Siegmund Gorr, [https://www.cib.de CIB]<br />
#[https://www.xing.com/profile/Markus_Nestvogel Markus Nestvogel], [http://www.swisslife.de/ Swiss Life Deutschland Operations GmbH]<br />
#[https://www.xing.com/profile/Maik_Teske Maik Teske], [http://www.suzlon.com Suzlon Energy]<br />
#Frank Gasdorf<br />
#[https://www.xing.com/profile/Mathias_Bietz Mathias Bietz], [https://www.suzlon.de SUZLON Energy]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://www.xing.com/profile/Matthias_Holsten Matthias Holsten], [https://www.signal-iduna.de Signal Iduna Gruppe]<br />
#[https://www.xing.com/profile/Michael_Plate2 Michael Plate], [http://www.swisslife.de/ Swiss Life Deutschland Operations GmbH]<br />
#[https://xing.to/Alex_Tugarev Alex Tugarev]<br />
#Neda Vaziri<br />
#[https://www.xing.com/profile/Michael_Krueske Michael Krüske], [http://www.rwe.com/web/cms/en/158406/rwe-supply-trading/ RWE Supply & Trading GmbH]<br />
#Stefan Nesinger<br />
#[https://www.xing.com/profile/Jan_Koehnlein Jan Köhnlein], [https://typefox.io TypeFox.io]<br />
#[https://www.xing.com/profile/Robin_Jacobitz Robin Jacobitz], [http://www.silpion.de Silpion.de]<br />
#[https://twitter.com/thooorsten Thorsten Behrens], [https://www.cib.de CIB]<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_Neon_2016/Hamburg&diff=407101Eclipse DemoCamp Neon 2016/Hamburg2016-06-15T18:02:19Z<p>Derek.toolan.eclipse.org: </p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Dockland Hamburg. We'll be hosted by the [http://www.nordakademie-gs.de NORDAKADEMIE Graduate School] again with a stunning view of the river Elbe.<br />
<br />
NORDAKADEMIE Graduate School<br><br />
Van-der-Smissen-Strasse 9, 22767 Hamburg<br><br />
LatLong: 53.54331, 9.9373<br><br />
<br />
Follow this link for directions: http://goo.gl/maps/Sp73I<br />
<br />
'''Pro tip: take U3, S1 or S3 to Landungsbrücken, then change for ferry line 62. The ferry will leave at 18:00, 18:15, 18:30,...'''<br />
<br />
[[File:Hamburg_Dockland.png]]<br />
<br />
=== Date and Time ===<br />
<br />
June 15, 2015<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> [[Image:NORDAKADEMIELogo.png]] [http://www.nordakademie-gs.de NORDAKADEMIE] sponsors the location, with an awesome view of the river Elbe!<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: Eclipse Platform News: See which new features will be available in Eclipse Neon, Simon Scholz (vogella GmbH)<br />
*19:10 - 19:30: Equinox DS meets Equinox Aspects - declarative transactions for declarative services, Stefan Reichert (Zühlke Engineering GmbH)<br />
*19:35 - 19:55: RCP 4.x migration - Highlights and Pitfalls [Lessons Learned] (Lablicate GmbH - OpenChrom)<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: IDEs in the Cloud with Eclipse Che and Xtext, Sven Efftinge (TypeFox.io)<br />
*20:55 - 21:15: Domain-driven acceptance tests using Xtext, Franz Becker (itemis) & Karsten Panier (Signal Iduna)<br />
*21:20 - 21:40: Eclipse Platform Plans for Eclipse 4.7, Lars Vogel (vogella GmbH)<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[https://www.xing.com/profile/Hilger_Steenblock Hilger Steenblock]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://www.xing.com/profile/Matthias_Mrozek Matthias Mrozek]<br />
#[https://twitter.com/svenefftinge Sven Efftinge], [https://typefox.io TypeFox.io]<br />
#[https://www.xing.com/profile/Harald_Albers2 Harald Albers]<br />
#[https://www.xing.com/profile/Franz_Becker21 Franz Becker], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Karsten_Panier Karsten Panier], [https://www.signal-iduna.com Signal Iduna]<br />
#[https://www.xing.com/profile/Christian_Hempe Christian Hempe], Thales Electronic Systems<br />
#[https://www.xing.com/profile/Roland_Oldenburg Roland Oldenburg], [http://www.hsp-software.de hsp Handels-Software-Partner GmbH]<br />
#[https://www.xing.com/profile/Hayo_Schmidt Hayo Schmidt], [http://www.de.cgi.com/ CGI]<br />
#[http://www.vogella.com/people/larsvogel.html Lars Vogel], [http://www.vogella.com vogella]<br />
#Ralph Müller, Eclipse Foundation<br />
#[https://www.xing.com/profile/Philip_Wenig Philip Wenig], [https://www.openchrom.net OpenChrom]<br />
#[https://www.xing.com/profile/Jannes_Heinrich Jannes Heinrich], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Conrad_Groth Conrad Groth], [http://www.plath.de/ PLATH]<br />
#[https://www.xing.com/profile/Asaf_Ikram Asaf Ikram], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Daniel_Jaeger78 Daniel Jaeger]<br />
#[https://www.xing.com/profile/Andreas_Breuer2 Andreas Breuer], [http://tk.de/ Techniker Krankenkasse]<br />
#Siegmund Gorr, [https://www.cib.de CIB]<br />
#[https://www.xing.com/profile/Markus_Nestvogel Markus Nestvogel], [http://www.swisslife.de/ Swiss Life Deutschland Operations GmbH]<br />
#[https://www.xing.com/profile/Maik_Teske Maik Teske], [http://www.suzlon.com Suzlon Energy]<br />
#Frank Gasdorf<br />
#[https://www.xing.com/profile/Mathias_Bietz Mathias Bietz], [https://www.suzlon.de SUZLON Energy]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://www.xing.com/profile/Matthias_Holsten Matthias Holsten], [https://www.signal-iduna.de Signal Iduna Gruppe]<br />
#[https://www.xing.com/profile/Michael_Plate2 Michael Plate], [http://www.swisslife.de/ Swiss Life Deutschland Operations GmbH]<br />
#[https://xing.to/Alex_Tugarev Alex Tugarev]<br />
#Neda Vaziri<br />
#[https://www.xing.com/profile/Michael_Krueske Michael Krüske], [http://www.rwe.com/web/cms/en/158406/rwe-supply-trading/ RWE Supply & Trading GmbH]<br />
#Stefan Nesinger<br />
#[https://www.xing.com/profile/Jan_Koehnlein Jan Köhnlein], [https://typefox.io TypeFox.io]<br />
#[https://www.xing.com/profile/Robin_Jacobitz Robin Jacobitz], [http://www.silpion.de]<br />
#[https://twitter.com/thooorsten Thorsten Behrens], [https://www.cib.de CIB]<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.orghttps://wiki.eclipse.org/index.php?title=Eclipse_DemoCamp_Neon_2016/Hamburg&diff=407100Eclipse DemoCamp Neon 2016/Hamburg2016-06-15T18:00:33Z<p>Derek.toolan.eclipse.org: </p>
<hr />
<div>[[Image:DemoCamp.png]] [[Eclipse_DemoCamps_Neon_2016|What is an Eclipse DemoCamp?]] <br />
<br />
=== Location ===<br />
<br />
This time the DemoCamp will take place at the Dockland Hamburg. We'll be hosted by the [http://www.nordakademie-gs.de NORDAKADEMIE Graduate School] again with a stunning view of the river Elbe.<br />
<br />
NORDAKADEMIE Graduate School<br><br />
Van-der-Smissen-Strasse 9, 22767 Hamburg<br><br />
LatLong: 53.54331, 9.9373<br><br />
<br />
Follow this link for directions: http://goo.gl/maps/Sp73I<br />
<br />
'''Pro tip: take U3, S1 or S3 to Landungsbrücken, then change for ferry line 62. The ferry will leave at 18:00, 18:15, 18:30,...'''<br />
<br />
[[File:Hamburg_Dockland.png]]<br />
<br />
=== Date and Time ===<br />
<br />
June 15, 2015<br />
<br />
Get together starting at 6pm <br />
<br />
=== Organizer ===<br />
<br />
[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering] <br />
<br />
[http://www.martinlippert.org Martin Lippert], [http://www.pivotal.io/ Pivotal] <br />
<br />
=== Sponsors ===<br />
<br />
Following the principles of openness and transparency, we are open to everybody to sponsor this demo camp. Feel free to contact the organizers or simply add yourself to this wiki page as a sponsor.<br />
<br />
'''''One additional note:''' We will donate 20% of the sponsored food/drinks to an organization that supports homeless people in Hamburg. So 20% of the ordered drinks/food will not be delivered to our demo camp, but directly to that organization at the same time. We did that once in the past when we ordered more stuff that we could eat and we thought we should do this again, but this time by purpose.''<br />
<br />
<br> [[Image:NORDAKADEMIELogo.png]] [http://www.nordakademie-gs.de NORDAKADEMIE] sponsors the location, with an awesome view of the river Elbe!<br />
<br />
<br> [[Image:Itemis pos-2.JPG|168px]] [http://www.itemis.de itemis] is general sponsor with EUR 500,- <br />
<br />
<br> [[Image:Pivotal.png]] [http://www.pivotal.io Pivotal] is general sponsor with EUR 500,- <br />
<br />
[[Image:Zuehlke Logo rgb 100 2.png]] [http://www.zuehlke.com Zühlke Engineering] is general sponsor with EUR 500,-<br />
<br />
=== Agenda ===<br />
<br />
*18.00: Get together <br />
*18.30: Opening/Welcome<br />
<br />
*18:45 - 19:05: Eclipse Platform News: See which new features will be available in Eclipse Neon, Simon Scholz (vogella GmbH)<br />
*19:10 - 19:30: Equinox DS meets Equinox Aspects - declarative transactions for declarative services, Stefan Reichert (Zühlke Engineering GmbH)<br />
*19:35 - 19:55: RCP 4.x migration - Highlights and Pitfalls [Lessons Learned] (Lablicate GmbH - OpenChrom)<br />
<br />
*19:55 - 20:30: break<br />
<br />
*20:30 - 20:50: IDEs in the Cloud with Eclipse Che and Xtext, Sven Efftinge (TypeFox.io)<br />
*20:55 - 21:15: Domain-driven acceptance tests using Xtext, Franz Becker (itemis) & Karsten Panier (Signal Iduna)<br />
*21:20 - 21:40: Eclipse Platform Plans for Eclipse 4.7, Lars Vogel (vogella GmbH)<br />
<br />
Beer<br />
<br />
=== Who Is Attending ===<br />
<br />
If you plan on attending please add your name and company to the list below. You need to have an Eclipse Bugzilla account to do so. Signing up is really easy and not only gives you the chance to attend Eclipse DemoCamps, but also gives you the sweet fuzzy feeling of being able to file Eclipse bugs! Come on, give it a try - [https://bugs.eclipse.org/bugs/ we know you can do it]! <br />
<br />
#[http://www.martinlippert.de Martin Lippert], Pivotal<br />
#[http://www.xing.com/profile/Stefan_Reichert5 Stefan Reichert], [http://www.zuehlke.com/ Zühlke Engineering]<br />
#[https://www.xing.com/profile/Hilger_Steenblock Hilger Steenblock]<br />
#[http://www.vogella.com/people/simonscholz.html Simon Scholz], [http://www.vogella.com vogella]<br />
#[https://www.xing.com/profile/Matthias_Mrozek Matthias Mrozek]<br />
#[https://twitter.com/svenefftinge Sven Efftinge], [https://typefox.io TypeFox.io]<br />
#[https://www.xing.com/profile/Harald_Albers2 Harald Albers]<br />
#[https://www.xing.com/profile/Franz_Becker21 Franz Becker], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Karsten_Panier Karsten Panier], [https://www.signal-iduna.com Signal Iduna]<br />
#[https://www.xing.com/profile/Christian_Hempe Christian Hempe], Thales Electronic Systems<br />
#[https://www.xing.com/profile/Roland_Oldenburg Roland Oldenburg], [http://www.hsp-software.de hsp Handels-Software-Partner GmbH]<br />
#[https://www.xing.com/profile/Hayo_Schmidt Hayo Schmidt], [http://www.de.cgi.com/ CGI]<br />
#[http://www.vogella.com/people/larsvogel.html Lars Vogel], [http://www.vogella.com vogella]<br />
#Ralph Müller, Eclipse Foundation<br />
#[https://www.xing.com/profile/Philip_Wenig Philip Wenig], [https://www.openchrom.net OpenChrom]<br />
#[https://www.xing.com/profile/Jannes_Heinrich Jannes Heinrich], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Conrad_Groth Conrad Groth], [http://www.plath.de/ PLATH]<br />
#[https://www.xing.com/profile/Asaf_Ikram Asaf Ikram], [https://itemis.de/ itemis]<br />
#[https://www.xing.com/profile/Daniel_Jaeger78 Daniel Jaeger]<br />
#[https://www.xing.com/profile/Andreas_Breuer2 Andreas Breuer], [http://tk.de/ Techniker Krankenkasse]<br />
#Siegmund Gorr, [https://www.cib.de CIB]<br />
#[https://www.xing.com/profile/Markus_Nestvogel Markus Nestvogel], [http://www.swisslife.de/ Swiss Life Deutschland Operations GmbH]<br />
#[https://www.xing.com/profile/Maik_Teske Maik Teske], [http://www.suzlon.com Suzlon Energy]<br />
#Frank Gasdorf<br />
#[https://www.xing.com/profile/Mathias_Bietz Mathias Bietz], [https://www.suzlon.de SUZLON Energy]<br />
#[https://www.xing.com/profile/Gunther_Bachmann Gunther Bachmann], [https://www.itemis.de itemis AG]<br />
#[https://www.xing.com/profile/Matthias_Holsten Matthias Holsten], [https://www.signal-iduna.de Signal Iduna Gruppe]<br />
#[https://www.xing.com/profile/Michael_Plate2 Michael Plate], [http://www.swisslife.de/ Swiss Life Deutschland Operations GmbH]<br />
#[https://xing.to/Alex_Tugarev Alex Tugarev]<br />
#Neda Vaziri<br />
#[https://www.xing.com/profile/Michael_Krueske Michael Krüske], [http://www.rwe.com/web/cms/en/158406/rwe-supply-trading/ RWE Supply & Trading GmbH]<br />
#Stefan Nesinger<br />
#[https://www.xing.com/profile/Jan_Koehnlein Jan Köhnlein], [https://typefox.io TypeFox.io]<br />
#[https://www.xing.com/profile/Robin_Jacobitz], [http://www.silpion.de]<br />
#[https://twitter.com/thooorsten Thorsten Behrens], [https://www.cib.de CIB]<br />
This time we co-host the event with the [http://www.jughh.de/ JUGHH], so you might also register for the event with their meetup entry.</div>Derek.toolan.eclipse.org