0

skin.cssだから私はAlfrescoで理解することができました、データテーブルアイテムのハイライトされた色を変更することを可能にすると呼ばれるフォームがあります。ただし、このプロパティを変更できるのはワークフローの過程でのみであり、ShareWebサイト全体のすべてのデータリスト要素に適用されるわけではありません。

まず、ルールに基づいて開始し、更新された/新しいファイルを指定されたフォルダーに移動してから、そのファイルのワークフローを開始するスクリプトがあります。ワークフローの開始時に、パッケージアイテムリストには、移動したばかりのドキュメント/ワークフローが開始されたドキュメントと同じフォルダー内のすべてのドキュメントが表示されます。以下はスクリプトです:

function main()
{
    var counter=0;
    //Administrative Adjudication space/folder MUST exist under companyhome.
    var rootSpaceName = companyhome.childByNamePath("mainFolder");

    //If the rootspacename is null (not previously created), then exit the program as we have nothing to do.
    if(rootSpaceName == null)
    {
        logger.log("Company Home/mainFolder does not exist, so we have nothing to do.");
        return;
    }
    else
    {
        logger.log("Company Home/mainFolder exists, so carry on our process.");
        //Creates an array of all the children under the rootSpaceName
        var childList = rootSpaceName.children;
        //Creates a variable which counts the number of children in the childList array
        var count = childList.length;
        //var seconds = new Date().getTime() / 1000;

        //If there are no children in the rootSpaceName folder, exit the program.
        if(count == 0)
        {
            logger.log("Company Home/mainFolder does not have child, nothing to do.");
            return;
        }
        else
        {
            for(var i = 0; i < count; i++)
            {
                //Title MUST exist.
                var childTitle = childList[i].properties["hearing:childTitle"];
                //Author MUST exist.
                var childAuthor = childList[i].properties["hearing:childAuthor"];
                logger.log("childTitle: " + childTitle);
                logger.log("childAuthor: " + childAuthor);

                if(childTitle == null || childAuthor == null)
                {
                    logger.log(i + ". Both the childTitle and childAuthor are null...");
                    continue;                             
                }

                var child = childList[i];

                if(child.isContainer == false)
                {
                    for(var j = 0; j < count; j++)
                    {
                        var newChildName = childList[j].properties.name;
                        logger.log("New child name: " + newChildName);
                        var newChild = childList[j];

                        if((newChild.isContainer == true) && (childTitle == newChildName))
                        {
                            logger.log("There is a currently existing folder with the same name as the title of original child");
                            var newSpaceName = rootSpaceName.childByNamePath(newChildName);
                            var newChildList = newSpaceName.children;
                            var newCount = newChildList.length;

                            for(var k = 0; k < newCount; k++)
                            {
                                var newNewChildName = newChildList[k].properties.name;
                                var newNewchildAuthor = newChildList[k].properties.author;
                                var newNewChild = newChildList[k];

                                if((newNewChild.isContainer == true) && (newNewchildAuthor == childAuthor))
                                {
                                    var currentSpace = newSpaceName.childByNamePath(newNewChildName);                                  

                                    if(child.isDocument == true)
                                    {
                                        //Only want the workflow to run once so we increment count
                                        counter=counter+1;
                                        child.move(currentSpace);
                                        //If Count is 1, then run workflow
                                        if(counter==1)
                                        {                   
                                            //starts HelloWorldUI workflow                 
                                            var wfdef=workflow.getDefinitionByName("activiti$helloWorldUI");

                                            if(wfdef)
                                            {
                                                var wfparams=new Array();
                                                wfparams["bpm:workflowDescription"]="";
                                                wfparams["bpm:groupAssignee"]=people.getGroup("GROUP_Managers");

                                                var wfpackage=workflow.createPackage();
                                                var rootSpaceName=currentSpace;
                                                var childList=rootSpaceName.children;
                                                var count=childList.length;

                                                //add all existing documents in the space to the workflow
                                                for(var i = 0; i < count; i++)
                                                {
                                                    wfpackage.addNode(childList[i]);
                                                }

                                                var wfpath=wfdef.startWorkflow(wfpackage,wfparams);
                                                var tasks=wfpath.getTasks();

                                                for each(task in tasks)
                                                {
                                                    task.endTask(null);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        else

                        {
                            // If title folder is already created, not need to create again.
                            var newSpaceName = companyhome.childByNamePath("mainFolder/" + childTitle);

                            if(newSpaceName == null)
                            {
                                newSpaceName = rootSpaceName.createFolder(childTitle);
                                logger.log("mainFolder/" + childTitle + " is created.");
                            }

                            // If author folder is already created, not need to create again.
                            var newNewSpaceName = companyhome.childByNamePath("mainFolder/" + childTitle + "/" + childAuthor);

                            if(newNewSpaceName == null)
                            {
                                newNewSpaceName = newSpaceName.createFolder(childAuthor);
                                logger.log("mainFolder/" + childTitle + "/" + childAuthor + " is created.");
                            }

                            if(child.isDocument == true)
                            {
                                counter=counter + 1;
                                child.move(newNewSpaceName);

                                if(counter == 1)
                                {
                                    var wfdef=workflow.getDefinitionByName("activiti$helloWorldUI");

                                    if(wfdef)
                                    {
                                        var wfparams=new Array();
                                        wfparams["bpm:workflowDescription"]="";
                                        wfparams["bpm:groupAssignee"]=people.getGroup("GROUP_Managers");
                                        var wfpackage=workflow.createPackage();
                                        var rootSpaceName=newNewSpaceName;
                                        var childList=rootSpaceName.children;
                                        var count=childList.length;

                                        //add all items from the space to the workflow
                                        for(var i = 0; i <c ount; i++)
                                        {
                                            wfpackage.addNode(childList[i]);
                                        }   

                                        var wfpath=wfdef.startWorkflow(wfpackage,wfparams);
                                        var tasks=wfpath.getTasks();

                                        for each(task in tasks)
                                        {
                                            task.endTask(null);
                                        }

                                    }
                                }
                                logger.log("Moving file " + child.properties.name);
                            }
                        }
                    }
                }
            }
        }
    }
    return;
}

main();

ワークフローの過程でのみskin.cssファイルにアクセスするために呼び出すことができ、基本的.yui-skin-default tr.yui-dt-first{background-color:#FFF}にCSSファイルに設定されるような関数を作成できるようにしたいと思います。誰かが私がそれをどうやってやるのか知っていますか?

4

2 に答える 2

1

開始ワークフローページのみを変更する場合は、cssstart-workflow.cssで が指している場所を記述する必要がありますstart-workflow.get.head.ftl。この css は、skin.css などの他の css ファイルでオーバーライドされます。

このように、任意の css をオーバーライドして、ワークフローの開始ページのみに影響を与えることができます。他のワークフロー関連のページを試すことができます。

于 2012-09-15T05:30:22.007 に答える
1

任意のページに CSS ファイルを挿入できるブックマークレットを見つけました。唯一の欠点は、ページをロードするたびに実行する必要があることです。

http://allben.net/post/2010/01/30/CSS-JavaScript-Injection-Bookmarklets.aspx

于 2012-09-14T18:11:54.590 に答える