<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252">
<meta http-equiv="Content-Style-Type" content="text/css">
<link href="theme/Master.css" rel="stylesheet" type="text/css">
<title>Getting Started.html</title>
</head>
<body>
<H1>Eclipse Web Tooling Platform Contribution - LOMBOZ</H1>
<p>
<strong>NOTE:
This initial contribution has been removed since it is out of date and no longer needed.
Please obtain WTP builds from the project <a href="http://download.eclipse.org/webtools/downloads/">download</a> page.
Although the following guide is obsolete, you may still find it of use in evaluating the WTP builds.
This guide will eventually be superceded by WTP tutorials.
</strong>
</p>
<H2>1.0 Introduction</H2>
<P>Welcome to Eteration's contribution to the Eclipse Web Tooling Platform
(WTP), ObjectWeb Lomboz. The purpose of this document is to guide you through
  initial
setup of the code including any prerequisites and a high level tour
through each of the components which are being contributed for
evaluation. Before starting, please take note of <A
	href="#TermsAndConditions">Section 5, The Terms and Conditions</A> of this contribution.

<a href="http://www.eteration.com"  target="lomboz" >Eteration</a> is a member of the <a href="http://www.objectweb.org"  target="lomboz" >ObjectWeb</a> consortium, and <a href="http://lomboz.objectweb.org"  target="lomboz" >Lomboz</a> is an open source
project hosted by ObjectWeb.</P>
<H2>2.0 Getting Started</H2>
<p>Here are the prerequisites you need to download and extract to your system:
<ul>
<li><a href='http://download.eclipse.org/downloads/drops/R-3.0-200406251208/eclipse-SDK-3.0-win32.zip'>Eclipse Release 3.0 SDK</a>
<li><a href='http://download.eclipse.org/tools/emf/downloads/drops/2.0/R200406280827/emf-sdo-runtime-2.0.0.zip'>EMF,
  SDO 2.0.0 Runtime</a>

<li><a href='http://java.sun.com/j2se/1.4.2/download.html'>Sun
    1.4.2 JSDK</a>
</ul>
<P>Once you've unzipped/installed all of the above, download the
<a href="http://download.eclipse.org/webtools/downloads/initial-contributions/objectweb.zip">
objectweb.zip</a> and
  extract it. Unzip this SDK into the same location as the above SDKs. The zip
extracts with 'eclipse' as the root directory.</P>
<P>Follow the <a href="setup/setup.html">setup instructions</a> to complete the installation.</P>
<H2>3.0 Lomboz Tutorial</H2>
<P>Once the installation is complete. Walk
through the lomboz <a  href="http://www.objectlearn.com/support/docs/index.jsp" target="lomboz" >evaluation tutorial</a> for the components that you're interested
in. Don't forget to provide feedback to us as described in <A
	href="#Feedback">Section 4.0</A>.</P>

<P>&nbsp;</P>
<H2><A name="Feedback">4.0 Provide Feedback to Us</A></H2>

<p>We encourage development/design feed back on the <a
 href="https://dev.eclipse.org/mailman/listinfo/wtp-dev">wtp-dev</a>
mailing list. You can subscribe to the list via <a
 href="https://dev.eclipse.org/mailman/listinfo/wtp-dev">this link</a>.<br>

<br>
For usage questions, discussion of bugs, and strange behaviour please
post to the eclipse.webtools newsgroup. Information on the Web Tools
Platform newsgroup can be found <a
 href="http://www.eclipse.org/newsgroups/index.html">here</a>.</p>
 
<H2><A name="TermsAndConditions">5.0 Terms and Conditions</A></H2>
<H3>5.1 Licensing</H3>
<P>Eteration's Eclipse WTP Contribution Lomboz (the Content) is distributed under
  the <A
	href="http://www.eclipse.org/legal/epl-v10.html">EPL</A> and <A
	href="http://www.eclipse.org/legal/cpl-v10.html">CPL</A>. This applies to all
  files distributed under this contribution.  All intellectual property remains
  under the ownership of Eteration A.S. and others
  as indicated
  in the
  contents
of the with respective files where it applies.</P>

<P>The Content includes items that
    have been sourced from
  third parties as follows: JSP Parser is based on software developed by The
  Apache Software Foundation as part of the Jakarta project. The content in the
  com.objectlearn.jasper package and com\objectlearn\jdt\j2ee\ui\editor\partitioner\JspNonXmlParser.java
  is based on code in the org/apache/jasper/compiler package of Tomcat and is
  therefore
  Copyright (c) 1999 The Apache Software Foundation. All rights reserved. Your
  use of JSP Parser is subject to the terms and conditions of the <a href="http://jakarta.apache.org/ant/manual/LICENSE">Apache
  Software License 1.1.</a> The content includes the following software in binary
  format included as is. These software can be downloaded from their own
  sites and subject
  to their  licensing terms. From the Apache Software Foundation as part of the
  Jakarta project: <a href="http://jakarta.apache.org/commons/index.html">Commons
  Libraries</a>,
  <a href="http://ws.apache.org/axis/index.html">Axis</a>, <a href="http://logging.apache.org/log4j/docs/">Log4j</a> Your
  use of these software is subject to the terms and conditions of the <a href="http://jakarta.apache.org/ant/manual/LICENSE">Apache
  Software License 1.1.</a> And from sourceforge: <a href="http://sourceforge.net/projects/xdoclet">XDoclet</a>.
  Your use of xdoclet is  subject to the terms and conditions of the <a href="http://www.opensource.org/licenses/bsd-license.php">BSD</a> license.</P>

<H3>5.1 Disclaimers</H3>
<P>The Content is provided as is for <B>evaluation purposes only</B>. The Content can and will most likely change before appearing in the Eclipse CVS repository. The APIs and packages will be reworked once the contribution is accepted. The code has not been extensively tested and should be considered a snapshot in time of ongoing development.</P>
</P>
</body>
</html>