先前處理alfresco上傳的議題
- Heap Size issue (Need to increase that)
- JVM memory allocation
- session time out (It will take more time to write the data on created content so need to make sure session timeout does not happens)
webscripts.tempDirectoryName=WebScripts # 4mb webscripts.memoryThreshold=4194304 # 4gb webscripts.setMaxContentSize=4294967296
function main()
{
var filter = args["filter"];
}
function main()
{
// Get the user name of the person to get
var userName = url.extension;
}
function main(){
//invalid input
if(!json.has("users")){
status.setCode(status.STATUS_BAD_REQUEST, "The request body format is error.");
return;
}
var usersIndex ;
var users = json.get("users");//json array
for (usersIndex = 0; usersIndex < users.length(); usersIndex++){
//Get user val
var currentUser = users.get(usersIndex);
}
/user/{userid}
/alfresco/service/user/fred?profile=full&format=html
public void execute(WebScriptRequest req, WebScriptResponse response) {
InputStream inputBody = req.getContent().getInputStream();
String requestBody = RequestBODY.get(inputBody,Charset.forName("utf-8"));
//requestBody:{"parentUUID":"23d97062-5310-4b80-864a-a2232238fd11","uuids":[]}
System.out.println("requestBody:" + requestBody);
}
protected Map<string, object> executeImpl(
WebScriptRequest req,
Status status,
Cache cache) {
WrappingWebScriptRequest wrappingWebScriptRequest = (WrappingWebScriptRequest) req;
WebScriptRequest webScriptRequest = wrappingWebScriptRequest.getNext();
WebScriptServletRequest servletRequest = (WebScriptServletRequest) webScriptRequest;
FormField uploadFile = servletRequest.getFileField("file");
//file field
uploadFileName = uploadFile.getFilename();
uploadMIMEType = uploadFile.getMimetype();
uploadContent = uploadFile.getInputStream();
System.out.println("[form data] filename:" + uploadFileName);
System.out.println("[form data] mimetype:" + uploadMIMEType);
//do something
}
//how to get WebScriptServletRequest WrappingWebScriptRequest wrappingWebScriptRequest = (WrappingWebScriptRequest) req; WebScriptRequest webScriptRequest = wrappingWebScriptRequest.getNext(); WebScriptServletRequest servletRequest = (WebScriptServletRequest) webScriptRequest; //get data form form FormData formData = (FormData)servletRequest.parseContent(); FormData.FormField[] formFields = formData.getFields(); int fieldsLen = formFields.length; for(int i=0;i如果要做更複雜的行為不在這篇的討論範例 :)
<bean
id="webscript.org.example.simplejavadir.get"
class="org.example.SimpleJavaDir"
parent="webscript">
<property name="repository" ref="repositoryHelper"/>
</bean>
package org.example;
import java.util.HashMap;
import java.util.Map;
import org.alfresco.repo.model.Repository;
import org.alfresco.service.cmr.repository.NodeRef;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptException;
import org.springframework.extensions.webscripts.WebScriptRequest;
public class SimpleJavaDir extends DeclarativeWebScript {
private Repository repository;
private static Log s_logger = LogFactory.getLog(SimpleJavaDir.class);
public void setRepository(Repository repository) {
this.repository = repository;
}
@Override
protected Map<string, object> executeImpl(WebScriptRequest req,
Status status, Cache cache) {
s_logger.debug("SimpleJavaDir entry");
// extract folder listing arguments from URI
String verboseArg = req.getParameter("verbose");
Boolean verbose = Boolean.parseBoolean(verboseArg);
Map<string, string> templateArgs = req.getServiceMatch().getTemplateVars();
String folderPath = templateArgs.get("folderpath");
String nodePath = "workspace/SpacesStore/" + folderPath;
// @param1 one of "node", "path", or "avmpath"
NodeRef folder = repository.findNodeRef("path", nodePath.split("/"));
// validate that folder has been found
if (folder == null) {
throw new WebScriptException(Status.STATUS_NOT_FOUND, "Folder "
+ folderPath + " not found");
//you will see the followning messages in your server
// ERROR [extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 05190001 Folder Company Homes not found
}
// construct model for response template to render
Map<string, object> model = new HashMap<string, object>();
model.put("verbose", verbose);
model.put("folder", folder);
model.put("nodePath", nodePath);
return model;
}
}
| Namespace | Common Prefix | Description |
|---|---|---|
| http://www.alfresco.org | alf | General Alfresco Namespace |
| http://www.alfresco.org/model/dictionary/1.0 | d | Data Dictionary model |
| http://www.alfresco.org/model/system/1.0 | sys | Repository system model |
| http://www.alfresco.org/model/content/1.0 | cm | Content Domain model |
| http://www.alfresco.org/model/application/1.0 | app | Application model |
| http://www.alfresco.org/model/bpm/1.0 | bpm | Business Process Model |
| http://www.alfresco.org/model/site/1.0 | st | Site Model |
| http://www.alfresco.org/model/forum/1.0 | fm | Forum Model |
| http://www.alfresco.org/model/user/1.0 | usr | User model (in repository.jar) |
| http://www.alfresco.org/view/repository/1.0 | view | Alfresco Import / Export View |
| http://www.alfresco.org/model/action/1.0 | act | Action service model |
| http://www.alfresco.org/model/rule/1.0 | rule | Rule service model |
| http://www.alfresco.org/ws/service/authentication/1.0 | auth | Authentication Web Service |
| http://www.alfresco.org/ws/service/repository/1.0 | rep | Repository Web Service |
| http://www.alfresco.org/ws/service/content/1.0 | content | Content Web Service |
| http://www.alfresco.org/ws/service/authoring/1.0 | author | Authoring Web Service |
| http://www.alfresco.org/ws/service/classification/1.0 | cls | Classification Web Service |
| http://www.alfresco.org/ws/cml/1.0 | cml | Content Manipulation Language |
| http://www.alfresco.org/ws/model/content/1.0 | cm | Web Service Content Domain Model |
| http://www.alfresco.org/ws/headers/1.0 | hdr | SOAP Headers |
| http://www.alfresco.org/model/workflow/1.0 | wf | Workflow Model(link is to Alfresco simple workflow model, not generally extended) |
# # Properties to limit resources spent on individual searches # # The maximum time spent pruning results system.acl.maxPermissionCheckTimeMillis=100000 # The maximum number of results to perform permission checks against system.acl.maxPermissionChecks=10000