CAS2842 Maximizing Livelink Workflow at JohnsonDiversey - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

CAS2842 Maximizing Livelink Workflow at JohnsonDiversey

Description:

Over 4 years experience of Livelink - primarily workflow. ... Clientside Scripting can be used to add functionality - Javascript, CSS, DHTML etc. ... – PowerPoint PPT presentation

Number of Views:135
Avg rating:3.0/5.0
Slides: 27
Provided by: greggri
Category:

less

Transcript and Presenter's Notes

Title: CAS2842 Maximizing Livelink Workflow at JohnsonDiversey


1
CAS2842Maximizing Livelink Workflow at
JohnsonDiversey
  • Greg Griffiths Technical Development
    Lead.JohnsonDiversey International IT - High
    Wycombe U.K.

2
Agenda
  • Introductions
  • Programming model
  • Clientside validation
  • Serverside interaction DB connectivity
  • Q A
  • Sharing

3
About Me
  • Graduate from Aberystwyth University (Wales).
  • Over 4 years experience of Livelink - primarily
    workflow.
  • Frequent contributor to the Knowledge Centre.
  • Manager of Livelink Resource site
    http//www.greggriffiths.org/livelink/
  • Currently a Technical Development Lead within
    JohnsonDiverseys global Development Group.

4
About JohnsonDiversey
JohnsonDiversey
NEW COMPANY
JWP
DL
  • 15,000 employees
  • 60 countries

5
Current Programming Model
6
New Programming Model
Custom Code simply processes Form data and / or
populates Form with new data.
  • But
  • Increased complexity of overall solution, many
    scripts, ODBC connectors etc instead of a single
    Oscript module.
  • Can be more difficult for OpenText to support
    as they may not have the ASP / Perl skills.
  • No direct interaction with Livelink means
  • No OScript code, easier to upgrade.
  • Leverage in existing skillsets, Serverside -
    ASP, Perl etc Clientside - Javascript, VBScript
    etc

7
Working with WebForms
  • Basically a HTML form.
  • Field names are simple to spot, but not easy to
    relate to their content ltINPUT TYPE"text"
    NAME"_1_1_2_1" VALUE"LL_FormTag_1_1_2_1 /"
    SIZE"32" MAXLENGTH"32" ONCHANGE"markDirty()"gt
  • Clientside Scripting can be used to add
    functionality - Javascript, CSS, DHTML etc.

8
Server Side DB Connectivity
  • Just as on the web.
  • Two general approaches
  • new window
  • IFrame
  • Serverside scripting in any language you want
    e.g. ASP, Perl, PHP.
  • Database connectivity, file interaction and the
    like are also possible
  • WebForm DB Lookup Functionality

9
Frequently Changing Data
  • How do we handle data that could change on a
    regular basis, such as a list of customer names
    or Order Numbers from your ERP system ?
  • Create the field as a simple text field on the
    form and then create the lookup in a separate
    window that can be opened from the form and
    populates the form with the selected value.

10
Managing Active Workflows
  • How do we apply a change to multiple active
    workflows ?
  • Change the value of VAT and recalculate total.
  • Change customer name.
  • Employee IDs should now be four not three
    digits.
  • Patches to resolve bugs etc.
  • What if we are using SQL Storage ?

11
Managing Active Workflows
  • We could have our code on each form that need it.
    However
  • difficult to manage and maintain.
  • repetition of functionality, constants etc.
  • increased size of download to user.
  • for every change many form views would need to be
    reloaded
  • We could get the users or an Administrator to
    update each workflow in turn. However
  • Is this acceptable to the business
  • High chance of missing one or more workflows

We need a simpler, quicker, programmatic and
more generic approach
12
Library Files
Library Files reduce complexity, redundancyand
overall file size
13
An Example
While some functionality will be used on all
steps,some may only be used on one, so we can
further refine our library files by having a
single globals file and one or more form
specific files.
14
Patches
  • If you are doing an update, you may want the
    patch to run only once, for example
  • Give a specific customer a 10 reduction
  • Complex update function
  • In these case you can add an additional hidden
    field - patchLevel - so that you only run the
    patches that you have not yet run.

15
Demonstration
  • Applying patches to running Workflows

16
Simplifying Routing Management
  • If we have an Evaluate step defined as follows
    If CustomerA and total gt 10,000 dollars then
    goto step1Else if CustomerB and total gt 150,000
    then goto step 2Else if CustomerB and total
    lt100,000 and salesman is Tony then goto step
    1Else if CustomerC then goto step 3Else goto
    step 4
  • This becomes very hard to manage if we need to
    update this, especially in active workflows !!!

17
Simplifying Routing Management II
  • Implement business logic routing in the Library
    file, then set a value to represent the result,
    so our routing is now simplified to If
    nextStep 1 then goto step 1Else if nextStep
    2 then goto step 2Else if nextStep 3 then goto
    step 3Else goto step 4
  • Changes and corrections are now much simpler.

18
Workflow Data
  • Workflow data is stored within the Livelink
    system, but is not very useable.
  • SQL Storage can be used, but is wasteful and can
    only handle a limited number of fields.
  • Why not use a relational database design and
    simply load / save data as required ?

19
Reporting on Workflows
  • There are several ways to report on Workflows
    including
  • Workflow Status
  • Live Reports
  • Change Agents
  • WebReports
  • However Workflow data is not easily accessible in
    the Livelink Database -
  • Workflow Tables
  • Attributes
  • SQL Table Storage
  • WebForms

20
Demonstration
  • Livelink Workflow Database Tables

21
Putting this into Practice
  • PNABS
  • Labelling Change Control System
  • Multilingual user interface (17 countries, 13
    languages)
  • Must meet regulatory requirements
  • Able to handle changes in Master Data

22
Putting this into Practice II
  • Bill of Information
  • Corporate level Master Data change control system
    for management of products SKUs.
  • Linked to other key systems.
  • Complex validation, data and routing models.

23
BOI Process Details
  • User opens Workflow HTML form and enters an SSKU
    Number.
  • ASP / ODBC / Oracle Views are used to load the
    relevant data from the database into the workflow
    form.
  • Change moves through the workflow.
  • Javascript manages validation, relationships and
    routing. CSS manages presentation.
  • Additional ASP pages provide connectivity to
    other datasources for validation and / or sharing
    of data.
  • On completion ASP and Oracle Stored Procedures
    create a new version of the SSKU in the database.

24
How does this help JohnsonDiversey work more
efficiently ?
  • Improved clientside validation and popups reduce
    data entry errors.
  • Database connectivity ensures that we have
    correct and consistent data throughout the system
    and that we are in synch with other systems using
    the same data elements.
  • Improved reporting functionality allows
    management and users to see data in real time
  • Generic modular approach decreases time to make a
    change and risk of problems.
  • Mass Updates, validation and Business Logic
    changes are now simple to implement and low risk.
  • Allows us to leverage existing development
    skillsets such as ASP, Javascript, SQL.

25
Conclusion
  • Workflows are a very powerful tool.
  • Enhancing workflows to suit your business needs
    is relatively simple and can be done using
    existing skillsets.
  • External datasources and systems can be simply
    linked into a workflow.
  • Workflow applications can be built so that they
    can be easily managed, updated and maintained
    during their lifetime.

26
More information can be found at
http//www.greggriffiths.org/livelink/
Write a Comment
User Comments (0)
About PowerShow.com