Initial commit of Sigil contribution. (FELIX-1142)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@793581 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/sigil/org.cauldron.sigil.help/.classpath b/sigil/org.cauldron.sigil.help/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sigil/org.cauldron.sigil.help/.project b/sigil/org.cauldron.sigil.help/.project
new file mode 100644
index 0000000..3e3bb3b
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.cauldron.sigil.help</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/sigil/org.cauldron.sigil.help/.settings/org.eclipse.jdt.core.prefs b/sigil/org.cauldron.sigil.help/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1174b4b
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Fri Aug 01 14:46:19 BST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..97cd5ab
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Sigil Help Plug-in
+Bundle-SymbolicName: org.cauldron.sigil.help;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-Activator: org.cauldron.sigil.help.Activator
+Bundle-Vendor: Paremus Ltd
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.help;bundle-version="3.3.1",
+ org.eclipse.ui.cheatsheets;bundle-version="3.3.100",
+ org.cauldron.sigil.ui;bundle-version="0.5.5",
+ org.eclipse.ui.ide;bundle-version="3.4.0",
+ org.cauldron.sigil.core;bundle-version="0.5.5"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Import-Package: org.cauldron.sigil.model.eclipse,
+ org.eclipse.core.resources
diff --git a/sigil/org.cauldron.sigil.help/build.properties b/sigil/org.cauldron.sigil.help/build.properties
new file mode 100644
index 0000000..5bab7a8
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               html/,\
+               toc.xml,\
+               cheatsheets/,\
+               archive/
diff --git a/sigil/org.cauldron.sigil.help/cheatsheets/HelloWorld.xml b/sigil/org.cauldron.sigil.help/cheatsheets/HelloWorld.xml
new file mode 100644
index 0000000..94ce68d
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/cheatsheets/HelloWorld.xml
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<cheatsheet title="Create a Hello World composite application">
+	<intro>
+		<description>This cheat sheet shows you how to create a simple hello world composite application using Sigil.</description>
+	</intro>
+	
+	<item title="Create an empty Newton project" href="/org.cauldron.sigil.help/html/tasks/new_project.html" dialog="true" skip="true">
+		<description>
+		First, you must create a new &quot;org.example.helloworld&quot; empty Newton project to house the java classes and SCA composites.
+		</description>
+
+		<subitem label="Select &quot;File &gt;New &gt;Project...&quot;. Expand &quot;Sigil&quot;, select &quot;Newton Project&quot; and click &quot;Next&quot;." skip="true">
+			<action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.OpenEmptyNewtonProjectWizardAction"
+				param1="org.example.helloworld"  
+				translate="" />
+		</subitem>
+
+		<subitem label="Enter &quot;org.example.helloworld&quot; as the &quot;Project name&quot;, then click &quot;Finish&quot;." skip="false" />
+	</item>
+	
+	<item title="Create The Java Interfaces and Classes" skip="true">
+		<description>
+		Create a new &quot;org.example.helloworld.api&quot; package and add a HelloWorld interface to this package. 
+		Then create a new &quot;org.example.helloworld.impl&quot; package and add a HelloWorldImpl class which implements HelloWorld to the impl package.
+		Finally create a new &quot;org.example.helloworld.cli&quot; package and add a HelloWorldCli class which references the HelloWorld api to the cli package.
+		</description>
+
+		<subitem label="Create the HelloWorld API" skip="true">
+			<action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+				param1="org.example.helloworld"  
+				param2="src/org/example/helloworld/api"
+				param3="org.cauldron.sigil.help"
+				param4="archive/java/HelloWorld.java"
+				param5="org.eclipse.jdt.ui.CompilationUnitEditor"
+				translate="" />
+		</subitem>
+		<subitem label="Create the HelloWorld Impl" skip="true">
+			<action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+				param1="org.example.helloworld"  
+				param2="src/org/example/helloworld/impl"
+				param3="org.cauldron.sigil.help"
+				param4="archive/java/HelloWorldImpl.java"   
+				param5="org.eclipse.jdt.ui.CompilationUnitEditor"
+				translate="" />
+		</subitem>
+		<subitem label="Create the HelloWorld CLI" skip="true">
+			<action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+				param1="org.example.helloworld"  
+				param2="src/org/example/helloworld/cli"
+				param3="org.cauldron.sigil.help"
+				param4="archive/java/HelloWorldCli.java"   
+				param5="org.eclipse.jdt.ui.CompilationUnitEditor"
+				translate="" />
+		</subitem>
+	</item>
+   <item
+         title="Add OSGi Package Imports To The HelloWorld Project">
+      <description>
+         The HelloWorldCli class references classes which are exported from other OSGi bundles. In order to satisfy the OSGi classloading rules the HelloWorld project must import the required packages.
+      </description>
+      <subitem
+            label="Open the &quot;org.example.helloworld&quot; project editor by double-clicking on the &quot;sigil.properties&quot; file in the project directory."
+            skip="false">
+      </subitem>
+      <subitem
+            label="Select the &quot;Overview&quot; tab.">
+      </subitem>
+      <subitem
+            label="Click on the &quot;Resolve missing dependencies&quot; link in the &quot;Tools&quot; section.">
+      </subitem>
+      <subitem
+            label="Wait for the background task to complete. When the &quot;Review New Imports&quot; dialog appears, click &quot;OK&quot;.">
+      </subitem>
+   </item>
+  
+	
+	<item title="Create The SCA Composites That Describe The Java Resources" skip="true">
+		<description>
+		Create a new HelloWorld service composite that exports the HelloWorldImpl class using the HelloWorld interface. 
+		Then create a new HelloWorld cli composite that imports the HelloWorld interface and exports a ConsoleCommandHandler 
+		service to allow user interaction via the command handler.
+		</description>
+
+		<subitem label="Create the HelloWorld Service" skip="true">
+			<action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+				param1="org.example.helloworld"
+				param2="sca"
+				param3="org.cauldron.sigil.help"
+				param4="archive/sca/org.example.helloworld.service.composite"
+				param5="org.cauldron.sigil.editors.SCACompositeEditor"   
+				translate="" />
+		</subitem>
+		<subitem label="Create the HelloWorld Command Line" skip="true">
+			<action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+				param1="org.example.helloworld"
+				param2="sca"
+				param3="org.cauldron.sigil.help"
+				param4="archive/sca/org.example.helloworld.cli.composite"   
+				param5="org.cauldron.sigil.editors.SCACompositeEditor"   
+				translate="" />
+		</subitem>
+	</item>
+	
+   <item
+         title="Add The SCA Composites To The HelloWorld Bundle">
+      <description>
+         In order to load a composite in a Newton container it needs to be associated with an OSGi bundle that will act as the classpath for that bundle.
+      </description>
+      <subitem
+            label="Open the &quot;org.example.helloworld&quot; project editor by double-clicking on the &quot;sigil.properties&quot; file in the project directory.">
+      </subitem>
+      <subitem
+            label="Select the &quot;Exports&quot; tab.">
+      </subitem>
+      <subitem
+            label="Click on the &quot;Add&quot; button in the Composites section.">
+      </subitem>
+      <subitem
+            label="Add the &quot;org.example.helloworld.service&quot; and &quot;org.example.helloworld.cli&quot; composites to the OSGi bundle.">
+      </subitem>
+      <subitem
+            label="Save the &quot;org.example.helloworld&quot; project editor.">
+      </subitem>
+   </item>
+	
+ <item
+       title="Launch A Newton Container">
+    <description>
+       Launch a Newton enabled JVM in which to host the SCA composites you have just created.
+    </description>
+    <subitem
+          label="Make sure that the the &quot;org.example.helloworld&quot; project editor is open.">
+    </subitem>
+    <subitem
+          label="Select the &quot;Overview&quot; tab.">
+    </subitem>
+    <subitem
+          label="Click on the &quot;Launch a newton container&quot; link in the &quot;Testing&quot; section.">
+    </subitem>
+    <subitem
+          label="Wait for the newton container to finish launching. This is signified by the console message: &quot;Boot complete&quot;">
+    </subitem>
+ </item>
+
+ <item
+       title="Install The HelloWorld Composites In The Newton Container">
+    <description>
+       We will now install the two composites in the Newton container we just launched using the short-cut menu items in the eclipse navigation bar.
+    </description>
+    <subitem
+          label="Open the &quot;org.example.helloworld.service.composite&quot; document using the Sigil &quot;SCA Composite Editor&quot;.">
+    </subitem>
+    <subitem
+          label="Click on the &quot;Install Composite&quot; short-cut menu item in the navigation bar.">
+    </subitem>
+    <subitem
+          label="Select the &quot;org.example.helloworld&quot; instance and click ok">
+    </subitem>
+    <subitem
+          label="Open the &quot;org.example.helloworld.cli.composite&quot; document using the Sigil &quot;SCA Composite Editor&quot;.">
+    </subitem>
+    <subitem
+          label="Again, click on the &quot;Install Composite&quot; short-cut menu item in the navigation bar and install into the &quot;org.example.helloworld&quot; Newton instance.">
+    </subitem>
+ </item>
+	
+	<item title="Type &quot;sayhello&quot; on the Newton console" skip="false">
+		<description>
+		
+		</description>
+  <subitem
+        label="Select the Newton console.">
+        <action
+				pluginId="org.cauldron.sigil.help"
+				class="org.cauldron.sigil.cheatsheets.actions.ShowViewAction"
+				param1="org.eclipse.ui.console.ConsoleView"
+				translate="" />
+        
+  </subitem>
+  <subitem
+        label="Type &quot;sayhello&quot;. You should see the response:&lt;br/&gt;Hello World">
+  </subitem>	
+	</item>	
+	
+	<onCompletion>Congratulations you have created your first composite application using Sigil.</onCompletion>
+	
+	
+</cheatsheet>
diff --git a/sigil/org.cauldron.sigil.help/html/book.html b/sigil/org.cauldron.sigil.help/html/book.html
new file mode 100644
index 0000000..a9fc420
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/book.html
@@ -0,0 +1,45 @@
+<html>
+<header>
+<title>Sigil - Newton Development Plugin</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Sigil - Newton Development Plugin</h1></td><td align="right"><img src="images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<p>Sigil is an eclipse plugin that helps developers build and test code to be deployed on the Newton platform</p>
+
+<p>Features:<br/>
+<ul>
+    <li>New (Newton Project, Composite, System)</li>
+    <li>Syntax highlighting and code completion for SCA/System docs</li>
+    <li>Launch Newton in Debug/Standard vm from Eclipse</li>
+    <li>Full debug support - break points/source code/step through etc</li>
+    <li>Install Composites into running newton from Eclipse</li>
+    <li>Log integration</li>
+</ul>
+</p>
+
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/container_log.html b/sigil/org.cauldron.sigil.help/html/tasks/container_log.html
new file mode 100644
index 0000000..9b8808f
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/container_log.html
@@ -0,0 +1,31 @@
+<html>
+<header>
+<title>Viewing The Newton Log</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Viewing The Newton Log</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/debug_composite.html b/sigil/org.cauldron.sigil.help/html/tasks/debug_composite.html
new file mode 100644
index 0000000..43db6da
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/debug_composite.html
@@ -0,0 +1,66 @@
+<html>
+<header>
+<title>Debugging A Composite</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Debugging A Composite</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<p>In order to debug composite applications using the Newton Eclipse
+      plugin, use the runtime configuration you created in above, and start it
+      using a debug session. This will launch a newton container as a separate
+      process to the Eclipse IDE environment but which can be controlled from
+      the IDE</p>
+
+      
+<div align="center">
+<img class="figure" alt="Debug" src="my-images/debug.png"></div>
+      
+<p>Install your composite into this container using the Newton context
+      menu in the package view as documented above. In this example we have
+      installed the gui.composite component from the fractal render demo into
+      a Newton debug container.</p>
+
+      
+<div align="center">
+<img class="figure" alt="Fractal GUI Debug" src="my-images/demo-gui.png"></div>      
+
+<p>You can now add break points within your code to allow you to get a
+      better idea of what is going on within your application. In this example
+      we have added a break point to the FractalViewFrame of the fractal
+      render demo to break out into an interactive debug session when any of
+      the buttons <em>draw</em>, <em>save</em>, <em>cancel</em> are pressed on
+      the gui window.</p>
+
+      
+<div align="center">
+<img class="figure" alt="Add a breakpoint" src="my-images/breakpoint.png"></div>
+      
+<p>You can then inspect variable values in top-right-hand corner as per
+      normal debugging in the Eclipse IDE.</p>
+      
+<div align="center">
+<img class="figure" alt="Debug breakpoint" src="my-images/debug-breakpoint.png"></div>
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/install_composite.html b/sigil/org.cauldron.sigil.help/html/tasks/install_composite.html
new file mode 100644
index 0000000..e20d472
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/install_composite.html
@@ -0,0 +1,41 @@
+<html>
+<header>
+<title>Installing A Composite</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Installing A Composite</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<p>To install a composite into a Infiniflow Service Fabric container, you require a running
+      container instance on your machine. This can either be an external
+      process which you have launched using the bin/container script or the
+      container can be launched via an Eclipse runtime configuration as per
+      the instructions <a href="launch_newton.html" alt="Launching Newton">here</a>.</p> 
+      
+<p>You can then select your .composite file in the
+      package view and select Newton-&gt;Install Composite using the context
+      menu.</p>
+
+      
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2008 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/launch_newton.html b/sigil/org.cauldron.sigil.help/html/tasks/launch_newton.html
new file mode 100644
index 0000000..6a2edc4
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/launch_newton.html
@@ -0,0 +1,55 @@
+<html>
+<header>
+<title>Launching Newton</title>
+</header>
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Launching Newton</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+	<h2>Runtime Configuration</h2>
+	<p>To run a Infiniflow Service Fabric container within Eclipse you first need to configure
+      its runtime options in the IDE.</p>
+      
+	<p>Open the Run configuration dialog by selecting the Run &rarr; Run&hellip; option
+      from the menu bar.</p>
+
+	<div align="center"><img class="figure" alt="Run Menu" src="my-images/run-menu.png"></div>
+
+	<p>Create a new Newton configuration by right-clicking on the Newton
+      configuration group and selecting <em>New</em>. Type in a name for your
+      configuration, the other default options should be sufficient for most
+      users.</p>
+
+      
+	<div align="center"><img class="figure" alt="Run Dialog" src="my-images/run.png"></div>
+
+	<h2>Launch Newton</h2>      
+	<p>Click the <em>Run</em> button to start the container, you will see
+      the container output appear in the console tab. Wait until the <em>Boot
+      Complete</em> line appears, as below.</p>
+
+      
+	<div align="center"><img class="figure" alt="Boot Complete" src="my-images/run-complete.png"></div>
+        
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/new_composite.html b/sigil/org.cauldron.sigil.help/html/tasks/new_composite.html
new file mode 100644
index 0000000..58d9541
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/new_composite.html
@@ -0,0 +1,41 @@
+<html>
+<header>
+<title>Creating SCA Composites</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Creating SCA Composites</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+	<p>
+	Create a new sca composite document using the <em>New->Other</em> menu option.<br/>
+	Page 1:<br/>
+	<img src="../images/new_composite_page1.png" alt="New Composite Page 1" /><br/>
+	Page 2:<br/>
+	<img src="../images/new_composite_page2.png" alt="New Composite Page 2" />
+	</p>
+	<p>There is basic support for context sensitive text completion in sca documents. Press <em>Ctrl+Space</em> to see a list of valid elements at the current cursor location.<br/>
+	<img src="../images/composite_suggest_text.png" alt="New Composite Page 2" />
+	</p>
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/new_project.html b/sigil/org.cauldron.sigil.help/html/tasks/new_project.html
new file mode 100644
index 0000000..90e14e7
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/new_project.html
@@ -0,0 +1,31 @@
+<html>
+<header>
+<title>Creating A Newton Project</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Creating A Newton Project</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/new_system.html b/sigil/org.cauldron.sigil.help/html/tasks/new_system.html
new file mode 100644
index 0000000..a0cc7ae
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/new_system.html
@@ -0,0 +1,31 @@
+<html>
+<header>
+<title>Creating Newton Systems</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Creating Newton Systems</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/sigil_config.html b/sigil/org.cauldron.sigil.help/html/tasks/sigil_config.html
new file mode 100644
index 0000000..8334f70
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/sigil_config.html
@@ -0,0 +1,32 @@
+<html>
+<header>
+<title>Configuring Sigil</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+	<tr>
+		<td valign="bottom"><h1>Configuring Sigil</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+	</tr>
+	<tr><td colspan="2">
+<p>After having installed sigil, the preferences dialog should appear and ask you to specify the location of a valid newton install directory.</p>
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+          Copyright &copy; 2003-2007 Paremus Limited.</a>
+      All rights reserved.
+            <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+              document.write(" - "+"Last Published: " + document.lastModified);
+              //  --></script>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/plugin.xml b/sigil/org.cauldron.sigil.help/plugin.xml
new file mode 100644
index 0000000..0586903
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<?eclipse version="3.2"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.cheatsheets.cheatSheetContent">
+      <category
+            id="org.cauldron.sigil.help.category"
+            name="Sigil">
+      </category>
+      <cheatsheet
+            category="org.cauldron.sigil.help.category"
+            composite="false"
+            contentFile="cheatsheets/HelloWorld.xml"
+            id="org.cauldron.sigil.help.createProjectCheatSheet"
+            name="Create a Hello World composite application">
+      </cheatsheet>
+   </extension>
+</plugin>
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/AbstractNewWizardAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/AbstractNewWizardAction.java
new file mode 100644
index 0000000..5875264
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/AbstractNewWizardAction.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+public abstract class AbstractNewWizardAction extends Action {
+
+	@Override
+	public void run() {
+		Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+		
+		try {
+			INewWizard wizard = createWizard();
+			wizard.init(PlatformUI.getWorkbench(), getSelection());
+			WizardDialog dialog = new WizardDialog(shell, wizard);
+			int res = dialog.open();
+			notifyResult(res == Window.OK);
+		} catch (CoreException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}		
+	}
+	
+	protected abstract INewWizard createWizard() throws CoreException;
+
+	private IStructuredSelection getSelection() {
+		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+		if (window != null)
+		{
+			ISelection selection = window.getSelectionService().getSelection();
+			if (selection instanceof IStructuredSelection)
+			{
+				return (IStructuredSelection)selection;
+			}
+		}
+		return StructuredSelection.EMPTY;
+	}
+}
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/CopyResourceFromPlugin.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/CopyResourceFromPlugin.java
new file mode 100644
index 0000000..81cdccd
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/CopyResourceFromPlugin.java
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+import org.eclipse.ui.part.FileEditorInput;
+import org.osgi.framework.Bundle;
+
+public class CopyResourceFromPlugin extends Action implements ICheatSheetAction {
+
+	private String targetProject;
+	private String targetFolder;
+	private String sourceBundle;
+	private String sourcePath;
+	private String editorID;
+	
+	public void run(String[] params, ICheatSheetManager manager) {
+		if ( params != null && params.length > 4 )  {
+			targetProject = params[0];
+			targetFolder = params[1];
+			sourceBundle= params[2];
+			sourcePath = params[3];
+			editorID = params[4];
+		}
+		
+		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+			@Override
+			protected void execute(IProgressMonitor monitor) throws CoreException {
+				try {
+					Bundle b = Platform.getBundle(sourceBundle);
+					
+				    IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+				    IProject project = workspaceRoot.getProject(targetProject);
+				    IPath path = new Path( targetFolder ).append( sourcePath.substring( sourcePath.lastIndexOf( '/' ) ) );
+					IFile file = project.getFile( path );
+					
+					if ( !file.exists() ) {
+						mkdirs( (IFolder) file.getParent(), monitor );
+						
+						InputStream in = FileLocator.openStream(b, new Path(sourcePath), false);
+						file.create(in, true, monitor);
+					}
+					
+					IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+					FileEditorInput input = new FileEditorInput(file); 
+					window.getActivePage().openEditor(input, editorID);
+				} catch (IOException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+			}
+		};
+		
+		try {
+			new ProgressMonitorDialog(Display.getCurrent().getActiveShell()).run(false, false, op);
+		} catch (InvocationTargetException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (InterruptedException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+	private void mkdirs(IFolder folder, IProgressMonitor monitor) throws CoreException {
+		IContainer parent = folder.getParent();
+		if ( !parent.exists() ) {
+			mkdirs((IFolder) parent, monitor);			
+		}
+		
+		if ( !folder.exists() ) {
+			folder.create(true, true, monitor);
+		}
+		
+	}		
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
new file mode 100644
index 0000000..34d08da
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.cauldron.sigil.ui.wizard.project.SigilProjectWizard;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+
+public class OpenEmptySigilProjectWizardAction extends AbstractNewWizardAction implements ICheatSheetAction {
+
+	private String name;
+	
+	public void run(String[] params, ICheatSheetManager manager) {
+		if ( params != null && params.length > 0 )  {
+			name = params[0];
+		}
+		
+		run();
+	}
+
+	@Override
+	protected INewWizard createWizard() throws CoreException {
+		SigilProjectWizard wizard = new SigilProjectWizard();
+		wizard.setName(name);
+		return wizard;
+	}
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
new file mode 100644
index 0000000..a851e3d
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.cauldron.sigil.SigilCore;
+import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.cauldron.sigil.actions.ResolveProjectDependenciesAction;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+
+public class ResolveProjectDependencies extends Action implements ICheatSheetAction {
+
+	private String targetProject;
+	
+	public void run(String[] params, ICheatSheetManager manager) {
+		if ( params != null && params.length > 3 )  {
+			targetProject = params[0];
+		}
+
+	    IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+	    IProject project = workspaceRoot.getProject(targetProject);
+	    
+	    try {
+			ISigilProjectModel sigil = SigilCore.create(project);
+			new ResolveProjectDependenciesAction(sigil, false).run();
+		} catch (CoreException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
new file mode 100644
index 0000000..ef48890
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.cauldron.sigil.SigilCore;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+
+public class ShowViewAction extends Action implements ICheatSheetAction {
+
+	public void run(String[] params, ICheatSheetManager manager) {
+		if ( params != null && params.length > 0 )  {
+			IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+			IWorkbenchPage page = window.getActivePage();
+			try {
+				page.showView(params[0]);
+			} catch (PartInitException e) {
+				SigilCore.error( "Failed to show view", e);
+			}
+		}
+
+	}
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/help/Activator.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/help/Activator.java
new file mode 100644
index 0000000..8a94528
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/help/Activator.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.help;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.cauldron.sigil.help";
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/sigil/org.cauldron.sigil.help/toc.xml b/sigil/org.cauldron.sigil.help/toc.xml
new file mode 100644
index 0000000..191daf4
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/toc.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<toc label="Sigil - Newton Development Plugin" topic="html/book.html">
+	<topic label="Configuring Sigil" href="html/tasks/sigil_config.html"/>
+	<topic label="Creating A Newton Project" href="html/tasks/new_project.html"/> 
+	<topic label="Creating SCA Composites" href="html/tasks/new_composite.html"/>
+	<topic label="Creating Newton Systems" href="html/tasks/new_system.html"/>
+	<topic label="Launching Newton" href="html/tasks/launch_newton.html"/>
+	<topic label="Viewing The Newton Log" href="html/tasks/container_log.html"/>
+	<topic label="Installing Your Composites" href="html/tasks/install_composite.html"/>	
+	<topic label="Debugging Your Composites" href="html/tasks/debug_composite.html"/>	
+</toc>