<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?>
<plan plan-format="1.0" xmlns="http://www.eclipse.org/project/plan"
      xmlns:html="http://www.w3.org/1999/xhtml" name="Project Name">
    <release projectid="technology.lyo" version="1.0.0"/>
    <introduction>
        <html:div>
            <html:p>The Eclipse Lyo project is focused on providing an SDK to
                enable adoption of OSLC
                specifications. OSLC (Open Services for Lifecycle Collaboration:
                http://open-services.net)
                is an open community dedicated to reducing barriers for lifecycle tool
                integration. The
                community authors specifications for exposing lifecycle artifacts through
                uniform (REST)
                interfaces and relying on Internet and Linked Data standards.
            </html:p>
            <html:p>
                The project is divided into three categories:
                <html:ul>
                    <html:li>SDKs for developing OSLC integrations</html:li>
                    <html:li>Test suite for OSLC assessment</html:li>
                    <html:li>Samples and reference implementations of OSLC integrations
                    </html:li>
                </html:ul>
            </html:p>
            <html:p>Lyo is not an Eclipse IDE plugin and is not on the platform
                release cycle.
            </html:p>
        </html:div>
    </introduction>
    <release_deliverables>
        <html:div>
            <html:p>The Lyo 1.0 deliverable is OSLC4J, a Java SDK for development
                of applications
                conforming to OSLC specifications. Also available for developers to download
                will be
                the source for the OSLC JUnit test suite.
            </html:p>
        </html:div>
    </release_deliverables>
    <release_milestones>
        <preamble>
            <html:div>
                <html:p>The Lyo 1.0 deliverable is OSLC4J, a Java SDK for development
                    of applications
                    conforming to OSLC specifications. Also available for developers to download
                    will be
                    the source for the OSLC JUnit test suite.
                </html:p>
            </html:div>
        </preamble>
        <milestone date="12/30/2011" milestone="M1: 4Q2011 milestone"/>
        <milestone date="3/30/2012" milestone="M2: 1Q2012 milestone"/>
        <milestone date="6/30/2012" milestone="M3: 2Q2012 milestone"/>
        <milestone date="9/30/2012(est)" milestone="1.0: Proposed 1.0 release"/>
        <postamble>
            <html:div>
                Schedule for Lyo 1.0.0 maintenance is not yet decided.
            </html:div>
        </postamble>
    </release_milestones>
    <target_environments>
        <html:div>
            <html:p>OSLC4J is an SDK for Java application development. It
                requires
                Java 6 or higher. OSLC4J is based on Apache Jena 2.7.1 or higher and
                Apache Wink 1.2.1 or
                higher
            </html:p>
        </html:div>
        <internationalization>
            <html:div>
                <html:p>
                    OSLC4J has a limited number of serviceability messages which are enabled
                    for translation.
                    The OSLC test suite is not currently enabled for translation.
                </html:p>
            </html:div>
        </internationalization>
    </target_environments>
    <compatibility_with_previous_releases>
        <html:div>
            <html:p>This is the initial release of Lyo.</html:p>
        </html:div>
    </compatibility_with_previous_releases>
    <themes_and_priorities>
        <preamble>
            <html:div>
                <html:p>
                    The themes for the initial release of Lyo are:
                    <html:ul>
                        <html:li>Provide an SDK for development of Java OSLC applications.
                        </html:li>
                        <html:li>Provide test suites to assess the quality of OSLC
                            implementations.
                        </html:li>
                        <html:li>Provide code samples of OSLC implementations for
                            developers to use as examples.
                        </html:li>
                    </html:ul>
                </html:p>
            </html:div>
        </preamble>
        <theme name="Provide a Java SDK">
            <description>
                <html:div>
                    <html:p>
                        OSLC4J is a Java SDK for the development of OSLC applications. It is
                        based on Apache
                        Jena and Apache Wink. It provides Java annotations which let
                        developers represent
                        OSLC resources as Java objects. The OSLC4J JAX-RS providers assist
                        with serialziation
                        and de-serialization of Java OSLC resources to and from RDF/XML and
                        JSON.
                    </html:p>
                </html:div>
            </description>
        </theme>
        <theme name="Provide an OSLC test suite">
            <description>
                <html:div>
                    <html:p>
                        The OSLC test suite provides a way for developers to assess the
                        quality of their OSLC
                        implementations. It contains tests for the OSLC Core specification and for the
                        following domain specifications:
                        <html:ul>
                            <html:li>Asset Management V2</html:li>
                            <html:li>Change Management V1 and V2</html:li>
                            <html:li>Quality Management V2</html:li>
                            <html:li>Requirements Management V2</html:li>
                        </html:ul>
                        The test suite also provides reports for easy publication of an
                        implementations
                        assessment results.
                    </html:p>
                </html:div>
            </description>
        </theme>

        <theme name="Provide OSLC samples">
            <description>
                <html:div>
                    <html:p>
                        Lyo contains many samples of OSLC implementations which developers
                        can use as guides
                        or starting points for their own implementations. The samples cover
                        many domain specifications
                        and include:
                        <html:ul>
                            <html:li>Reference implementations for domain specifications
                            </html:li>
                            <html:li>Sample adapters for Bugzilla and Excel</html:li>
                            <html:li>A workshop which can be used for learning activities
                            </html:li>
                        </html:ul>
                    </html:p>
                </html:div>
            </description>
        </theme>
    </themes_and_priorities>
    <appendix/>
</plan>