Skip to content

Instantly share code, notes, and snippets.

View jgoldhammer's full-sized avatar

Jens Goldhammer jgoldhammer

View GitHub Profile
Script url /slingshot/node/content/workspace/SpacesStore/5930e336-37ae-4db4-ab96-eb9e29b77ec4/File-20151014.docx
does not support the method HEAD
17:49:46,379 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 01270029 Script url /slingshot/node/content/workspace/SpacesStore/5930e336-37ae-4db4-ab96-eb9e29b77ec4/File-20151014.docx does not support the method HEAD
org.springframework.extensions.webscripts.WebScriptException: 01270029 Script url /slingshot/node/content/workspace/SpacesStore/5930e336-37ae-4db4-ab96-eb9e29b77ec4/File-20151014.docx does not support the method HEAD
at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:179)
at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
...
@jgoldhammer
jgoldhammer / rules-example.js
Created October 29, 2017 11:22
alfresco-jscript-extension rules example
// log the docs that currently contain the word 'Alfresco' to a log file
var logFile = space.childByNamePath("alf docs.txt");
if (logFile == null)
{
logFile = space.createFile("alf docs.txt");
}
rules.enableRules(logFile);
print(rules.rulesEnabled(logFile));
print(permissions.getPermissions(repository.getCompanyHome());
print(permissions.hasPermission(repository.getCompanyHome().nodeRef,"Delete"));
print(permissions.hasPermission(repository.getCompanyHome().nodeRef,"Delete","abeecher"));
permissions.setPermission(repository.getCompanyHome().nodeRef,"Delete","abeecher",true);
print(permissions.hasPermission(repository.getCompanyHome().nodeRef,"Delete","abeecher"));
permissions.deletePermission(repository.getCompanyHome().nodeRef,"Delete","abeecher");
print(permissions.hasPermission(repository.getCompanyHome().nodeRef,"Delete","abeecher"));
// check if the company home node is a favorite of the current user
print(favorites.isFavorite(repository.getCompanyHome()));
// get all favorites of the current user with start =0 and limit 20
print(favorites.getFavorites(0,20));
// add the company home node as favorite of the user
favorites.add(repository.getCompanyHome());
@jgoldhammer
jgoldhammer / alfresco-downloads-script-example.js
Created October 16, 2016 22:20
example how to create a download of other files.
var download = downloads.create(repository.getCompanyHome(),true);
print(downloads.getStatus(download).getStatus());
@jgoldhammer
jgoldhammer / alfresco-filewriter-rootobject-example.js
Last active October 17, 2016 21:18
example for the scriptwriter (can only be executed in js-console)
fileWriter.createFile();
fileWriter.appendLine("Hello");
var logfile = fileWriter.persist(
"Test"+java.lang.System.nanoTime(),
repository.getCompanyHome(),
"text/plain",
"cm:content",
false);
print(logfile.content);
@jgoldhammer
jgoldhammer / alfresco-database-root-object-example.js
Created October 16, 2016 21:11
How to use the database root object in alfresco to run queries against the database of alfresco. It allows to run queries and updates.
database.query("dataSource", "Select * from alf_node where id=?",2);
database.update("dataSource", "Update alf_node set id=? where id=?",2,2);
@jgoldhammer
jgoldhammer / alfresco-start-temporary-job-in-repository.js
Last active December 19, 2016 12:18
Create a temporary (not persisted) job in alfresco to run javascript code in the backend
jobs.scheduleTemporaryJob({
jobName: 'SimpleAuthorModificationJob',
runAs: 'system',
cronExpression: '0 0/1 * 1/1 * ? *',
script: function(){
batchExecuter.processFolderRecursively({
'root': repository.getCompanyHome(),
onNode: function(node) {
if (node.isDocument) {
node.properties['cm:author'] = 'Alfresco';
@jgoldhammer
jgoldhammer / alfresco jmxClient rootobject example.js
Last active December 25, 2015 07:48
the jmxClient provides access to the system/alfresco global properties by listing them and get a specific system/alfresco global property Only executable in the javascript console because of the print statement.
print(jmxClient.listSystemProperties());
print('Java version:'+jmxClient.getSystemProperty('java.version'));
print(jmx.listAlfProperties());
print('Activiti enabled?'+jmx.getAlfProperty('system.workflow.engine.activiti.enabled'));
@jgoldhammer
jgoldhammer / alfresco policies root object example.js
Last active July 4, 2018 06:55
shows how to temporarly disable and enable the policy behaviours of a node
var node = search.findNode(<nodeRefOfADocumentOrFolder>);
var modified = node.properties.modified;
policies.disableForNode(node);
node.setName("C10");
node.save();
node.reset();
policies.enableForNode(node);
var modifiedAfter = node.properties.modified;