<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
                 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<chapter id="get-started">
    <title>Getting Started</title>

    <para>Learning a new framework is not always straightforward. In this section, we (the Spring DM/Gemini Blueprint team) 
    tried to provide, what we think is, an easy to follow guide for starting with Gemini Blueprint. 
    Of course, feel free to create your own learning 'path' as you see fit and, if possible, please report back
    any improvements to the documentation that can help others.</para>

    <section id="get-started:first-steps">
		<title>First Steps</title>
		
		<para>As explained in <xref linkend="why-Spring DM"/>, Gemini Blueprint provides integration between
		Spring framework and OSGi. Thus, it is important to become acquainted with both of these frameworks (libraries or
		environments depending on how you want to name them). Throughout the Gemini Blueprint documentation, each section provides
		links to resources relevant however, it is best to become familiar with these topics beforehand.</para>
		  
		<section id="get-started:first-steps:spring">
			<title>Knowing Spring</title>
			<para>Gemini Blueprint uses heavily Spring framework's <ulink url="http://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/html/overview.html#overview-core-container">core</ulink> functionalty,
			such as the <ulink url="http://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/html/beans.html#beans-introduction">IoC</ulink> container,
			<ulink url="http://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/html/resources.html">resource</ulink> abstraction and
			<ulink url="http://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/html/aop.html">AOP</ulink> infrastructure. While it is not important
			to know the Spring framework APIs, understanding the concepts behind them is. At a minimum, the idea behind IoC should be familiar.
			That being said, the more knowledge you have about Spring framework, the faster you will pick Gemini Blueprint.
			Besides the comprehensive documentation that explains the Spring Framework in detail,
			there are a lot of articles, blog entries and books on the topic - take a look at the Spring framework
			<ulink url="http://projects.spring.io/spring-framework/">home page</ulink> for more information. In general, this should be the starting point for
			OSGi (or Eclipse plugin) developers wanting to try Gemini Blueprint.</para>
		</section>
		<section id="get-started:first-steps:osgi">
			<title>Knowing OSGi</title>
			<para>Java developers, new to OSGi, can start by reading the OSGi Alliance <ulink url="https://www.osgi.org/developer/where-to-start/">introduction</ulink>,
			the OSGi <ulink url="https://www.osgi.org/developer/specifications/">specifications</ulink> or one of the articles/blogs
			available on the internet.
			</para>
		</section>
		<section id="get-started:first-steps:blueprint">
			<title>Quick start - OSGi 5.x Blueprint Container</title>
			<para>As an alternative to the recommended Spring documentation, if OSGi 5.x is an option, one can read the Blueprint Container specification
			for a quick introduction to dependency injection and Gemini Blueprint functionality. Note that Blueprint is a subset of Spring and Gemini Blueprint and we recommend
			the official documentation to get access to the whole set of features.
			</para>
		</section>	
	</section>
    
    <section id="get-started:help">
		<title>Need Help?</title>
		
		<para>If you encounter issues or you are just looking for advice, feel free to use one of the links below:</para>
		
		<section id="get-started:help:community">
  		    <title>Community Support</title>
			<para>The Gemini Blueprint <ulink url="http://www.eclipse.org/forums/index.php/f/153/">forum</ulink>.</para>
			<para>The Gemini Blueprint GitHub <ulink url="https://github.com/eclipse/gemini.blueprint">mirror</ulink>.</para>
		</section>
		<section id="get-started:help:professional">
  		    <title>Professional Support</title>
			<para>Professional, from-the-source support, with guaranteed response time, is available from <ulink url="http://spring.io/">Pivotal</ulink>,
			the company behind Gemini Blueprint and Spring.  
			</para>
		</section>
    </section>
    
    <section id="get-started:up-to-date">
		<title>Following Development</title>
		
		<para>For information on the Gemini Blueprint source code repository, nightly builds and snapshot artifacts please see the Gemini Blueprint home 
		<ulink url="https://www.eclipse.org/gemini/blueprint/">page</ulink>.
		</para>
		<para>You can help make Gemini Blueprint best serve the needs of the Spring community by interacting with developers through the Spring Community 
		<ulink url="http://spring.io/questions">stack overflow</ulink>.</para>
		<para>If you encounter a bug or want to suggest an improvement, 
		please create a ticket on the Gemini Blueprint issue <ulink url="https://jira.spring.io/">tracker</ulink>.</para>
		<para>To stay up to date with the latest news and announcements in the Spring eco system, subscribe to the 
		Spring Community <ulink url="http://www.spring.io/">Portal</ulink>.</para>
		<para>Lastly, you can follow the project team on Twitter
		(<ulink url="https://twitter.com/adriancolyer">Adrian</ulink>, <ulink url="https://twitter.com/costinl">Costin</ulink>, <ulink url="https://twitter.com/deploynix">Olaf</ulink>)</para>
	</section>
    
</chapter>