You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by rh...@apache.org on 2011/06/28 10:53:35 UTC

svn commit: r1140485 - /esme/site/trunk/content/docs/clients/

Author: rhirsch
Date: Tue Jun 28 08:53:34 2011
New Revision: 1140485

URL: http://svn.apache.org/viewvc?rev=1140485&view=rev
Log:
[ESME-351]Move wiki to CMS

Added:
    esme/site/trunk/content/docs/clients/
    esme/site/trunk/content/docs/clients/adobe-air.mdtext
    esme/site/trunk/content/docs/clients/ant-client.mdtext
    esme/site/trunk/content/docs/clients/apache-esme-clients.mdtext
    esme/site/trunk/content/docs/clients/esme-desktop-client-server-config.mdtext
    esme/site/trunk/content/docs/clients/pure-javascript-client.mdtext
    esme/site/trunk/content/docs/clients/vba.mdtext
    esme/site/trunk/content/docs/clients/web-client.mdtext
    esme/site/trunk/content/docs/clients/web-ui-help.mdtext
    esme/site/trunk/content/docs/clients/zoho-creator.mdtext

Added: esme/site/trunk/content/docs/clients/adobe-air.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/adobe-air.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/adobe-air.mdtext (added)
+++ esme/site/trunk/content/docs/clients/adobe-air.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,81 @@
+Title: Adobe Air
+*Name*: Adobe Air Client
+*Description*: This client was one of the first clients to be developed for
+ESME
+
+*Status*: Alpha
+
+*Download:* You can [download the client ](http://esmeproject.googlecode.com/files/ESMEDesktop_v0.012.air)
+from the ESME Google Group.
+
+<a name="AdobeAir-Screenshots"></a>
+## Screenshots
+!esme-desktop.jpg!
+ 
+<a name="AdobeAir-Code"></a>
+## Code
+Geting started with ESME Air Client development: Please watch this 5 min
+screencast [http://screencast.com/t/DGKsxpJxN8](http://screencast.com/t/DGKsxpJxN8)
+
+The [source code ](http://code.google.com/p/esmeproject/source/browse/#svn/trunk/esme-air)
+is available on the ESME Google Code group.
+ 
+<a name="AdobeAir-Help"></a>
+## Help
+Open
+<a name="AdobeAir- Details"></a>
+##   Details
+* The client requires that you use a token to access ESME
+
+<a name="AdobeAir-Supportingmaterials"></a>
+## Supporting materials
+
+<a name="AdobeAir-Installation"></a>
+#### Installation
+
+Download and Install the latest Adobe AIR runtime from [http://get.adobe.com/air/](http://get.adobe.com/air/)
+Download the latest released version of ESMEDesktop.air from [http://code.google.com/p/esmeproject/downloads/list](http://code.google.com/p/esmeproject/downloads/list)
+Follow the installation wizard to Install
+
+<a name="AdobeAir-Configuration"></a>
+#### Configuration
+
+*How to configure the ESME server ESME Desktop connects to ..*
+
+By default ESME Desktop connects to the ESME instance running at [http://www.esme.us](http://www.esme.us)
+, but if you are running your own instance of the server, you will need to
+change the server that ESME Desktop connects to .. here's how ..
+
+This setting is stored in your application storage directory in a file
+called preferences.xml ... the application storage directory path varies
+based on your operating system and your username
+
+*MacOS:*
+
+/Users/username/Library/Preferences/ESMEDesktop.05D8320A56ED876B4DC203B7387C89522DDC092F.1/Local
+Store/preferences.xml The GUID in the path may vary.
+
+*Windows:*
+
+C:\Documents and Settings\username\Application
+Data\ESMEDesktop.05D8320A56ED876B4DC203B7387C89522DDC092F.1\Local
+Store\preferences.xml
+
+If the file does not exist create preferences.xml and drop in the following
+xml and save .. <preferences> <preference name="ESME_APISERVER"
+value="http://api.esme.us/esme/api/"/> <preference name="ESME_SERVER"
+value="http://www.esme.us/esme/"/> </preferences>
+If the file exists then edit the values to your server urls. The new
+setting will be picked up the next time you start ESME Desktop.
+
+&nbsp;[How to configure the client if you are using a different ESME server](esme-desktop-client-server-config.html)
+
+An example preferences file. The value for _token_ is from the Manage
+Tokens link, after you log in via the web. <preferences>&nbsp;
+&nbsp; <preference name="ESME_APISERVER"
+value="http://api.esme.us/esme/api/"/>&nbsp;
+&nbsp; <preference name="ESME_SERVER"
+value="http://www.esme.us/esme/"/>&nbsp;
+&nbsp; <preference name="token"
+value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>&nbsp;
+</preferences>

Added: esme/site/trunk/content/docs/clients/ant-client.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/ant-client.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/ant-client.mdtext (added)
+++ esme/site/trunk/content/docs/clients/ant-client.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,155 @@
+Title: Ant Client
+We have an integration with [Apache Ant](http://ant.apache.org/)
+ which is “a Java-based build tool”. It is now possible to send
+messages to Apache ESME that describe the progress of your build steps.
+This is especially useful when Apache ESME is being in development projects
+where individual developers can be made aware of the status of
+various-build related actions. For example, a development team could be
+informed that a build is broken or if it is successful.
+
+<a name="AntClient-Setup"></a>
+#### Setup
+
+1. Install Apache Ant
+1. Install Apache Maven
+1. Download the Apache Commons packages ["Codec"](http://commons.apache.org/codec/)
+ and [Logger|http://commons.apache.org/logging/download_logging.cgi]
+.&nbsp;We also need&nbsp;[Apache "Httpclient|http://hc.apache.org/]&nbsp;.
+Please note that we are currently using the legacy 3.1&nbsp;version of the
+HTTP Client.&nbsp;
+1. Check-out the ESME java client:&nbsp;\_[https://svn.apache.org/repos/asf/esme/trunk/esme-java-client\_](https://svn.apache.org/repos/asf/esme/trunk/esme-java-client_)
+1. Perform a maven build in this directory with the following command "_mvn
+compile package \-Dmaven.test.skip=true_" . This will create a jar file
+"esme-rest-api-0.1.jar" in the target directory.&nbsp;
+1. Create \_lib&nbsp;_directory and copy "rest-api-0.1-SNAPSHOT.jar",
+"commons-codec-1.2.jar", "commons-httpclient-3.1.jar" into this
+directory.&nbsp;
+1. Create _src_ directory and copy the "EsmeAntTask.java" file to this
+directory
+1. Change the build.xml file to point to the appropriate directories
+1. Change the token in the "esme" target in the build.xml file to a correct
+token.
+1. Change the proxy in the "esme" target in the build.xml file to a correct
+proxy.
+1. call _ant dist esme_ to test the application
+
+<a name="AntClient-Build.xml"></a>
+#### Build.xml
+{code:lang=xml}
+<project name="EsmeViaAnt" default="dist" basedir=".">
+  <!-- set global properties for this build -->
+  <property name="src" location="src"/>
+  <property name="build" location="build"/>
+  <property name="dist"  location="dist"/>
+
+    <path id="project.class.path">
+    <pathelement
+path="./dist/lib/EsmeViaAnt.jar:./lib/esme-rest-api-0.1.jar:./lib/commons-codec-1.4.jar:./lib/commons-logging-1.1.1.jar:./lib/commons-httpclient-3.1.jar"/>
+  </path>
+
+
+  <target name="init">
+    <!-- Create the time stamp -->
+    <tstamp/>
+    <!-- Create the build directory structure used by compile -->
+    <mkdir dir="${build}"/>
+  </target>
+
+  <target name="compile" depends="init"
+	description="compile the source " >
+    <!-- Compile the java code from ${src} into ${build} -->
+    <javac srcdir="${src}" destdir="${build}">
+       <classpath refid="project.class.path"/>
+    </javac>
+  </target>
+
+  <target name="dist" depends="compile"
+	description="generate the distribution" >
+    <!-- Create the distribution directory -->
+    <mkdir dir="${dist}/lib"/>
+
+    <!-- Put everything in ${build} into the jar file -->
+    <jar jarfile="${dist}/lib/EsmeViaAnt.jar" basedir="${build}"/>
+  </target>
+
+  <target name="esme"
+	description="Send Esme" >
+	<java fork="true"
+	 classname="EsmeAntTask">
+	 <arg
+value="http://esmecloudserverapache.dickhirsch.staxapps.net/api"/>
+	 <arg value="31EL0R0M15NTD2LSOS0BKC5Y0P5JOVAC"/>
+	 <arg value="myproxy:81"/>
+	 <arg value="A message from the ant build process"/>
+	 <classpath>
+	   <pathelement
+path="./dist/lib/EsmeViaAnt.jar:./lib/esme-rest-api-0.1.jar:./lib/commons-codec-1.4.jar:./lib/commons-logging-1.1.1.jar:./lib/commons-httpclient-3.1.jar"/>
+	 </classpath>
+
+       </java>
+  </target>
+
+</project>
+
+    
+    
+    h4. EsmeAntTask java class
+
+import org.apache.esme.api.EsmeRestApi;
+import org.apache.esme.model.Message;
+
+public class EsmeAntTask
+{
+
+public static void main (String[](.html)
+ args) {
+
+ String apiUrl;
+ String authToken;
+ String localProxy;
+ String message;
+ EsmeRestApi esme;
+
+ apiUrl = args[0](0.html)
+;
+ authToken = args[1](1.html)
+;
+ localProxy = args[2](2.html)
+;
+ message = args[3](3.html)
+;
+
+ try {
+
+	 esme = new EsmeRestApi(apiUrl);
+
+	 if ((localProxy != null) && !("".equals(localProxy)))
+	 {
+		// Split proxyHost:port into two parts
+                String[](.html)
+ proxy = localProxy.split(":");
+                esme.setProxy(proxy[0](0.html)
+, Integer.parseInt(proxy[1]));
+	 }
+
+	 esme.login(authToken);
+
+	 Message esmeMsg = new Message();
+
+	 esmeMsg.setBody(message);
+
+         String[](.html)
+ tags = new String[1];
+         tags[0](0.html)
+ = "Ant Task";
+
+	 esmeMsg.setTags(tags);
+
+	 esmeMsg.setSource("Ant");
+
+	 esme.sendMsg(esmeMsg);
+ }
+ catch (Exception e) {}
+ }
+}
+

Added: esme/site/trunk/content/docs/clients/apache-esme-clients.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/apache-esme-clients.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/apache-esme-clients.mdtext (added)
+++ esme/site/trunk/content/docs/clients/apache-esme-clients.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,90 @@
+Title: Apache ESME Clients
+* h5. {color:#000000}[Web Client](web-client.html)
+{color}
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [ABAP Web Dynpro](http://code.google.com/p/esmeproject/source/browse/#svn/tags/teched08_vegas_demo_jam/esme-abap)
+ (Google Code project)
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [Adobe AIR](adobe-air.html)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [Ant Client](ant-client.html)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [Apache James](apache-james-(email-integration).html)
+ (Email integration)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [Java Client](http://svn.apache.org/viewvc/esme/trunk/esme-java-client/)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [PL SQL Client](pl-sql-client.html)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [Pure JavaScript Client](pure-javascript-client.html)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [VBA Client](vba.html)
+
+
+
+
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+* h5. [Zoho Creator](zoho-creator.html)
+
+<a name="ApacheESMEClients-"></a>
+#### 
+
+
+<a name="ApacheESMEClients-"></a>
+#### 

Added: esme/site/trunk/content/docs/clients/esme-desktop-client-server-config.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/esme-desktop-client-server-config.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/esme-desktop-client-server-config.mdtext (added)
+++ esme/site/trunk/content/docs/clients/esme-desktop-client-server-config.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,39 @@
+Title: ESME Desktop Client Server Config
+<a name="ESMEDesktopClientServerConfig-HowtoconfiguretheESMEserverESMEDesktopconnectsto.."></a>
+# How to configure the ESME server ESME Desktop connects to ..
+
+By default ESME Desktop connects to the ESME instance running at
+http://www.esme.us, but if you are running your own instance of the server,
+you will need to change the server that ESME Desktop connects to .. here's
+how ..
+
+This setting is stored in your application storage directory in a file
+called preferences.xml ... the application storage directory path varies
+based on your operating system and your username
+
+<a name="ESMEDesktopClientServerConfig-MacOS:"></a>
+# MacOS:
+
+/Users/username/Library/Preferences/ESMEDesktop.05D8320A56ED876B4DC203B7387C89522DDC092F.1/Local
+Store/preferences.xml The GUID in the path may vary.
+
+<a name="ESMEDesktopClientServerConfig-Windows:"></a>
+# Windows:
+
+C:\Documents and Settings\username\Application
+Data\ESMEDesktop.05D8320A56ED876B4DC203B7387C89522DDC092F.1\Local
+Store\preferences.xml
+
+If the file does not exist create preferences.xml and drop in the following
+xml and save .. <preferences> <preference name="ESME_APISERVER"
+value="http://api.esme.us/esme/api/"/>	<preference name="ESME_SERVER"
+value="http://www.esme.us/esme/"/> </preferences>
+If the file exists then edit the values to your server urls. The new
+setting will be picked up the next time you start ESME Desktop.
+
+An example preferences file. The value for _token_ is from the Manage
+Tokens link, after you log in via the web. <preferences>
+  <preference name="ESME_APISERVER" value="http://api.esme.us/esme/api/"/>
+  <preference name="ESME_SERVER" value="http://www.esme.us/esme/"/>
+  <preference name="token" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
+</preferences>

Added: esme/site/trunk/content/docs/clients/pure-javascript-client.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/pure-javascript-client.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/pure-javascript-client.mdtext (added)
+++ esme/site/trunk/content/docs/clients/pure-javascript-client.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,235 @@
+Title: Pure JavaScript Client
+This is a message-receiving client for Apache ESME that  is written
+entirely in Javascript. This very first cut of a client was  created as a
+proof-of-concept to show that a very simple client was	possible without
+any dependence on the server-side programming  language.&nbsp; Based on the
+current implementation, it could be embedded in  Java, C#, etc. It could
+run in a variety of environments including  SharePoint, SAP Portal, etc.
+
+This first version offers:
+* Long-polling
+* Flexible design
+* The client uses XSL transformation to create HTML from the XML that
+originates from Apache ESME’s REST-API.
+
+<a name="PureJavaScriptClient-HTMLpage"></a>
+#### HTML page
+{code:lang=javascript}<script type="text/javascript" language="javascript">
+var http_request = false;
+var xslDoc = false;
+function getFirstRequest() {
+
+     //Load XSL File
+     xslTest();
+   
+   
+    http_request = GetXmlHttpObject();
+   
+    if (!http_request) {
+        alert('Cannot create XMLHTTP instance');
+        return false;
+    }
+   
+    login();
+   
+    getMessages ("http://api.esme.us/esme/api/get_msgs")
+   
+}
+
+function login () {
+   
+    var url = "http://api.esme.us/esme/api/login";
+    var params =
+"token="+encodeURIComponent("NSCPIKQ0QZ0GO2PJXMXGTKRL1O");
+    http_request.open("POST", url, false);
+    //Send the proper header information along with the request
+    http_request.setRequestHeader("Content-type",
+"application/x-www-form-urlencoded");
+    http_request.setRequestHeader("Content-length", params.length);
+    http_request.setRequestHeader("Connection", "close");
+   
+    http_request.send(params);
+   
+}
+
+function getMessages(rest_type) {
+   
+    http_request.open('GET', rest_type, true);
+    http_request.onreadystatechange = pageUpdate;
+    http_request.send(null);
+}
+
+function getNextRequest() {
+   
+    http_request = GetXmlHttpObject();
+   
+    if (!http_request) {
+        alert('Cannot create XMLHTTP instance');
+        return false;
+    }
+   
+    login();
+   
+    getMessages ("http://api.esme.us/esme/api/wait_for_msgs")
+   
+}
+
+
+function GetXmlHttpObject() {
+    var xmlHttp = null;
+    try {
+        // Firefox, Opera 8.0+, Safari
+        xmlHttp = new XMLHttpRequest();
+    }
+    catch(e) {
+        // Internet Explorer
+        try {
+            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
+        }
+        catch(e) {
+            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
+        }
+    }
+    return xmlHttp;
+}
+
+function pageUpdate() {
+    if (http_request.readyState == 0) {
+        document.getElementById('resultbox').innerHTML = "Sending
+Request...";
+    }
+    if (http_request.readyState == 1) {
+        document.getElementById('resultbox').innerHTML = "Loading
+Response...";
+    }
+    if (http_request.readyState == 2) {
+        document.getElementById('resultbox').innerHTML = "Response
+Loaded...";
+    }
+    if (http_request.readyState == 3) {
+        document.getElementById('resultbox').innerHTML = "Response
+Ready...";
+    }
+    if (http_request.readyState == 4) {
+        //alert(http_request.responseText);
+        //addText (http_request.responseText);
+        loadXML (http_request.responseText);
+       
+        http_request.open('GET', "http://api.esme.us/esme/api/logout",
+true);
+        http_request.send(null);
+       
+        getNextRequest();
+    }
+   
+}
+
+function addText (text) {
+    var pTag = document.createElement("p");
+    pTag.setAttribute("align","center");
+    pTag.innerHTML = text;
+    var div =  document.getElementById("details")
+   div.insertBefore(pTag, div.childNodes[0](0.html)
+);
+   
+}
+
+function loadXML (text) {
+   
+    try //Internet Explorer
+    {
+        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
+        xmlDoc.async="false";
+        xmlDoc.loadXML(text);
+    }
+    catch(e)
+    {
+        try //Firefox, Mozilla, Opera, etc.
+        {
+            parser=new DOMParser();
+            xmlDoc=parser.parseFromString(text,"text/xml");
+        }
+        catch(e) {alert(e.message)}
+    }
+    try
+    {
+        var sResult = xmlDoc.documentElement.transformNode(xslDoc);
+        //alert (sResult);
+        addText (sResult);
+    }
+    catch(e) {
+        alert(e.message)
+    }
+   
+}
+
+function xslTest () {
+try //Internet Explorer
+{
+    xslDoc=new ActiveXObject("Microsoft.XMLDOM");
+}
+catch(e)
+{
+    try //Firefox, Mozilla, Opera, etc.
+    {
+        xslDoc=document.implementation.createDocument("","",null);
+    }
+    catch(e) {alert(e.message)}
+}
+try
+{
+    xslDoc.async=false;
+    xslDoc.load("d:/temp/esme.xsl");
+}
+catch(e) {alert(e.message)}
+}
+
+
+
+</script>
+<body onload="getFirstRequest()">
+
+<div id="resultbox"></div>
+<div id="details"><p> </p></div>
+</body>
+
+    
+    h4. XLS File
+    
+    {code:lang=xml}<?xml version="1.0"?>
+    <xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+    
+        <xsl:output method="html" />
+    
+        <xsl:template match="author">
+    	<tr>
+    	<td>
+    	<img>
+    	<xsl:attribute name="src"><xsl:value-of select="@image"
+/></xsl:attribute>
+    	<xsl:attribute name="alt"><xsl:value-of select="@name"
+/></xsl:attribute>
+    	</img>
+    	From: <xsl:value-of select="@name" />
+    	</td>
+    	</tr>
+        </xsl:template>
+    
+        <xsl:template match="body">
+        <tr><td>
+         Message: <xsl:value-of select="."/></td></tr>
+        </xsl:template>
+    
+    
+        <xsl:template match="esme_api">
+    	<table>
+    	<xsl:apply-templates/>
+    	</table>
+         </xsl:template>
+    
+         <xsl:template match="/">
+    	<xsl:apply-templates/>
+         </xsl:template>
+    
+    </xsl:stylesheet>{code}

Added: esme/site/trunk/content/docs/clients/vba.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/vba.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/vba.mdtext (added)
+++ esme/site/trunk/content/docs/clients/vba.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,52 @@
+Title: VBA
+Many people spend most of the day either working on SAP-related systems or
+on Microsoft Office products.&nbsp;&nbsp; We have created a VBA macro that
+creates messages on EMSE for those individuals who work with Excel and
+Word. This macro is based on ESME's [REST API](https://cwiki.apache.org/confluence/display/ESME/RESTAPI)
+.
+
+The macro pops up in your Office tool of choice which allows you to enter a
+quick message for ESME.
+
+To authenticate themselves, ESME users must replace
+“_insert_your_token_“&nbsp;with their own authorization token. Tags are
+currently hard-coded as well.
+
+
+Sub ESME_sendMessage()
+
+‘HTTP variable
+Dim myHTTP As MSXML2.XMLHTTP
+
+‘HTTP object
+Set myHTTP = CreateObject(”msxml2.xmlhttp”)
+
+‘open the connection
+myHTTP.Open “post”, _
+“[http://api.esme.us/esme/api/login?token=[insert_your_token](http://api.esme.us/esme/api/login?token=[insert_your_token)
+|http://api.esme.us/esme/api/login?token=[insert_your_token]]“, False
+
+’send
+myHTTP.Send
+
+‘ Send Message
+
+Dim message
+
+message = InputBox(”Enter Message”)
+
+myHTTP.Open “post”, _
+“[http://api.esme.us/esme/api/send_msg?message](http://api.esme.us/esme/api/send_msg?message)
+=” + message + “&tags=Test,excel&via=excel”, False
+
+’send
+myHTTP.Send
+
+‘Logout
+myHTTP.Open “get”, _
+“[http://api.esme.us/esme/api/logout](http://api.esme.us/esme/api/logout)
+“, False
+
+’send
+myHTTP.Send
+End Sub

Added: esme/site/trunk/content/docs/clients/web-client.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/web-client.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/web-client.mdtext (added)
+++ esme/site/trunk/content/docs/clients/web-client.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,39 @@
+Title: Web Client
+&nbsp;
+*Name*: Web
+
+*Description*: This client is a pure browser-based client
+
+*Status*: There are currently two versions - an old
+one&nbsp;(original)&nbsp;and &nbsp;the latest one based on the Apache
+code-base
+
+<a name="WebClient-Screenshots"></a>
+## Screenshots
+
+&nbsp;
+*Old Web UI*
+
+&nbsp; !old_esme.jpg|thumbnail!
+
+*New UI:*&nbsp;
+
+_Coming soon_&nbsp;
+
+<a name="WebClient-Code"></a>
+## Code
+
+See [SVN](esme:downloading-source.html)
+
+<a name="WebClient-Help"></a>
+## Help
+
+&nbsp;Detailed help is located [here](esme:web-ui-help.html)
+
+<a name="WebClient-Details"></a>
+## Details
+
+This was our first client&nbsp;
+
+<a name="WebClient-Supportingmaterials"></a>
+## Supporting materials

Added: esme/site/trunk/content/docs/clients/web-ui-help.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/web-ui-help.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/web-ui-help.mdtext (added)
+++ esme/site/trunk/content/docs/clients/web-ui-help.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,204 @@
+Title: Web UI Help
+<a name="WebUIHelp-Login"></a>
+#### Login
+
+In the current version, you need an OpenID to login into ESME. You get your
+OpenID either via external OpenID providers or internal OpenID providers.
+
+<a name="WebUIHelp-MainUI:MessageBox"></a>
+#### Main UI: Message Box
+
+Here you can enter the message that you wish to send. If you use "@" then
+the mesage will be automaically sent to the that person's personal timeline
+(as long as they are following you). You can also enter URLs in this
+message and the URLs will be shortened automatically.
+
+_BUG: Currently, the current version of the Web UI doesn't shorten the
+URLs. Since there is no limit to the message length, shortening of URLs
+isn't critical"_
+
+h14. Main UI: Tags
+
+Here you can enter tags for your messages. Please separate your tags with
+commas. Tags are not required.
+
+This is optional but assists during searches for information.
+
+<a name="WebUIHelp-MainUI:TagCloud"></a>
+#### Main UI: Tag Cloud
+
+The tag cloud shows which tags are currently the most heavily used. The
+larger the tag, the more often it has been used.
+
+If you click on a tag, you are taken to a page where recent posts using
+this tag are displayed
+
+<a name="WebUIHelp-MainUI:WordCloud"></a>
+#### Main UI: Word Cloud
+
+The tag cloud shows which words are currently the most heavily used. The
+larger the word, the more often it has been used.
+
+If you click on a word, you are taken to a page where recent posts using
+this worsdare displayed
+
+<a name="WebUIHelp-MainUI:Search"></a>
+#### Main UI: Search
+
+Search allows you to search for words in messages. A new screen is
+displayed with all messages with words that meet the search term.
+
+*Note: Words not tags are searched*
+
+<a name="WebUIHelp-MainUI:Tabs"></a>
+#### Main UI: Tabs
+
+
+<a name="WebUIHelp-Messages"></a>
+##### Messages
+
+This a list of messages that you have created and from those people who are
+following. If you click on the user name in this message area, you will be
+sent to that user's page where you can all the most recent messages that
+they have created. If a message has tags assocaited with it, then these
+tags are on the left hand side of the message. The date under the message
+is associated with when the message was created.
+
+By clicking on the tags, you can see recent messages which have been tagged
+with this particular tag.
+
+If you click on "reply", then you can create a message in response and join
+in the conversation.
+
+If you click on "conversation", you will see a page with all messages that
+were part of this conversation.
+
+_BUG: In the current UI, if you click on "reply" the user identifier
+"@User" is not auotmatically added to message. You must do this manually._
+
+_BUG: In the current UI, it is not possible to look at older messages. If
+you wish to look at older messages, then you must use the search
+functionality._
+
+_BUG: In the current UI, the window width is displayed incorrectly, when
+longer URLs are displayed._
+
+<a name="WebUIHelp-Timeline"></a>
+##### Timeline
+
+This is the public timeline with all messages that have been sent on ESME.
+There are also messages from people whom you don't follow.
+
+If you see messages from individuals whose messages are of interest, you
+can click on the name and are sent to a page displaying the user' messages
+
+The functionality is the same as that of the _Messages_ Tab.
+
+<a name="WebUIHelp-Contacts"></a>
+##### Contacts
+
+This tab shows two lists. Those individuals who are following you and those
+individuals who you are following. By clicking on user, you can go to
+that's page and see his/her most recent messages.
+
+<a name="WebUIHelp-MainUI:ContactsPage"></a>
+#### Main UI: Contacts Page
+
+Here you can see the messages from a particular user. Click on the
+"Messages" tab to see recent messages from this user.
+
+You can click on "follow" to receive messages from this user in your
+personal timeline.
+
+If you are already following a user, you can click on "unfollow" to no
+longer receive messages from this user in your personal timeline.
+
+<a name="WebUIHelp-MainUI:UpperRightHandMenus"></a>
+#### Main UI: Upper Right Hand Menus
+
+
+<a name="WebUIHelp-Profile"></a>
+##### Profile
+
+This screen allows you to change the details regarding your user.
+Currently, the following attributes are editable:
+* Nickname: This is the name that appears on your your messages
+* First Name: First Name
+* Last Name: Last Name
+* imageurl : This is the URL to the image that will appear next to your
+messages. _Make sure you use a valid URL for your image URL_
+* timezone : select the timezone ich which are you located
+* Locale: In what langauge to which to see the UI. _Note: This currently
+has no effect._
+
+Select "Edit" or "Messages" to return to the messages
+
+<a name="WebUIHelp-About"></a>
+##### About
+
+This screen provides you with background details about ESME.
+
+<a name="WebUIHelp-ManageTokens"></a>
+##### Manage Tokens
+
+One of the advantges with ESME is that you can use various clients to
+integrate with the application. In order for you to access ESME via the
+REST API, you need to create a token. This screen allows you to create and
+revoke tokens for these applications.
+
+Select a name for your token and then create your token with "Add". You may
+also revoke tokens that you have already created by clicking the "Revoke"
+button.
+
+Via _Cut and Paste_, you are able to paste the created tokens into your
+client applications (for example, the ESMEDesktop)
+
+You may create as many tokens as you wish.
+
+<a name="WebUIHelp-Logout"></a>
+##### Logout
+
+This link logs you out of the application. The next time you start the
+application you must login again.
+
+<a name="WebUIHelp-MainUI:LowerLeftHandMenus"></a>
+#### Main UI: Lower Left Hand Menus
+
+
+<a name="WebUIHelp-Listusers"></a>
+#### List users
+
+This screen depicts all users that are currently stored in the system. You
+can click on a user to see his/her messages
+
+<a name="WebUIHelp-ItemTracking"></a>
+#### Item Tracking
+
+When using ESME, you see messages that are currently being created. With
+"Tracks", you have the ability to search for older messages.
+
+<a name="WebUIHelp-ActionManagement"></a>
+#### Action Management
+
+Actions allow individual users to influence message handling in ESME.
+Usually, users just receive messages. What if they wish to view only
+certain types of messages or must receive emails when certain messages have
+particular tags. ESME actions allow for this functionality.
+
+Actions are to be distinguished from tracks in that tracks are based on the
+primitive searches of message contents (including tags). Tracks just
+provide another perspective on existing timelines. This is obvious in the
+ESME Desktop client where each search creates a new track and a new window
+to display the contents in a new panel.
+
+Regarding actions, there are certain steps that must be taken.
+1. Name your action. This step enables a user to create a unique name that
+allows you to ascertain what the action does.
+1. Set for your filter: This step determines which messages will be selected
+for the action.
+1. Set your action: This determines what should happen with those messages
+meeting the filter criterion.
+
+It is also possible to enable, disable and delete actions. Thus, you may
+have action that you've created but currently do not what to use. You can
+disable the action and use this later.

Added: esme/site/trunk/content/docs/clients/zoho-creator.mdtext
URL: http://svn.apache.org/viewvc/esme/site/trunk/content/docs/clients/zoho-creator.mdtext?rev=1140485&view=auto
==============================================================================
--- esme/site/trunk/content/docs/clients/zoho-creator.mdtext (added)
+++ esme/site/trunk/content/docs/clients/zoho-creator.mdtext Tue Jun 28 08:53:34 2011
@@ -0,0 +1,36 @@
+Title: Zoho Creator
+We have created a [Zoho Creator](http://www.zoho.com/creator/)
+ application that creates Apache ESME messages. [The application|http://creator.zoho.com/richardhirsch/esmeclient4zoho/#Form:SendMessage]
+ includes a very rudimentary UI to create the message. 
+
+Note: Please remember that currently, the information entered in the form
+is also be stored in the internal application database so that anyone can
+see the tokens that are being used. It would be pretty easy to add  a small
+routine to the script to delete the data after it has been sent to Apache
+ESME.
+
+
+!zohocreator11.jpg|border=1!
+
+
+The code to create the Apache ESME message is very simple and is linked to
+the submit button.
+
+    MyMap = map(); Response =
+postUrl(”http://api.esme.us/esme/api/login?token=” + input.Token,
+MyMap);
+
+    Response = postUrl(”http://api.esme.us/esme/api/send_msg?message=”
++ input.Message + “&tags=” + input.Tags + “&via=zoho”, MyMap);
+
+    Response = getUrl(”http://api.esme.us/esme/api/logout“);
+
+What is cool is that there is also the possibility to use the
+“out-of-the-box” functionality of ZohoCreator applications to import
+information from Excel to fill internal database tables.  Thus, you can
+rapidly create a series of Apache ESME messages. 
+
+
+!zohocreator22.jpg|border=1!
+
+