Skip to end of banner
Go to start of banner

Comala Workflows - Archive page

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

This script will move a page to a space to be archived when the workflow is put into a specific state.

//create structs for JSON
struct state {
    string name;
    string initial;
    string colour;
    string hideStates;
    string taskable;
    string changeDueDate;
    string final;
}

struct comalaState {
    string expand;
    string workflowName;
    state state;
    string [] messages;
}

if(space != "AS") { //exclude from archive space
    
	//Create request
    HttpRequest request;
    HttpHeader authHeader = httpBasicAuthHeader("admin", "admin");
    request.headers += authHeader;
     
    //Post data and get response
    comalaState cs = httpGet("http://localhost:8090/rest/cw/1/content/" + id + "/status", request);
    
    
    if(cs.state.name == "Archive") { //checks the current state
    
        addComment(id, "Moving page to archive space"); //adds comment to page
        number archiveHome = getPage("AS", "Archive Space Home"); //gets id of the archive spaces home page
        movePage(id, archiveHome); //moves page under the archive space
    }
}

This script uses the Comala REST API to get the current state of the workflow. Once the getComalaState() routine is developed the first 29 lines of code will be removed. The script using the new routine would look like this:

if(space != "AS" AND getComalaState() == "Archive") { //exclude from archive space and check state
    
    addComment(id, "Moving page to archive space"); //adds comment to page
    number archiveHome = getPage("AS", "Archive Space Home"); //gets id of the archive spaces home page
    movePage(id, archiveHome); //moves page under the archive space
}

See Other Recipes

See More Documentation

  • No labels