Alfresco Anteckningar

 
 
 
  • About

    Anteckningar under utvecklingen av Alfresco
 
Använda personer kopplade till ett dokument i Javascript May 21st, 2008

Vi har ofta personer kopplade till ett dokument eller space. Det kan vara vem som är ansvarig för dokumentet eller vem som skall godkänna en ändring av dokumentet. Dessa personer behöver dessutom rättigheter till dokumentet och är ofta med i de arbetsflöden som dokumentet går igenom. Därför är det smidigt att kunna använda metadatat istället för att ange de här uppgifterna igen.

Jag har gjort ett litet javaskript som tar en grupp med personer som är associerade med ett dokument (ligger som metadata) och tilldelar alla medlemmarna i gruppen en viss roll. Det funkar och för att tilldela personer till ett arbetsflöde är det ännu enklare eftersom man inte behöver använda sig av användarnamnet:

…[”bpm:assignee”] = document.assocs[”sgu:reviewerGroup”][0];

/*
Script that gives permissions to a group of people associated with current document

*/

role = "Contributor";          // Permissions to give to the group members

group = "sgu:reviewerGroup";   // Name of the groupmembers = document.assocs[group];

for(i=0; i<members.length; i++)

{

	member = members[i];

	document.setPermission(role,member.properties.userName);

}
Få med aktuellt objekt vid anrop av javaskript May 21st, 2008

När jag började anropa javaskript från åtgärdsmenyn fick jag felet “‘document’ is not defined” trots att skripten gått att anropa tidigare via “Kör åtgärd”. Grävde lite i dokumentationen och det visar sig att man måste skicka med det aktuella objektet (noden) som en parameter.

I action delen av web-client-config-custom.xml lägger man till nodeRef som parameter:

<params>
<param name=”noderef”>#{actionContext.nodeRef}</param>
</params>

och i javaskriptet läser man den och slår upp noden:

var noderef = args[”noderef”];
var document = search.findNode(noderef);

Förutom det som fanns i wikin hittade jag en tråd i forumet som gav en del nyttiga tips. Ganska enkelt som mycket annat i Alfresco bara man hittar informationen.

Lägga till nya val i åtgärdsmenyerna May 21st, 2008

För att göra det enklare för användaren att utföra vissa uppgifter kan det vara bra att lägga till nya val i åtgärdsmenyerna (actions).

Nedan följer ett exempel på en åtgärd som startar ett javaskript “Submit Contents” från åtgärdsmenyn i när man bläddrar bland utrymmen (spaces). Om man vill att åtgärden skall synas i någon annan meny så ändrar man action_group. Vilka alternativ som finns ser man i wikin. Om man vill dölja åtgärder eller endast visa dem när vissa villkor är uppfyllda så görs det enligt svar i forumet.

<config>
<actions>
<!– Launch Add Aspect Dialog –>
<action id=”submit_contents”>
<permissions>
<permission allow=”true”>Read</permission>
</permissions>
<label>Submit Contents</label>
<script>/Company Home/Data Dictionary/Scripts/Dropdown/submitContents.js</script>
</action>
<!– Add actions to Actions Menu for a space in the SpaceBrowse screen–>
<action-group id=”space_browse_menu”>
<action idref=”submit_contents” />
</action-group>
</actions>
</config>