<?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.1.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.1 deliverable is
                <html:ul>
                    <html:li>OSLC4J, a Java SDK for development of applications conforming to OSLC specifications. 1.1
                        includes a new OSLC Query library and a new OSLC consumer library
                    </html:li>
                    <html:li>A set of OAuth 1.0/1.0a provider libraries to assist with developing OAuth-compliant OSLC
                        applications.
                    </html:li>
                    <html:li>An OSLC test suite (source only) to assess OSLC implementations of the Core, Change
                        Management, Quality Management, Requirements Management, Asset Management and Automation
                        specifications
                    </html:li>
                </html:ul>
            </html:p>
        </html:div>
    </release_deliverables>
    <release_milestones>
        <preamble>
            <html:div>
                <html:p>The Lyo 1.1 deliverable is
                    <html:ul>
                        <html:li>OSLC4J, a Java SDK for development of applications conforming to OSLC specifications.
                            1.1 includes a new OSLC Query library and a new OSLC consumer library
                        </html:li>
                        <html:li>A set of OAuth 1.0/1.0a provider libraries to assist with developing OAuth-compliant
                            OSLC applications.
                        </html:li>
                        <html:li>An OSLC test suite (source only) to assess OSLC implementations of the Core, Change
                            Management, Quality Management, Requirements Management, Asset Management and Automation
                            specifications
                        </html:li>
                    </html:ul>
                </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="10/10/2012" milestone="1.0: 1.0 release"/>
        <milestone date="1/31/2013" milestone="1.1: 1.1 release"/>
        <postamble>
            <html:div>
                Lyo 1.1 is a combined maintenance/enhancement release
            </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:p>The Lyo OAuth library are an API to assist with development of OAuth 1.0/1.0a compliant OSLC
                applications. It requires
                Java 6 or higher and makes extenisve use of the Net.OAuth Java libraries.
            </html:p>
        </html:div>
        <internationalization>
            <html:div>
                <html:p>
                    OSLC4J and the OAuth libraries have 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>The 1.1 API is backward compatible with 1.0</html:p>
        </html:div>
    </compatibility_with_previous_releases>
    <themes_and_priorities>
        <preamble>
            <html:div>
                <html:p>
                    The themes for the 1.1 release of Lyo are:
                    <html:ul>
                        <html:li>Provide enhancements and maintentance to the SDK for development of Java OSLC
                            applications.
                        </html:li>
                        <html:li>Provide libraries to assist with development of OAuth-compliant 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 OAuth provider libraries">
            <description>
                <html:div>
                    <html:p>
                        OAuth is a popular Internet authentication protocol and is in common use by linked data
                        applications. The OSLC Core specification
                        recommends OAuth as a compatible authentication protocol. OAuth is commonly thought of as
                        "difficult" to implement. The Lyo OAuth
                        libraries have a goal of assisting developers in implementing OAuth-compliant OSLC applicatons.
                        Content includes:
                        <html:ul>
                            <html:li>A core library for token issuance, authorization and usage</html:li>
                            <html:li>A consumer store library for token persistence</html:li>
                            <html:li>A webapp library for token issuance and authorization</html:li>
                        </html:ul>
                    </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:li>Automation 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>