chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r1295437 [1/3] - in /chemistry/playground/chemistry-opencmis-javascript-client: ./ src/ src/main/ src/main/webapp/ src/main/webapp/WEB-INF/ src/test/ src/test/resources/
Date Thu, 01 Mar 2012 07:05:26 GMT
Author: jens
Date: Thu Mar  1 07:05:25 2012
New Revision: 1295437

URL: http://svn.apache.org/viewvc?rev=1295437&view=rev
Log:
Add a simple Javascript application using the CMIS Browser Binding

Added:
    chemistry/playground/chemistry-opencmis-javascript-client/
    chemistry/playground/chemistry-opencmis-javascript-client/pom.xml
    chemistry/playground/chemistry-opencmis-javascript-client/src/
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/WEB-INF/
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/WEB-INF/web.xml
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/cmislib.js
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html
    chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/jquery-1.7.1.js
    chemistry/playground/chemistry-opencmis-javascript-client/src/test/
    chemistry/playground/chemistry-opencmis-javascript-client/src/test/resources/
    chemistry/playground/chemistry-opencmis-javascript-client/src/test/resources/qunit.css
    chemistry/playground/chemistry-opencmis-javascript-client/src/test/resources/qunit.js
    chemistry/playground/chemistry-opencmis-javascript-client/src/test/resources/test.html
    chemistry/playground/chemistry-opencmis-javascript-client/src/test/resources/testcmislib.js

Added: chemistry/playground/chemistry-opencmis-javascript-client/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/playground/chemistry-opencmis-javascript-client/pom.xml?rev=1295437&view=auto
==============================================================================
--- chemistry/playground/chemistry-opencmis-javascript-client/pom.xml (added)
+++ chemistry/playground/chemistry-opencmis-javascript-client/pom.xml Thu Mar  1 07:05:25
2012
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Licensed 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. -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.chemistry.opencmis</groupId>
+		<artifactId>chemistry-opencmis</artifactId>
+		<version>0.7.0-SNAPSHOT</version>
+		<relativePath>../../pom.xml</relativePath>
+	</parent>
+
+	<artifactId>chemistry-opencmis-javascript-client</artifactId>
+	<name>OpenCMIS Javacript Sample Application</name>
+	<packaging>war</packaging>
+
+	<properties>
+		<parentBasedir>../../</parentBasedir>
+	</properties>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-war-plugin</artifactId>
+				<configuration>
+					<archive>
+						<manifestEntries>
+							<Bundle-Name>org.apache.chemistry.opencmis.client.javascript</Bundle-Name>
+							<Bundle-SymbolicName>org.apache.chemistry.opencmis.client.javascript</Bundle-SymbolicName>
+							<Bundle-Version>0.0.1</Bundle-Version>
+							<Import-Package></Import-Package>
+							<Bundle-Classpath>.</Bundle-Classpath>
+							<Web-ContextPath>jsclient</Web-ContextPath>
+						</manifestEntries>
+					</archive>
+                </configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-eclipse-plugin</artifactId>
+				<version>2.9</version>
+				<configuration>
+					<wtpversion>2.0</wtpversion>
+					<wtpContextName>jsclient</wtpContextName>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<dependencies>
+	</dependencies>
+
+</project>

Added: chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/WEB-INF/web.xml?rev=1295437&view=auto
==============================================================================
--- chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/WEB-INF/web.xml
(added)
+++ chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/WEB-INF/web.xml
Thu Mar  1 07:05:25 2012
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
+	version="2.5">
+</web-app>
\ No newline at end of file

Added: chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/cmislib.js
URL: http://svn.apache.org/viewvc/chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/cmislib.js?rev=1295437&view=auto
==============================================================================
--- chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/cmislib.js (added)
+++ chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/cmislib.js Thu
Mar  1 07:05:25 2012
@@ -0,0 +1,216 @@
+/*
+ * 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.
+ */
+
+function OperationContext() {
+	
+    this.propertyFilter = "*";
+    this.maxItemsPerPage = 25;
+    this.skipCount = 0;
+    this.includeAcls = false;
+    this.includeAllowableActions = false;
+    this.includePolicies = false;
+    this.includeRelationships = "none";
+    this.renditionFilter = null;
+    this.includePathSegments = false;
+    this.orderBy = null;
+
+}
+
+
+function CmisSessionFactory (parameters) { 
+    var PARAM_URL = "url";
+    var PARAM_REPOSITORY_ID = "repositoryId";
+
+    this.params = parameters;
+  
+    this.createSession = function() {
+        return new CmisSession(this.params[PARAM_URL], this.params[PARAM_REPOSITORY_ID]);
+    };
+        
+    this.getRepositories = function(cbFct) {
+        console.log("getRepositories() for URL: " + this.params[PARAM_URL]);
+        $.ajax( { 
+                    url:this.params[PARAM_URL],
+                    dataType: "jsonp",
+                    success: cbFct
+        });
+    };
+};
+
+function CmisError (httpCode, message, cmisException, stackTrace) { 
+    this.httpCode = httpCode;
+    this.message = message;
+    this.cmisException = cmisException;
+    this.stackTrace = stackTrace;
+    
+    console.log(this.toString());    
+};
+
+CmisError.prototype.toString = function() {
+    return "Error in CMIS call! http-code: " + this.httpCode + ", CMIS Exception: " + this.cmisException
+
+    ", message: " + this.message;
+};
+
+
+function CmisSession(urlPrefix, repositoryId) {
+    this.repId = repositoryId;;
+    this.urlPrefix = urlPrefix; // "/inmemory/browser/" + repId
+    this.rootUrl = null;
+    this.opCtx = new OperationContext();
+    this.rootFolderId; // just use a place to store the id, must be filled by user of a CmisSession
+    
+	this.getUrl = function() {
+		return this.urlPrefix + "/" + this.repId;
+	};
+	
+    this.getRootUrl = function() {
+        return this.rootUrl;
+    };
+    
+    this.setRootUrl = function(url) {
+        this.rootUrl = url;
+    };
+
+    this.createErrorFromErrorResponse = function(jsonObj) {
+      return new CmisError(0, jsonObj.message, jsonObj.exception,
+              jsonObj.stacktrace);
+    };
+
+  this.getRepositoryInfo = function(cbFct) {
+        var url = this.getUrl();
+        var data = {
+                cmisSelector: "repositoryInfo"
+            };
+
+        console.log("getRepositoryInfo(): " + url);
+        this.doJson(url, data, cbFct);
+    };
+
+    this.getDocument = function(id, cbFct) {
+        var url = this.getRootUrl();
+        var data = {
+            objectId: id,
+            cmisSelector: "object",
+            filter: this.opCtx.filter,
+            includeAllowableActions: this.opCtx.includeAllowableActions,
+            includeRelationships: this.opCtx.includeRelationships,
+            includePolicyIds: this.opCtx.includePolicies,
+            includeACL: this.opCtx.includeAcls,
+            suppressResponseCodes: true
+        };
+
+        console.log("getDocument(): " + url);
+        this.doJson(url, data, cbFct);
+    };
+
+    this.getChildren = function(id, cbFct) {
+        var url = this.getRootUrl();
+        var data = {
+            objectId: id,
+            cmisSelector: "children",
+            filter: this.opCtx.filter,
+            includeAllowableActions: this.opCtx.includeAllowableActions,
+            includeRelationships: this.opCtx.includeRelationships,
+            includePolicyIds: this.opCtx.includePolicies,
+            includeACL: this.opCtx.includeAcls,
+            includePathSegment: this.opCtx.includePathSegments,
+            skipCount: this.opCtx.skipCount,
+            maxItemsPerPage: this.opCtx.maxItemsPerPage,
+            suppressResponseCodes: true
+        };
+
+        console.log("getDocument(): " + url);
+        this.doJson(url, data, cbFct);
+    };
+
+    this.deleteDocument = function(objectId, cbFct) {
+        var url = this.getRootUrl();
+
+        var properties = {
+                cmisaction: "delete",
+                objectId: objectId,
+                suppressResponseCodes: true
+        };
+        
+        console.log("deleteDocument(): " + url);
+        $.ajax( { 
+            url: url,
+            data: properties,
+            type:  "POST",
+            success: cbFct
+        });
+    };
+    
+    this.createDocument = function(name, typeId, folderId, cbFct) {
+        var url = this.getRootUrl();
+
+        var properties = {
+                cmisaction: "createDocument",
+                objectId: folderId,
+                "propertyId[0]": "cmis:name",
+                "propertyValue[0]": name,
+                "propertyId[1]": "cmis:objectTypeId",
+                "propertyValue[1]": typeId
+        };
+        
+        console.log("createDocument(): " + url);
+        $.ajax( { 
+            url: url,
+            data: properties,
+            type:  "POST",
+            success: cbFct
+        });
+    };
+
+    this.doJson = function(urlPrefix, params, cbFct) {
+        $.ajax( { 
+            url: urlPrefix,
+            data: params,
+            dataType: "jsonp",
+            success: cbFct
+        });
+	};
+	
+	
+};
+
+CmisSession.defaultErrorHandler = function (event, jqXHR, settings, excep) {
+    var cmisError;
+    
+    if (null == jqXHR || null == jqXHR.responseText)
+        cmisError = CmisError(null == jqXHR ? 0 : jqXHR.status, "Unknown error", "Unknown
CMIS exception",
+            "<no stacktrace available>");
+    else {
+        try {
+            var cmisErr = jQuery.parseJSON(jqXHR.responseText);
+            if (null == cmisErr)
+                cmisError = CmisError(jqXHR.status, "Unknown error, unparsable response",
"Unknown CMIS exception",
+                    "<no stacktrace available>");
+            else
+                cmisError =  new CmisError(jqXHR.status, cmisErr.message, cmisErr.exception,
+                        cmisErr.stacktrace);
+        } catch (exc) {
+            console.log("Failed to parse Error as JSON: " + jqXHR.responseText);
+            cmisError = jqXHR.responseText;
+        }
+    }
+    
+    return cmisError;
+};
+

Added: chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html?rev=1295437&view=auto
==============================================================================
--- chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html (added)
+++ chemistry/playground/chemistry-opencmis-javascript-client/src/main/webapp/index.html Thu
Mar  1 07:05:25 2012
@@ -0,0 +1,315 @@
+<!-- 
+ * 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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Browser Binding Client</title>
+</head>
+  <head>
+    <title>CMIS Test Page</title>
+  </head>
+  <body>
+    <script type="text/javascript" src="jquery-1.7.1.js"></script>
+    <script type="text/javascript" src="cmislib.js"></script>
+    <!-- Enable the following to get debugging information: 
+    <script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>
+     -->
+    <script type="text/javascript">
+    
+	var session = null;
+	  
+    function init1(connectionUrl, cbFct) {
+         var factory = new CmisSessionFactory({
+              url : connectionUrl,
+        	});
+         factory.getRepositories(cbFct);
+    }
+ 	            
+    function init2(connectionUrl, repoId) {
+ 	            console.log("Initialzing session to " + connectionUrl);
+ 	            var factory = new CmisSessionFactory({
+ 	                url : connectionUrl,
+ 	                repositoryId : repoId
+ 	          	});
+ 	              
+ 	            session = factory.createSession();
+ 	            session.getRepositoryInfo(function(repoInfos) {
+ 	                console.log("init(): getRepositoryInfo()");
+ 	                for (var repoInfo in repoInfos) {
+ 	                	session.rootFolderId = repoInfos[repoInfo].rootFolderId;
+ 	                	session.rootUrl = repoInfos[repoInfo].rootFolderUrl;
+ 	                	break;
+ 	                }
+ 	            });
+ 	}
+    
+    function createTable(children, baseType) {
+        var row;
+        var tbody;
+        var tbl = $('<table>').attr('id', 'childrenTable').attr('border', 1);
+        
+        tbl.append($('<thead>').append(row = $('<tr>')));
+        for (var child in children.objects) {
+            if (baseType === children.objects[child].object.properties["cmis:baseTypeId"].value)
{
+		        for (var prop in children.objects[child].object.properties) {
+		            row.append($('<td>').text(children.objects[child].object.properties[prop].id));
+		        }
+		    	break;
+            }
+        }
+        
+        tbl.append(tbody = $('<tbody>'));
+        for (var child in children.objects) {
+            if (baseType === children.objects[child].object.properties["cmis:baseTypeId"].value)
{
+                tbody.append(row = $('<tr>'));
+                for (var prop in children.objects[child].object.properties) {
+                    var text = children.objects[child].object.properties[prop].value;
+                    if (text == null)
+                        text = "n/a";
+                    row.append($('<td>').text(text));
+                }
+            }
+        }
+		
+        return tbl;
+    }
+    
+    function checkSession() {
+	    if (null == session)
+    	    displayError("No session! Please connect first...");
+    }
+
+    function displayError(cmisError) {
+        $("#errorsection *").remove();
+        $("#errorsection").append($("<p>").text(cmisError.toString()).css("color",
"red"));        
+    }
+    
+    function checkError(jsonObj) {
+        if (jsonObj != null && jsonObj.exception != null) {
+            var cmisError = session.createErrorFromErrorResponse(jsonObj);
+            displayError(cmisError);
+            return cmisError;
+        } else
+            return null;
+    }
+    
+    $(document).ready(function() {
+        
+        $(document).ajaxError(function(event, request, settings, excep){
+            var cmisError = CmisSession.defaultErrorHandler(event, request, settings, excep);
+            displayError(cmisError);
+         });
+
+        $('#repositories').click(function() {
+            var firstRepoId;
+            init1($("#reposfield").val(), function(repoInfos) {
+                console.log("getRepositories()");
+                var row;
+                var tbl = $('<table>').append($('<tr>').append($('<td>').text("Found
repositories:")))
+                        .append(row = $('<tr>'));
+                for (var repoInfo in repoInfos) {
+                	row.append($('<td>').text(repoInfos[repoInfo].repositoryId));
+                	if (null == firstRepoId)
+                	    firstRepoId = repoInfos[repoInfo].repositoryId;
+                }
+                $("#repositoriessection *").remove();
+            	$("#repositoriessection").append(tbl);
+            	$("#repoidfield").attr('value', firstRepoId);
+                init2($("#reposfield").val(), "A1");
+            });
+        });
+        
+        $('#repositoryInfo').click(function() {
+            checkSession();
+            session.getRepositoryInfo(function(repoInfos) {
+                console.log("getRepositoryInfo()");
+                for (var repoInfo in repoInfos) {
+                	var text = "Found Repository with id: " + repoInfos[repoInfo].repositoryId
+
+                	", vendor: " +  repoInfos[repoInfo].vendorName + 
+                	",  description: " +  repoInfos[repoInfo].repositoryDescription + 
+                	", root url: " + repoInfos[repoInfo].rootFolderUrl;
+                	$("#repoinfosection").html(text);
+                	session.rootFolderId = repoInfos[repoInfo].rootFolderId;
+                	session.rootUrl = repoInfos[repoInfo].rootFolderUrl;
+                	break;
+                }
+            });
+        });
+
+        $('#getbutton').click(function() {
+            checkSession();
+            session.getDocument($('#docidfield').val(), function(doc) {
+            	if (!checkError(doc)) {
+                  	console.log("getObject cmis:name= " + doc.properties["cmis:name"].value);
+                  	var text = "Retrieved document with cmis:name= " + doc.properties["cmis:name"].value;
+                  	$("#documentsection").html(text)
+            	}
+            });
+        });
+        
+        $('#deletebutton').click(function() {
+            checkSession();
+            session.deleteDocument($('#docidfield').val(), function(doc) {
+            	if (!checkError(doc)) {
+                  	console.log("Deleted document with id: " + $('#docidfield').val());
+                  	$("#documentsection").html("Deleted document with id: " + $('#docidfield').val());
+            	}
+            });
+        });
+        
+        $('#cmischildren').click(function() {
+            checkSession();
+            var rootFolderId = session.rootFolderId == null ? session.rootFolderId : 100;
+            
+            session.getChildren($('#folderidfield').val(), function(children) {
+                if (!checkError(children)) {
+                  	var tbl1 = createTable(children, "cmis:folder");
+                  	var tbl2 = createTable(children, "cmis:document");
+                    $("#childrensection *").remove();
+                  	$("#childrensection").append($('<h2>').text("Children of Root Folder")).
+                  	append($('<h3>').text("Folders")).append(tbl1).append($('<br>')).
+                  	append($('<h3>').text("Documents")).append(tbl2);
+            	}
+            });
+        });
+        
+        $('#createdoc').click(function() {
+            checkSession();
+           	session.createDocument($('#name').val(), $('#typeId').val(), $('#folderId').val(),
function(data) {
+   				var text = "Document successfully created with id: " + data.properties["cmis:objectId"].value;
+        			$("#createdocsection").html(text);
+           	});
+        });
+        
+	});    
+    </script>
+    
+    <div id="errorsection"> </div>
+    <h3>CMIS in Javascript</h3>
+    <p> A simple test page how to use the browser binding in Javascript in a browser.
</p>
+    <form >
+	    <table>
+	      <tr>
+	        <td><label for="reposfield">URL:</label></td>
+	        <td><input type="text" id="reposfield" value="/inmemory/browser"/></td>
+	      </tr>
+	    </table>
+	</form>
+    <button id="repositories">Connect!</button> <br/>
+    <div id="repositoriessection">
+    </div>
+    <hr/>    
+    <form >
+	    <table>
+	      <tr>
+	        <td><label for="repoidfield">Repository-Id:</label></td>
+	        <td><input type="text" id="repoidfield" value="?"/></td>
+	      </tr>
+	    </table>
+	</form>
+    <button id="repositoryInfo">Get RepositoryInfo!</button> <br/>
+    <div id="repoinfosection">
+    </div>
+    <hr/>    
+    <form >
+	    <table>
+	      <tr>
+	        <td><label for="docidfield">Doc-Id:</label></td>
+	        <td><input type="text" id="docidfield" value="133"/></td>
+	      </tr>
+	    </table>
+	</form>
+    
+    <button id="getbutton">Get Document!</button>  <br/>
+    <button id="deletebutton">Delete Document!</button>  <br/>
+    <div id="documentsection">
+    </div>
+    <hr/>    
+    <form >
+	    <table>
+	      <tr>
+	        <td><label for="folderidfield">Folder-Id:</label></td>
+	        <td><input type="text" id="folderidfield" value="100"/></td>
+	      </tr>
+	    </table>
+	</form>
+    <button id="cmischildren">Get Children!</button>  <br/>
+    <div id="childrensection">
+    </div>    
+    <br/>    
+    <hr/>    
+    <h3> Create Document With Ajax: </h3>
+    <form >
+	  <fieldset>
+	    <legend>Create document Ajax</legend>
+	    <table>
+	      <tr>
+	        <td><label for="name">Name:</label></td>
+	        <td><input type="text" id="name" name="Name" value="My document"/></td>
+	      </tr>
+	      <tr>
+	        <td><label for="typeId">Type-Id:</label></td>
+	        <td><input type="text" id="typeId" name="Type" value="cmis:document"/></td>
+	      </tr>
+	      <tr>
+	        <td><label for="folderId">Folder-Id:</label></td>
+	        <td><input type="text" id="folderId" name="Folder Id" value="100"/></td>
+	      </tr>
+	    </table>
+	  </fieldset>
+	</form>
+    <button id="createdoc">Create Doc!</button>  <br/>
+    <div id="createdocsection">
+    </div>        
+    <h3> Create a document from an HTML form: </h3>
+    <form action="/inmemory/browser/A1/root" enctype="multipart/form-data" method="post">
+	   <fieldset>
+	    <legend>Create document HTML</legend>
+	    <table>
+	      <tr>
+	        <td><label for="name">Name:</label></td>
+	        <td><input name="propertyValue[0]" type="text" id="name" value="My Document"/></td>
+	      </tr>
+	      <tr>
+	        <td><label for="typeId">Type-Id:</label></td>
+            <td><input name="propertyValue[1]" type="text" id="typeId" value="cmis:document"/></td>
+	      </tr>
+	      <tr>
+	        <td><label for="folderId">Folder-Id:</label></td>
+	        <td><input type="text" id="folderId" name="objectId" value="100"/></td>
+	      </tr>
+	      <tr>
+	        <td><label for="contentId">Content:</label></td>
+	        <td><input id="contentId" name="Browse..." type="file" size="50"/></td>
+	      </tr>
+	      <tr>
+	      <td><input id="createdochtml" type="submit" value="Create Doc!"/></td>
+	      <td></td>
+	      </tr>
+	    </table>	    
+	   </fieldset>
+	   <input name="propertyId[0]" type="hidden" value="cmis:name" />
+       <input name="propertyId[1]" type="hidden" value="cmis:objectTypeId" />
+       <input name="cmisaction" type="hidden" value="createDocument" />         
+	</form>
+    <div id="createdochtmlsection">
+    </div>        
+  </body>
+</html>
\ No newline at end of file



Mime
View raw message