While upgrading a huge Alfresco system from 3.4 to 4.0 I was asked if it is possible to collapse all sections (excepting the actions) on the document-details page.
The state of these twisters is saved for each user in his preferences (preference: org.alfresco.share.twisters.collapsed), so I wrote a little script using the JavaScript Console:
var docDetailsTwisters = ["DocumentTags","DocumentLinks","DocumentMetadata","DocumentPermissions","DocumentWorkflows","DocumentVersions","DocumentPublishing"];
var nodes = search.luceneSearch('+TYPE:"cm:person"');
logger.log(nodes.length);
for each(var node in nodes) {
var userid = node.properties.userName;
logger.log(userid);
var twisterCollapPref = preferenceService.getPreferences(userid, "org.alfresco.share.twisters.collapsed");
var newTwisters;
if (twisterCollapPref.org != null){
var twistersToAdd = [];
var twistersSet = twisterCollapPref.org.alfresco.share.twisters.collapsed;
logger.log("collapsed twisters: " + twistersSet);
for each (var t in docDetailsTwisters){
if (twistersSet.indexOf(t) == -1){
twistersToAdd.push(t);
}
}
newTwisters = twistersSet + (twistersToAdd.length > 0 ? ("," + twistersToAdd.join(",")) : "");
}
else{
newTwisters = docDetailsTwisters.join(",");
}
preferenceService.setPreferences(userid, {org :{alfresco : {share : {twisters : {collapsed : newTwisters}}}}});
logger.log("new collapsed twisters:" + newTwisters);
}








