Many of the Professional Services modules sometimes outgrows the intents and becomes a marketable module as well. I have no knowledge and am just speculating on that. Once you have identified and decided to use livelink the best avenue is to hire or ask services of reputed vendors.
Modules that contained Oscript code that I used to code in first time was on a livelink 8 system livelink 9. I was also able to mentor myself amongst very die hard oscripters that I knew from work and just by tracing code to find bugs that needed closure before OT could provide fixes. The knowledge of OT code also allows me to become a better application architect,administrator and integrator.
If the organization is strong in Java and. For e. Other examples are the way Oscript can talk to the search system. Not many people know that l ivelink uses a api to search. Christopher Meyer a Long OT veteran his website. It is un believable stuff that I have seen. Patrick Vitali the maker of AnswerModules.
Event Trigger Scripts If you want to use callback events to add functionality to Livelink, but you do not want to create a supporting interfaceor if you want to add functionality that does not require an interfaceyou can use special classes of callback events called event trigger scripts. Event trigger scripts provide an interface to callback events in Livelink.
When you add event trigger scripts to Livelink, this interface the Event Scripts tab becomes available in the Livelink interfaceallowing the creator of a workflow map to determine which operations to associate with the particular workflow events that occur in the execution of a workflow map.
There are three types of event trigger scripts: general event trigger scripts, performer event trigger scripts, and submap event trigger scripts.
For more information about event trigger scripts, see Adding Event Trigger Scripts, page Note All event trigger scripts are contained in a transaction, along with the workflow event that triggered them.
This means that if you create an event trigger script that is supposed to run at workflow initiation time and the script returns an error, the workflow initiation also fails.
If an event trigger script is attached to a step-ready event and fails, the stepready event also fails. Setting Up a Custom Module You can extend the functionality of the Livelink Workflow module by adding task types, data types, workflow types, or event trigger scripts that perform customized operations. To extend the functionality of the Livelink Workflow module in this way, you must create a custom module that stores the new functionality you are adding.
After it is installed, this custom module works with the Livelink Workflow module to extend the workflow capabilities of Livelink. Always store the custom functionality that you create in a module that can be installed and uninstalled separately from all other Livelink modules.
If you modify an original Livelink module for example, the Livelink Workflow module , future updates to the module will automatically overwrite your changes. In this chapter, you will learn how to: Create the modules directory structure Create an OSpace Create a Configure request handler and request handler group for the module.
Setting up the Custmod Module Before you can add a new task type, data type, workflow type, or callback event trigger script to a Livelink workflow, you must create a module which stores the new functionality. This module acts as a shell for the new functionality and can be installed or uninstalled independently of other Livelink modules. The module that you create in this chapter is named custmod.
To create the module directory structure: 1. The module name custmod is followed by the major version number, the minor version number, and the revision number, respectively. Creating an OSpace After you create the directory structure for your custom module, you can create the OSpace that will contain the functionality of the module. All OSpaces have the. To create the custmod OSpace: 1. Name the OSpace custmod. Configuring the Module Each Livelink module contains a WebModule object which stores the configuration information for the module.
The WebModule object defines the name of the module as it appears on the Livelink administration pages, the internal name of the module, the OSpaces contained in the module, the major version number, minor version number, build level, and revision number of the module, the modules dependencies, and the script that is necessary to create a.
To configure the module: 1. Set the value of the fName feature to "Custom Module". This feature specifies the name that is displayed on the Livelink administration pages when you install, upgrade, or uninstall your custom module.
Set the value of the fModuleName feature to custmod. This feature stores the internal name for your module. The value must be in lowercase letters and must match the name you used when you created your module directory structure. This feature lists the OSpaces that are contained in your custom module.
This feature specifies the major version number, minor version number, build level b for beta, r for revision, and d for development , and revision number of your custom module.
The major version number, minor version number, and revision number must match those you used when you created the modules directory structure. The build level is for your personal reference only. Orphaning the Configure Request Handler Object The Configure request handler object is used to install, uninstall, and upgrade your custom module.
This object defines the name of your module, the schema modifications required by your module, and the custom setup steps that your module needs to perform. To orphan the Configure request handler object and modify its features: 1. Set the value of the fFuncPrefix feature to custmod. Setting Up the Query String and the module. When this is complete, you can create the module.
To set up the query string and the module. This allows the Configure request handler object that you just created to be registered in the RequestHandlerSubsystem. To create a RequestHandlerGroup object: 1.
Run the SetRequestHandlers script. Save and export the custmod OSpace, and then exit Livelink Builder. You can now start your Livelink Intranet service and install your custom module in Livelink.
For more information about installing modules, see the Livelink Installation Guide. The WebBuilder. Completing the Custmod Module Now that you have set up the custmod module, installed it, and prepared it for use in Livelink, you can begin to create the functionality required to add a new task type, data type, workflow type, or callback event trigger script to a Livelink workflow. The following chapters describe how to complete the custmod module: Chapter Four, Adding New Task Types, describes how to add a new type of task to your module.
In this chapter, you will add a task type that lets the creators of workflow maps customize the interface that is presented to workflow participants and the operations that occur when the workflow participant works on the task in Livelink. In this chapter, you will add a data type that creates a series of workflow attributes and arranges them on custom tabs that become available to workflow participants when they work on the corresponding tasks.
In this chapter, you will create a custom workflow that appends the date stamp to the title of the workflow when it is initiated in Livelink. This workflow type also runs a particular callback script when it is initiated. Chapter Seven, Adding Event Trigger Scripts, describes how to add event trigger scripts to your module. In this chapter, you will create three event trigger scripts that perform different functions when different workflow events occur.
Each of these chapters provides you with general information for incorporating new workflow functionality. This general information is supported by a specific example of how to apply the functionalitycomplete with code samples.
Tip Because the examples in each chapter can become quite long and complex, consider cutting and pasting the code samples into the scripts you create in Livelink Builder, when working on the examples.
Typing the code samples manually is very time-consuming. Adding New Task Types New task types let Livelink users add custom steps to the workflow maps that they create in Livelink. When you add a new task type, you design the interface that is presented to the performer of a workflow task and define the functionality that the new interface provides.
For example, you can create a task type that lets the creator of a workflow map customize the interface and operations that are presented to workflow participants when they work on taskswithout using the Livelink Builder.
This task type could allow the creators of workflow maps to attach HTML templates that define an interface to the tasks. The creators of workflow maps could also attach callback scripts that perform custom operations.
Then, different templates and scripts could be associated with different tasks of this task type in a workflow. In this chapter, you will learn how to: Define a task types API object, Workflow Painter information, and status information Add a new task type to your custom module.
This object contains features and scripts that are required for the operation of a workflow task type and is named StandardTasks. Notes The StandardTasks object acts as a class object that you can use to create many different task types. For each task type that you create, you can modify the following features.
Description Stores a unique integer value that works with the fType feature to identify the object. Stores the name of the task. By default, this value is displayed when you position your cursor over the tasks icon in the Workflow Painter.
Stores a unique integer value that works with the fSubType feature to identify the object. The following objects also contain fType features: The WFTask object, which is orphaned when you define the Workflow Painter information The WFTask object, which is orphaned when you define the status and display of the task The values of the fType features for the WFTask objects must be the same as the value of this fType feature.
Note When adding task types, Open Text recommends setting the fSubType values to 1 and the fType values to an integer higher than For each task type that you create, you can modify the following scripts. Description Retrieves the text that is displayed as a title below the task icon in the Workflow Painter.
The default value is the title of the task, as specified in the fTaskName feature. If you do not want to display the title of the task in the Workflow Painter, you can modify this script. Note In most cases, you will not modify the GetPainterInfo script. Stores callback scripts and any additional data that is required by the task type throughout the execution of a workflow.
This script is called when the workflow is initiated. The type and subtype information must be present in the WMapTask table so that Livelink can distinguish between different types of tasks.
Stores the default data that must be present before Livelink can recognize the task type that is, the type and subtype. This script also stores the title, performer ID, and any other information that you want to appear as default values on the Step Definition page when a task of this type is edited in Livelink.
You can also use this script to store task information that must be present if the creator of a workflow map does not edit the task on the Step Definition page before the workflow is initiated.
Converts a workflow task that has been prepared for initiation to a workflow map definition task. It is used in WAPI functions for all task manipulation operations. This script is called when a workflow manager attempts to modify a workflow that has already been initiated. It undoes the changes that were made by the ReadyTaskForInitiation script because the ReadyTaskForInitiation script is called again when the workflow manager saves their changes and the workflow process is resumed.
Defining the Workflow Painter Information After you define the task type's API object, you must provide the Workflow Painter with the information it requires to display the task and manipulate the data provided by the creator of the workflow map. Description Stores a unique integer that works with the fType feature to identify the task type.
Stores a unique integer that works with the fSubType feature to identify the task type. The following objects also contain fType features: The StandardTasks object, which is orphaned when you define the API object for the task The WFTask object, which is orphaned when you define the status and display of the task The values of the fType features for the StandardTasks object and the WFTask object must be the same as the value of this fType feature.
Description Tells Livelink what to display when the creator of a workflow map edits this type of task. This script identifies the location and name of the HTML file to display for the Step Definition page for this task type. Note You can maintain consistency with other Livelink task pages, by using the commonedittask.
Description Saves the information that the creator of a workflow map enters on the Step Definition page when editing the task in the Workflow Painter. This data is saved in the workflow map definition. In addition to the features and scripts that you modify to define the Workflow Painter information for a task type, you must create the HTML file for this tasks Step Definition page.
You access the Step Definition page in Livelink by right-clicking a task in the Workflow Painter, and then clicking Edit or by double-clicking the task in the Workflow Painter. Defining the Status and Display of the Task After you define the API object and Workflow Painter information for the task type, you must define the information that handles the task when a workflow participant is working on it and when it is displayed on the Detailed Status page in Livelink.
You define this information using the WFTask object. Description Stores a Boolean value. Stores a unique integer that works with the fType feature to identify the object. Stores the name of the image that you want to represent the task on the Step Icon Palette in the Workflow Painter.
Stores a unique integer that works with the fSubType feature to identify the object. The following objects also contain fType features: The StandardTasks object, which is orphaned when you define the API object for the task type The WFTask object, which is orphaned when you define the Workflow Painter information for the task type The values of the fType features for the StandardTasks object and the WFTask object must be the same as the value of this fType feature.
Description Examines the workflow and determines if the task has been assigned to a workflow participant. If it has, this script retrieves the name and ID of the workflow participant to whom the task has been assigned.
This information is displayed when the workflow participant attempts to reassign the task in Livelink. Defines the information for example, the name, type, subtype, icon, or module that the Workflow Painter needs to know about the task type. This includes all of the information that the Workflow Painter requires to perform operations on the task.
Returns a list of Assocs that define the menu commands that appear when you right-click this task types icon in the Workflow Painter. You can set the Boolean value of the viewonly variable to TRUE if you want to display a standard set of menu commands that do not let the creator of a workflow map edit the task type in the Workflow Painter.
You can set the Boolean value of the viewonly variable to FALSE if you want to display a standard set of menu commands that let the creator of a workflow map edit the task type in the Workflow Painter. Retrieves the information that is displayed when a workflow participant clicks the task name on the Step List tab or doubleclicks the task icon on the Map View tab of the Detailed Status page. This script returns Undefined indicating that there is no information of this type relevant to the active workflow or it returns an Assoc.
If the script returns an Assoc, the fields in the Assoc must contain the information that the HTML file specified by retval. The Assoc contains OK if the data needed for display is retrieved; otherwise, it contains a string named ErrMsg. Retrieves the information that is displayed when a workflow participant clicks the task name on the Tasks page in their Personal Workspace.
If the function returns an Assoc, the fields in the Assoc must contain the information that the HTML file specified by retval. Description Updates task information if the task is reassigned in Livelink. For example, if the performers name is also the name of the task in the Workflow Painter, this script updates the names. This script is called when this type of task is reassigned in Livelink so that all performer-dependent information is updated. Depending on the complexity of the task types that you add to Livelink, you may have to provide additional functionality.
For example, if you create a task type that allows the creators of workflow maps to attach custom callback scripts to particular workflow events that are associated with that task type, you may need to define the objects responsible for handling those callback scripts in Livelink.
If you add a complex task type to the custom module that you are creating, you may need to create custom request handlers that perform the operations associated with the task type.
For example, the form task type installed with the Livelink Forms module uses request handlers to display the data in the form, to retrieve data from the form, and to pass the data to the workflow. In this case, the request handlers set up and manipulate all of the forms data correctly.
For information about creating the request handlers used by the form task type, see Request Handlers, page When the creator of a workflow adds this type of task to their workflow, they can do the following: Attach callback scripts to particular workflow events that are associated with the task.
These callback scripts define the custom operations that can occur when a task of this type becomes ready or is complete. Attach HTML templates to the task. These HTML templates define the interface that is presented to workflow participants when they work on tasks of this type. The Step Definition page for this task looks just like the User Step Definition page, but contains two new fields: the Script to run field and the Template to use field.
The creator of a workflow map can choose a callback script to run for the task from the Script to run field. This callback script can perform any custom operation and can run when the task becomes ready or when the task is complete. The creator of a workflow map can also choose an HTML template file to display for the task from the Template to use field. The HTML template defines the interface that is displayed when a workflow participant works on that particular task in Livelink.
The creator of a workflow map can create many different tasks of this type, and can choose different callback scripts and HTML templates for each, so that each task looks and behaves differently. This lets the creators of workflow maps customize the workflow interface and operationswithout actually changing any code using the Livelink Builder.
To define the API object for this task: 1. The fSubType feature stores a unique integer that works with the fType feature to identify the object. The fType feature stores a unique integer that works with the fSubType feature to identify the object. The fTaskName feature stores the name of the task type as it is displayed in the Workflow Painter.
Create a script, and name it CreateReviewMapRec. For more information about these scripts, see the code samples that follow. You have created the API object. Now you must customize it for the custom display task type. CreateReviewMapRec The following code sample describes how to create a script that returns the workflow map definition that is used when a task is sent to a Livelink user or group for review.
This workflow map definition is created on-the-fly and is initiated as a sub-workflow task. Keys taskData if RecArray. CopyRec mapRec. ID RecArray. AddRecord mapRec. NewRecord mapRec. This is the information that the Workflow Painter needs to know about the task type. ID end return retVal end. ReadyTaskForInitiation The following code sample describes how to prepare a custom display task for initiation in Livelink. It stores callback scripts and any other additional data that is required by the custom display task type throughout the execution of a workflow.
TYPE userData. CustTaskScript if r. GetByID uSession. IsError user if user[ 1 ]. TYPE expandInfo. SetTaskDefaults The following code sample describes how to specify the default information required by Livelink to recognize the custom display task type. This is also where you specify data that must be present if the creator of the workflow map does not edit the task before the workflow is initiated. CreateAssoc Assoc. NotSetValue taskRec. IsDefined context taskRec.
NAME taskRec. ID end taskRec. SetTaskRecFromMapTask The following code sample describes how to convert a custom display task that has been prepared for initiation to a workflow map definition. TYPE r. RemoveCBInfoType r. NotSetValue r. The CustomDisplayPaint Object After you define the API object for the task type that you are creating, you must provide the Workflow Painter with the information it requires to display the task and handle the data that the performer of the task provides.
To define the Workflow Painter information: 1. You have created the object necessary to define a task types Workflow Painter information. Now you must provide the code required to customize the information for the custom display task type. GetMapData The following code sample describes how to display the Step Definition page for this task type when the creator of a workflow map edits the task in the Workflow Painter. IsColumn request, 'PaneIndex'?
StringToInteger request. CreateAssoc retVal. NextURL retVal. CreateAssoc tmp. General] tmp. ArgsToURL request , i tmp. TabList is a list. CreateAssoc a. GetByID prgCtx. NAME if tmp[ 1 ]. Permissions] tmp. GetTabInfo prgCtx, request, p.
HelpKey a. HelpKey else a. GetMapData prgCtx, taskInfo, p. EventScripts] tmp. TabList[ whichTab ]. PutMapData The following code sample describes how to save the data that the creator of a workflow map enters on the Custom Display Step Definition page.
IsColumn r, 'Title' taskInfo. ValToString r. IsColumn r, 'StartDate' taskInfo. IsColumn r, 'Instructions' taskInfo. RunScript else taskInfo. CustTaskTemplate else taskInfo. IsColumn r, 'Duration' if IsDefined r. StringToVal r. ConvertToSeconds inDays, time end else taskInfo. IsColumn r, "GroupFlags" taskInfo. IsColumn r, Str.
Upgrade now to send unlimited applications! More benefits of our premium membership: Full access to your mailbox Priority listing in the freelancer directory Partner deals and discounts. Upgrade now No, I do not want to send any more applications this month. Login Salutation Male Female. First name. Last name. I would like to receive news and personalized offers from freelancermap.
Projects Freelancers Companies. New user? Already a member? Close this window and log in. Join Us Close. Join Tek-Tips Forums! Join Us! By joining you are opting in to receive e-mail. Promoting, selling, recruiting, coursework and thesis posting is forbidden. Students Click Here.
0コメント