<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta http-equiv="Content-language" content="en">
	<meta name="description" content="Graphical Editors for your DSL">

	<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
	<script type="text/javascript" src="../js/functions.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
	<script src="../angular/sirius.js"></script>

	<link rel="icon" type="image/png" href="../favicon.ico" />
	<title>Sirius - What's New in Sirius 3.1</title>
	<link type="text/css" rel="stylesheet" href="../css/bootstrap.min.css" />
	<link type="text/css" rel="stylesheet" href="../css/style.css" />
	<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'> 
	<link href='https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300italic,700,300' rel='stylesheet' type='text/css'>
	<link rel="stylesheet" href="https://use.fontawesome.com/ef6567f233.css">
	
	<!-- Eclipse Foundation Google Tag Manager -->
	<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
	new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
	j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
	'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
	})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
	<!-- End Google Tag Manager -->  
	
	<!-- Eclipse Foundation cookie consent: -->
	<link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
	<script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
	<script type="text/javascript" src="../js/ga.js"></script>
</head>

<body ng-app="sirius" ng-controller="main" class="cloak">
<ng-include src="'../angular/blocks/header.html'"></ng-include>

<div id="body_wrapper">
	<h1 class="page_title">What's New in Sirius 3.1</h1>

	<p>Need to provide a better visualization experience to the users of your modeling tools?</p>
	<p>Sirius 3.1 offers new graphical options that increase the expressivity of your diagrams.</p>

	<br /><br />
	<div class="section left">
		<div class="image">
			<img class="shadow" width="400"  src="../images/whatsnew3_1/collapse-resize.gif" />
		</div>
		<h2>Compartments</h2>
		<p>Sirius 3.1 comes with the possibility to create compartments where you can group and stack your model elements. The way your data is represented is better structured and the information is easier to understand.</p>
		<p>With Sirius 3.0, it was already possible to create compartments, but we had introduced it as an "experimental" feature since some behaviors were not supported yet. Now compartments are fully operational.</p>
		<p>For example, you can create compartments inside containers having rounded corners. We have also added the possibility to collapse a compartment in order to hide its contents. In addition, you can manually resize compartments to improve their layout. </p>
		<p>A new tutorial explains how to create compartments: <a href="getstarted.html#compartments">https://www.eclipse.org/sirius/getstarted.html#compartments</a></p>
	</div>
	<div class="clear"></div>
	<div class="section right">
		<div class="image">
			<img class="shadow" width="400"  src="../images/whatsnew3_1/border-style.png" />
		</div>
	
		<h2>Customizable border style</h2>
		<p>The border style of your diagram elements can have a semantic meaning defined by your graphical notation: you may want to express a different information whether the border shape is dashed or plain.</p>
		<p>Now, with Sirius 3.1, it is possible to define such styles for both the nodes and the containers (like it was already possible for edges).</p>	
	</div>
	<div class="clear"></div>
	<div class="section left">
		<div class="image">
			<img class="shadow" width="400"  src="../images/whatsnew3_1/link.gif" />
		</div>
		<h2>Bi-directional link with editor</h2>
		<p>When exploring a complex model, users frequently need to switch from the tree representation (provided by the Model Explorer) to the current diagram and vice-versa.</p>
		<p>Before Sirius 3.1, the “link with editor” option was uni-directional: selecting a model element in the Model Browser was selecting the same element in the diagram, but not the opposite.</p>
		<p>Now, this option is bi-directional: selecting a diagram element automatically selects the corresponding model element in the Model browser.</p>		
	</div>
	<div class="clear"></div>
	<div class="section right">
		<div class="image">
			<img class="shadow" width="400"  src="../images/whatsnew3_1/align.gif" />
		</div>
		<h2>Snap to all shapes</h2>
		<p>Ideas you are expecting to communicate deserve clean and easy to understand diagrams. This is the reason why alignment matters!</p>
		<p>Sirius 3.1 improved the <b>“Snap to Shapes”</b> option so that you can now align shapes that belong to different containers. This new option, available when you move a object shape while pressing the F4 key, displays vertical or horizontal guides which allow you to simply align a shape with other shapes from other containers.</p>	
	</div>
	<div class="clear"></div>	
	<div class="section left">
		<div class="image">
			<img class="shadow" width="400"  src="../images/whatsnew3_1/post-execution_options.png" />
		</div>
		<h2>Selection after tool execution</h2>
		<p>For users who need to rapidly create new models and efficient representations, reducing the number of clicks is very important to improve their productivity.</p>
		<p>With Sirius 3.1, we have added the possibility to specify which elements to automatically select after a tool execution. On each kind of tool (creation, edition, navigation, etc) we have added two new options <b>“Element To Select”</b> and <b>“Inverse Selection Order”</b> that can be used to specify which model elements to select after the execution of the tool.</p>		
	</div>
	<div class="clear"></div>
	<div>
		<h2>AQL becomes the recommended query language!</h2>
		<p>AQL (Acceleo Query Language), the new query language introduced with Sirius 3.0, has proven successful. We recommend its usage, in preference to Acceleo 3 or OCL, in order to benefit from its many advantages:</p>
		<ul>
			<li>simpler for querying EMF models</li>
			<li>much better performances</li>
			<li>more concise and very easy to learn</li>
		</ul>		
		<p>Since Sirius 3.0, we have also improved the code completion and the detection of syntax errors, in order to lower the number of errors when writing new expressions.</p>
	</div>
	
	<br /><br />
	<div>
		<h2>Performance and scalability</h2>
		<p>It seems to be our catch phrase now, but once again we have improved the performance and scalability of Sirius! This is definitively a concern of every day for us, because each Sirius release is used by more and more organizations on bigger and bigger models.</p>
	</div>
	
	<br />
	<p>The complete list of changes is available here: <a href="http://www.eclipse.org/sirius/doc/Release_Notes.html#sirius3.1.0" title="New & Noteworthy">http://www.eclipse.org/sirius/doc/Release_Notes.html#sirius3.1.0</a>.</p>
	<p>Read <a href="http://eclipse.org/sirius/whatsnew/whatsnew3.html" title="New & Noteworthy">What's new in Sirius 3.0</a> to see the new and noteworthy features of previous version.</p>
	<br />
</div> <!-- Fin body_wrapper -->

	<div class="clear"></div>
	<ng-include src="'../angular/blocks/footer.html'"></ng-include>
	<ng-include src="'../angular/blocks/call2action.html'"></ng-include>
</body>
</html>
