Jump to: navigation, search

Getting Started With Dawn Web

Introduction

Note: The Dawn Web Component at its current state is very experimental. This tutorial expectes that you have already installed the CDO worksspace as described here. It is recommended to use the latest Indigo builds for this tutorial.

Preparation

In addtion the the prepearation done in the above mentioned tutorial youo need to install the Subversice Team Provider from the Indigo Update site because we will check out some sources from SVN.

Dawn svn team provider.jpg

Additional dependencies

The Dawn Web Feature needs some external dependencies which can be retrieved from the following update site: http://mfdawn.sourceforge.net/dawn/

Download the sources

First downlaod all source from here:

http://dev.eclipse.org/svnroot/modeling/org.eclipse.emf.cdo/branches/INCUBATING/DawnWeb/

Dawn web checkout.JPG

Start the server

Now start the server product as described in this tutorial.

Use the following cdo-server.xml

<?xml version="1.0" encoding="UTF-8"?>
<cdoServer>

    <!-- See http://wiki.eclipse.org/CDO/Server_Configuration_Reference -->

  <acceptor type="tcp" listenAddr="0.0.0.0" port="2036">
  </acceptor>

  <!--
  <acceptor type="http"/>
  -->

  <repository name="repo1">

    <property name="overrideUUID" value=""/>
    <property name="supportingAudits" value="true"/>
    <property name="supportingBranches" value="true"/>
    <property name="supportingEcore" value="true"/>
    <property name="ensureReferentialIntegrity" value="false"/>

    <!--
    <userManager type="file" description="_database/repo1.users"/>
    -->

    <store type="db">

      <mappingStrategy type="horizontalBranching">
        <property name="qualifiedNames" value="false"/>
        <property name="toManyReferences" value="ONE_TABLE_PER_REFERENCE"/>
        <property name="toOneReferences" value="LIKE_ATTRIBUTES"/>

        <!--
          Per default, the objectTypeCache is in-memory and contains
          10,000,000 cache entries. If you want to change the size,
          uncomment the following line and set the desired size.
          The cache can be disabled by setting a size of 0.
        -->
        <!-- <property name="objectTypeCacheSize" value="10000000" /> -->
      </mappingStrategy>

      <dbAdapter name="h2"/>
      <dataSource class="org.h2.jdbcx.JdbcDataSource"
        uRL="jdbc:h2:_database/repo1"/>

      <!--
      <dbAdapter name="derby-embedded"/>
      <dataSource class="org.apache.derby.jdbc.EmbeddedDataSource"
        databaseName="/temp/repo1"
        createDatabase="create"/>

      <dbAdapter name="hsqldb"/>
      <dataSource class="org.eclipse.net4j.db.hsqldb.HSQLDBDataSource"
        database="jdbc:hsqldb:mem:repo1"
        user="sa"/>

      <dbAdapter name="mysql"/>
      <dataSource class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
        url="jdbc:mysql://localhost/repo1"
        user="sa"/>

      <dbAdapter name="postgresql"/>
      <dataSource class="org.postgresql.ds.PGSimpleDataSource"
        url="jdbc:postgresql://localhost:5432/repo1"
        databaseName="repo1"
        user="cdo"
        password="cdo"/>
      -->

    </store>

  </repository>

</cdoServer>


Start the Web server

Letz start the webserver by execution the run configuration in the checked out org.eclipse.emf.cdo.dawn.web project.

Dawn web start web server.JPG

Create an example

Let's start a new runtime instance. This will contain Dawn and it's examples. Just create a new "Dawn Acore Diagram" using the appropriate Wizard. If you need some support you could check out this tutorial

Create a simple AClass and save the diagram.

Dawn web diagram.JPG

Play in the web

Enter the following url in your browser:

http://localhost:8080/diagram?type=draw2d&pluginid=org.eclipse.emf.cdo.dawn.examples.acore.diagram&path=default.acore_diagram

Dawn web browser.JPG

Play a bit with the diagram and see what happens:

  • move the node in the Eclipse instance
  • resize it in the Eclipse instance
  • rename the node and add some attributes
  • move the node in the browser window
  • try the rename the node in the browser as you are used to do it in the Eclipse instance