Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.

Slides:



Advertisements
Similar presentations
Tridion 5.3 Templates.
Advertisements

Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
Using VB with MS Applications R. Juhl, Delta College.
Stored procedures and views You can see definitions for stored procedures and views in the demo databases but you can’t change them. For views, expand.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
Chapter 12: Using ADO.NET 2.0 Programming with Microsoft Visual Basic 2005, Third Edition.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
ASP.NET Programming with C# and SQL Server First Edition
Project Implementation for COSC 5050 Distributed Database Applications Lab6.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
An Introduction to ASP.NET Ed Dunhill blogs.msdn.com/edunhill SLIDE7.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Microsoft Visual Basic 2005: Reloaded Second Edition
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Presented by: Katie Milanowski. 2  Formed in 1982  Bruce Barrington (HBO & Company)  Apply RAD technology to IBM PC  1986: Clarion Version 1.0, Atlanta,
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
By: Amber Shepard   Microsoft Outlook is an client and personal information manager (PIM) that's available as part of Microsoft's Office suite.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Creating a Web Site to Gather Data and Conduct Research.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Twelve Access Databases and LINQ.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
CSCI 6962: Server-side Design and Programming Database Manipulation in ASP.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Office Business Applications Workshop Defining Business Process and Workflows.
Chapter Thirteen Working with Access Databases and LINQ Programming with Microsoft Visual Basic th Edition.
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS Enterprise Guide ® Peter Eberhardt Fernwood Consulting Group Inc.
BlackBerry Applications using Microsoft Visual Studio and Database Handling.
Microsoft Visual Basic 2008: Reloaded Third Edition Chapter One An Introduction to Visual Basic 2008.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
Interactions & Automations
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
V7 Foundation Series Vignette Education Services.
Exploring Networked Data and Data Stores Lesson 3.
Not Your Father’s Laserfiche AA101 Michael Allen.
AA202: Performance Enhancers for Laserfiche Connie Anderson, Technical Writer.
Wednesday NI Vision Sessions
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Introduction ITEC 420.
Chapter 2: The Visual Studio .NET Development Environment
CARA 3.10 Major New Features
Visual Studio Tools for Office 2005
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Module 1: Getting Started
CIS16 Application Development Programming with Visual Basic
07 | Workflows Chris Johnson | SharePoint Guru
Presentation transcript:

Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney

Table of Contents -Introduction -Scripts -Activities -Services -Deployment

Requirements Required: -Windows Workflow Foundation (.NET 3.0) -VB.NET or C#.NET Recommended: -Visual Studio 2005 or higher

Introduction - Workflow Integration Options: -Scripts -Activities Advanced Integration Options: -Workflow Runtime Services -Windows Communication Foundation (WCF)

Workflow Architecture

Workflow Terminology Activity – Basic unit of a workflow, a step in the workflow process Runtime – The part of the workflow service that executes the workflow Designer – The application that allows you to create workflows which can be executed Workflow Server – The service that executes and manages published workflows Workflow Subscriber – The service that monitors Laserfiche repositories for events that are of interest to workflows

Scripts “Internal” workflow integrations

Scripts - Introductions Code snippets that are compiled to perform custom workflow actions Script activities are part of the workflow rule

Workflow Definitions An activity is an object you place on the workflow canvas:

Workflow Definitions - continued The workflow canvas is the collection of all activities that make up your rule:

Workflow Definitions - continued These are created in the Designer:

Scripts - Activities ‘Scripting’ Category in the toolbox Script Activities: Script (C#) Script (VB) Toolkit (C#) Toolkit (VB)

What is the difference? Script Activity –A basic script that does not ‘talk’ to a Laserfiche server Toolkit Script –Provides a connection to Laserfiche –Retrieves an entry from the repository

Sample – Script activity C# Visual Basic

Sample – Toolkit script C# Visual Basic

All Scripts – Pros and Cons Pros: Easy to write ‘Hands free’ integration Customizable Cons: ‘Slower’ Harder to debug Limited

Cons explained Scripts have to be loaded and executed ‘on the fly’ when workflows run Debugging is difficult. We’ve provided the ‘MsgBox’ to help (It shows a message box!) Scripts are limited to one ‘code file’ and can not add additional references

Scripts - Features Advanced Editor: Code suggestions Export/Import Syntax Highlighting Tokens: Creating Replacing Testing

Scripts – Code suggestions Code suggestions and auto-complete

Scripts – Syntax Highlighting Keywords and string highlighting

Scripts – Compile Errors Compile errors are clearly reported.

Scripts - Tokens Tokens used in the script can be tested

Toolkit Script – Picking an entry Starting Entry Other workflow entries

About Using Scripts When to use: -For a simple, one time only task. -Setting a token -Setting a property When not to use: -A task that may be needed in more than one workflow, especially if there are variable properties.

Activities Custom Workflow actions

Workflow Activities – Two Parts Runtime (Workflow Activity): -Execution -Persistence Design Time (Activity Proxy): -Properties -Publishing Custom activities are made of two parts

Activities and Proxies The ‘Runtime’ workflow activity is a Windows Workflow activity and is executed on the Workflow Server. The ‘Design Time’ workflow activity is called an Activity Proxy and runs in the Workflow Designer.

Runtime

Runtime Activities Windows Workflow Activity Runs on workflow server Does the ‘work’

Runtime Activities – Keep it simple Examples of simple: Create an entry Change template fields Send an Examples of not simple: More than one task at a time Activities should perform simple tasks.

Runtime Activities – Keep it short Workflow execution time is scarce. Example of short: Simple Tasks Processing a row in a database table. Example of not short: OCR / Image Processing Iterating through a database table Waiting on an event*

Runtime Activities – Keep it Small Long running workflows are saved (persisted) -Any class variable in the activity will be saved -Do not have ‘large’ variables in your activities -Data Sets -Large arrays, collections, or lists -Use the NonSerialized (MSDN) attribute on any necessary large variable(s)NonSerialized (MSDN)

Terminology Attributes –An attribute is metadata for code. More on Attributes (MSDN) VB C#

Create a ‘Workflow Activity Library’ Visual Studio

Runtime Activities – Creating Add a reference to System.Workflow.ComponentModel (MSDN)System.Workflow.ComponentModel Derive/Inherit from System.Workflow.ComponentModel.Activity (MSDN) System.Workflow.ComponentModel.Activity Implement the Execute Method (MSDN) Execute Method

Runtime Activities - Laserfiche Alternatively, use the LaserficheActivity Connects to a Laserfiche repository Add a reference to Laserfiche.Workflow Derive/Inherit from Laserfiche.Workflow.Activities.LaserficheActivity Implement the OnExecuteCode method

Runtime Activities - Resources Windows Workflow: Building Custom Activities Activity Persistence Windows Workflow Foundation Activities

Design Time User Interface

Workflow Designer

Toolbox Canvas Property Viewer

Proxies and the Workflow Designer The Activity Proxy Generator utility will generate the code to display your activity in the Toolbox, Canvas, and Property Viewer The proxy will have default properties, serialization, and publishing code

Activity Proxy Generator

Creating a proxy Use the proxy generator! –Browse to your activity assembly (the.dll!) –Choose the base class Activity Proxy – Your activity derives from ‘Activity’ LaserficheActivityProxy – Your activity derives from ‘LaserficheActivity’ –Save the file or Copy and Paste –Customize Properties Serialization Publishing

Proxy Tips Public properties show up in the property pane. The property pane makes use of attributes to customize how properties look. Property types like ‘int’ and ‘string’ are supported out of the box. Complex property types will require more work.

Attribute Example [DisplayName(“Activity Name”)] public string Name { get; set; } ‘String’ displays a text box

Simple ‘custom’ property control [EditControl(typeof(EditMultilineTextBoxControl))] public string Description { get; set;} EditControlAttribute is used to customize how a property is edited in the Designer

Complex ‘custom’ property control

Publishing - Overall Publishing – The process of taking a designed workflow and preparing it to be executed on the Workflow Server. Involves –Serialization (Loading and Saving) –Code Generation (also called Publishing) –Compiling

Publishing Serialization Publishing Process Workflow Designer saves WFX Workflow Xml File Uploads Workflow Server Generates and Compiles Workflow Code File

What is Serialization? Serialization is the creation of the Workflow Xml File (.wfx) Two Methods to be implemented: –ReadProperties XmlReader (MSDN)XmlReader (MSDN) –WriteProperties XmlWriter (MSDN)XmlWriter (MSDN) Generated by the proxy generator –PropertySerializer class –MemberwiseSerializableAttribute IXmlSerializable interface (MSDN)

What is Publishing? Code Generation –Generate code that sets the properties of the runtime activity. –Produces a code file Publishing of many properties are handled automatically by workflow. Generated by the proxy generator Advanced code generation –CodeDOM Serialization (MSDN)CodeDOM Serialization (MSDN)

Deployment

Workflow Server Side The activity’s assembly must be placed somewhere that is accessible by the workflow server The configuration file for the workflow server must be updated to look for the assembly in the location Restart service after modifying the configuration file

Workflow Service Configuration File

Workflow Designer Side Activities should be placed in the CommonFiles\Laserfiche\Workflow\Activities folder on the designer machine Your activity should now be available as a toolbox item

Troubleshooting Tips Saving and Opening files from the workflow designer will help find serialization issues Exporting to a Windows Workflow will help find publishing issues Make sure the deployment steps are completed on the Workflow Service before attempting to publish a workflow with your new activity

Advanced Integration Topic

Advanced Topics Runtime Services –Runtime services can be added to the configuration file. These are needed to handle complex actions like event handling. WCF Services –Workflow communicates using WCF services. These services can be used by other applications. SQL Tables –All workflow activity is stored in SQL tables. These tables can be read to gather statistical information about workflows and activities.

Runtime Workflow Services Adding Workflow Services (MSDN)Adding Workflow Services WorkflowRuntimeService class (MSDN)WorkflowRuntimeService class

WCF Services Creating A WCF Client (MSDN)Creating A WCF Client Interacting with WCF Services (MSDN)Interacting with WCF Services

Windows Workflow Foundation Benefits: -Scalable -Reliable -Extensible Links: - -