Jetfire API for Web Service
(return to
Jetfire Web Service)
An xml string provides a lot of flexibility in responding to client requests. The Server can send one or more workflows or an error message. Of course, xml can also be complicated to decode. The Jetfire API also contains access to the Jetfire Web Service.
TrackerRealm provides a dll that customers can integrate into their Visual Studio projects.
Start-up
The utility is started up by instantiating the JfWS class. When it is instantiated, the web service url to the customer Jetfire Web Service is provided. This provides a connection to the Web Service.
Unlike web pages where login is optional because Jetfire automatically logs in as a Guest user to a configured Subscription, the Web Service allows users to connect to any subscription.
Login is mandatory. The Web Service Client must login either as a Guest or a named user to a valid subscription.
Workflow Class
Properties for the Workflow Class include:
- Properties: The list of properties that belong to the Workflow. See Property Class.
- Methods: The list of methods that belong to the Workflow. See Method Class.
- Guid: a unique value for the Workflow.
- WorkflowClass: The class of the Workflow. See WorkflowClass Class.
- Subject: The subject of the Workflow. This is the main property that the user sees.
- Workspace: The folder that the Workflow belongs to. Workspaces are a security mechanism.
- CurrentState: Workflows use states.
- IsDeleted: Identifies if the Workflow is deleted.
- IsBlank: Identifies if the Workflow is the blank (empty) Workflow of the WorkflowClass.
Key methods include:
- TryFind: Try to find the Property for this Name. It returns None if none found.
- TryFindValue: Try to find the Value for the Property identified by name. It returns a blank string if the property is not found.
- AddProperty: Adds a new Property to the Workflow. If the Property exist, then updates value.
- ContansKey: Returns a bool indicating whether the workflow contains the Property.
- AreEqual: Returns a bool indicating that the value of the Property is equal to the identified value.
- SetValue: Sets the Value for the PropertyName.
- DeleteWorkflow: Marks the Workflow as deleted.
- GetValue: Gets the Value of the PropertyName.
- ToXml: Converts this Workflow to an Xml String with Properties.
- ToXmlCommand: Converts this Workflow to an Xml String with the GUID property and the specific Command (Method).
Workflows Class
The Worklows class is a Dictionary of Workflow, where the key is the Guid. It is the most often used class because most responses send one or more workflows. The Workflows constructor takes an xml string and converts it to a Workflows object that contains one or more Workflow objects or an error message.
Key methods include:
- GetWorkflow: Find the Workflow for the requested Guid.
- GetFirstWorkflow: Find the first Workflow in the Dictionary.
Property Class
The Property class converts the Property node in the xml string into an object. Attributes of the Property Class include:
- Name: the formal name of the property.
- Guid: a unique value for the property, if the property ClassName is a workflow.
- Value: the value of the property. This is a string that can be converted to non-string class types.
- Label: a name shown to the user on the GUI.
- ToolTip: a description shown to the user on the GUI.
- Display: a flag that indicates whether the property should be displayed to the user. e.g. the Guid is rarely displayed to the user, but is an important property.
- FormElement: the recommended display mechanism shown to the user on the GUI.
- ClassName: the class type of property.
- Position: the recommended order that the property is displayed to the user on the GUI.
- DefaultValue: the recommended default value displayed to the user on the GUI if this is a new workflow.
Method Class
The Method class converts the Method node in the xml string into an object. Attributes of the Method Class include:
- Name: the formal name of the method.
- DisplayName: a name shown to the user on the GUI.
- ToolTip: a description shown to the user on the GUI.
- Position: the recommended order that the property is displayed to the user on the GUI.
- Display: a flag that indicates whether the property should be displayed to the user.
WorkflowClass Class
The WorkflowClass class is the definition of the Jetfire Workflow - it is the uninstantiated class. Attributes of the WorkflowClass Class include:
Methods for the WorkflowClass include:
- TryFind: Try to find the Property for this Name. It returns Property.None if none found.
- AddProperty: Adds a new Property to the Workflow. If the Property exist, returns the current property.
- ContainsKey: Returns a bool indicating whether the workflow contains the Property.
- ToXmlCommand: Converts the Workflow into an Xml String with the GUID property, command parameters and the specific Command (Method).
WorkflowClasses Class
WorkflowClass is a dictionary of WorkflowClass objects, where the key is the Guid of the WorkflowClass.
Key Methods include:
- FindWorkflowClass: Find the WorkflowClass, based on the name.
- GetFirst: Returns the First Wokflow Class.
- ToList: Returns a list of WorkflowClass objects.
Namespaces Class
The Namespace is a list of strings that define the Jetfire namespaces.