6 Tricks with Subtrees Ben Christenson  14 years at Kinetic Data  612-802-2730  Ben Christenson Developer Fun fact!

Slides:



Advertisements
Similar presentations
Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007 Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+,
Advertisements

© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 10 – Enhancing the Wage Calculator Application:
Chapter 2: Modularization
Unleashing the Power of Kinetic Bridging Ben Christenson Kinetic Data.
 13.5 years at Kinetic Data  Phone:  Linda Koestler Director of Technical Services Fun fact! “What.
PROCESS SIMPLIFICATION SURVEY RESULTS. Survey Response ResponsesSent% Controllers Group % Faculty % Grand Total %
1 Modularity In “C”. 2 What is Modularity?  Modularity, is the heart of the high level, structured languages.  Means breaking down a big problem into.
CS 201 Functions Debzani Deb.
Fundamentals of Python: From First Programs Through Data Structures
Main task -write me a program
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
1 Working with Classes Chapter 6. 2 Class definition A class is a collection of data and routines that share a well-defined responsibility or provide.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
DEV-14: Understanding and Programming for the AppServer™
Marlon Dumas marlon.dumas ät ut . ee
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
UNIT-V The MVC architecture and Struts Framework.
Click to add text © 2010 IBM Corporation Business Analytics software Using Cognos HTS for Report Review and Approvals.
Student Employment Student Training Note: This is a template that can be utilized to create your own institutional specific Student Employment Student.
What’s New in Kinetic Task 3.0 Ben Christenson 3 About Me  Ben Christenson  Employee at Kinetic Data for 13 years and a member of the Product Development.
Dr. Ken Hoganson, © August 2014 Programming in R STAT8030 Programming in R COURSE NOTES 1: Hoganson Programming Languages.
Reusable Code For Your Appx Processes Presented By: Gary Rogers.
Working Out with KURL! Shayne Koestler Kinetic Data.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
Surveys on Steroids New Uses for Kinetic Survey  10 years at Kinetic Data  Phone:  Derick Larson.
Joomla! Reborn: coding in version 1.5. It finally works the way you always wanted Completely overhauled codebase Improved security Better menu and URL.
Pseudo Code Possibly one of the hardest skills to get to grips with in learning a programming language is developing the ability to take a problem and.
Improving Efficiency with Reusable Processes Linda Koestler Kinetic Data.
Drupal Commerce Better than Uber Andrew Root: druroot.
1 Functions Lecfture Abstraction abstraction is the process of ignoring minutiae and focusing on the big picture in modern life, we are constantly.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Server Control Tips & Tricks Presented by: Patrick Hynds Microsoft Regional Director CriticalSites CTO MCSD, MCSE+I, MCDBA, MCSA, MCP+Site Builder, MCT.
Version 5. ¿What is PAF? PAF is a tool to easily and quickly implement… …distributed analysis over ROOT trees. …by hiding as much as possible the inherent.
Chapter 12 Object Oriented Design.  Complements top-down design  Data-centered view of design  Reliable  Cost-effective.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Reusable and Multiple Actions USINGQTP65-STUDENT-01A.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
1. FINISHING FUNCTIONS 2. INTRODUCING PLOTTING 1.
Leveraging Kinetic Task Management Unus Gaffoor & Michael Poole Kinetic Data.
Marlon Dumas University of Tartu
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
1 ICS103 Programming in C Lecture 8: Functions I.
Fundamentals of Python: First Programs Chapter 6: Design with Functions.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text.
Problem Decomposition and Abstraction. Problem Solving Which one is easier:  Solving one big problem, or  Solving a number of small problems?
ITERATION. Iteration Computers are often used to automate repetitive tasks. Repeating identical or similar tasks without making errors is something that.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Advanced Task Engine Doing Cool Stuff with Cool stuff!
Data Management Console Managing Supporting Data.
Mid-Year Review. Coding Problems In general, solve the coding problems by doing it piece by piece. Makes it easier to think about Break parts of code.
Copyright © 2007, Oracle. All rights reserved. Managing Items and Item Catalogs.
Breaking the Rules: Shared Task Processes 3 About Me  Matt Howe  Consultant in the Professional Services Group  Also worked with Kinetic applications.
DU REDCap Introduction
Node.js Modules Header Mastering Node.js, Part 2 Eric W. Greene
Synchronized Searching
Ticketing essentials for Technicians at the University of Oregon
Topic 2: binary Trees COMP2003J: Data Structures and Algorithms 2
COMPUTATIONAL CONSTRUCTS
Working with Workflow and Forms (Lab)
Brian Peterson 10 Happy years at Kinetic Data Phone:
eTapestry Workshop Session 3: Queries and Reports
Marlon Dumas marlon.dumas ät ut . ee
Functions Christopher Harrison | Content Developer
HP Quality Center 10.0 The Test Plan Module
Breaking Factors into Smaller Factors
ECE 352 Digital System Fundamentals
ASSETS, SNIPPETS & COMPONENTS
Object Oriented Design
DESIGN CONCEPTS AND PRINCIPLES
Presentation transcript:

6 Tricks with Subtrees Ben Christenson

 14 years at Kinetic Data   Ben Christenson Developer Fun fact! “Kasandra, our director of operations, beat me out for 1 st place in the office fantasy football league.”

 How many of you own Kinetic Task?  How many of you develop task trees?  What are some processes you have built with Task?  How many of you are already using subtrees? About You

5 Agenda  What is a subtree?  6 Tricks 1. Build reusable subprocesses 2. Break up large trees 3. Simplify task parameters 4. Reduce task parameters 5. Use subtrees for updates 6. Use subtrees to repeat  Recap and discussion

What is a subtree?

7 What is a Subtree?  Tree that can be called by other trees  (Introduced in Task 3.1)  Subtrees are to trees as subprocesses are to processes  A process is comprised of subprocesses  A subprocess is also a process

8 Why subtrees?  Why subprocesses?  Reuse  Simplification

9 Subtrees in Kinetic Task  Created like a tree, cloned like a tree

10 Subtrees in Kinetic Task  Inputs are available in the Pre-defined values menu  Outputs are specified by the Tree Return system control

11 Subtrees in Kinetic Task  Configurable like a task handler  Has an id (like task handler ids)  Has inputs (like task handler parameters)  Has outputs (like task handler results)  Shared subtrees are categorized like a handler

12 Two Type of Subtrees Shared  Categorized like handlers  Any source root or source group Local  Displayed in “Local Subtrees” category  Same source root and source group as the master tree (Introduced in Task v4, will be in Task v3.2)

13 Subtrees in Kinetic Task  Callable like a tree and a task handler

14 Subtrees in Kinetic Task  Subtrees can defer like handlers  Deferred are processed serially  Non-deferred are processed in parallel

The 6 Tricks

16 1. Build Reusable Subprocesses  Problem: I’m doing the same thing over and over…  Trick: Build a reusable subtree!

17 1. Build Reusable Subprocesses

18 1. Build Reusable Subprocesses

19 1. Build Reusable Subprocesses

20 1. Build Reusable Subprocesses

21 1. Build Reusable Subprocesses

22 1. Build Reusable Subprocesses  What subprocesses are often duplicated?  Approvals  Reminders  SLA logic

23 1. Build Reusable Subprocesses  Two strategies of reuse Shared  One subtree referenced by multiple trees  Changes effect all trees  Introduced problems effect all trees Templated  One template tree cloned for use on each tree  Changes effect single tree  Introduced problems are isolated

24 1. Build Reusable Subprocesses Organization Recommendations  Create Shared and Templates source roots (for trees not specific to a source application)  Use a source group of Shared and Templates (for trees specific to a source application)

25 2. Break up Large Trees  Problem: Processes can get big and complicated…  Trick: Break up large trees!

26 2. Break up Large Trees

27 2. Break up Large Trees

28 2. Break up Large Trees  Create new local subtrees for logical subprocess  Each subprocess analyzed/viewed independently  Master process is smaller, cleaner, and easier to follow (and support!)

29 3. Simplify Task Parameters  Problem: Task handler parameters can be complicated…  Trick: Create a subtree to “wrap” the handler with easier parameters!

30 3. Simplify Task Parameters

31 3. Simplify Task Parameters

32 3. Simplify Task Parameters

33 3. Simplify Task Parameters

34 3. Simplify Task Parameters

35 3. Simplify Task Parameters

36 3. Simplify Task Parameters

37 3. Simplify Task Parameters

38 4. Reduce Task Parameters  Problem: My task handlers have multiple related parameters…  Trick: Create a subtree to “wrap” the handler with fewer parameters!

39 4. Reduce Task Parameters

40 4. Reduce Task Parameters

41 4. Reduce Task Parameters

42 4. Reduce Task Parameters

43 4. Reduce Task Parameters Fill out once… Call many times!

44 4. Reduce Task Parameters  To improve usability, wrap complex handlers  Create a shared “wrapper” subtree  Categorize the subtree  Uncategorize the task handler

45 5. Use Subtrees for Updates  Problem: I have a complicated process that needs to run multiple times for a deferred task…  Trick: Call a subtree in the update branch!

46 5. Use Subtrees for Updates

47 5. Use Subtrees for Updates

48 5. Use Subtrees for Updates

49 5. Use Subtrees for Updates  Subtrees can facilitate complex update branches  Create (or recreate) the branch as a local subtree  Replace the branch with single subtree task

50 6. Use Subtrees to Repeat  Problem: I need to repeat a process an unknown number of times…  Trick: Have a subtree call itself!

51 6. Use Subtrees to Repeat  Some processes are repeated “indefinitely” in parallel to master  Send reminders every hour until an issues is closed  Run a process every night at midnight  Some processes are repeated “indefinitely” serially to master  Allow changes to a request until approved  Require an unknown number of work items for an ad-hoc work order

52 6. Use Subtrees to Repeat  Implementation and more uses will be covered in task training Parallel (Reminders)Serial (Request for Changes)

Conclusion

54 Conclusion  Recap  Build reusable subprocesses  Break up large trees  Simplify task parameters  Reduce task parameters  Use subtrees for updates  Use subtrees to repeat  Takaways  Subtrees help reduce repetition and duplication  Subtrees help simplify your processes  Questions?