+ All Categories
Home > Documents > Workflow 2.4 UserGuide - Campus Management Corp. · Workflow 2.4 UserGuide October2017...

Workflow 2.4 UserGuide - Campus Management Corp. · Workflow 2.4 UserGuide October2017...

Date post: 24-May-2020
Category:
Upload: others
View: 13 times
Download: 0 times
Share this document with a friend
595
Workflow 2.4 User Guide October 2017 Campus Management Corp. 5201 North Congress Avenue Boca Raton, FL 33487 Main: +1.561.923.2500 Support: +1.800.483.9106 www.campusmanagement.com © 2017 Campus Management Corp. All rights reserved. Campus Management Corp., Campus Management, CampusVue, CampusNexus, Talisma, the Campus Management logo, and the Talisma logo are trademarks or service marks of Campus Management Corp. and/or its affiliates, and may be registered in the U.S., other countries, or both. Microsoft, SQL Server, Windows, Windows Server, Internet Explorer, Outlook, Excel, and Hyper-V are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Adobe and Captivate are either registered trademarks or trademarks of Adobe Systems Incor- porated in the United States and/or other countries. Information is subject to change. CONFIDENTIALITY NOTICE: The information contained in this document is confidential. It is the property of Campus Management Corp. and shall not be used, disclosed or reproduced without the express written consent of Campus Management.
Transcript
  • Workflow 2.4User GuideOctober 2017

    Campus Management Corp.5201 North Congress AvenueBoca Raton, FL 33487Main: +1.561.923.2500Support: +1.800.483.9106www.campusmanagement.com

    © 2017 Campus Management Corp. All rights reserved.

    Campus Management Corp., Campus Management, CampusVue, CampusNexus, Talisma, the Campus Managementlogo, and the Talisma logo are trademarks or service marks of Campus Management Corp. and/or its affiliates, andmaybe registered in the U.S., other countries, or both. Microsoft, SQL Server, Windows, Windows Server, Internet Explorer,Outlook, Excel, and Hyper-V are either registered trademarks or trademarks of Microsoft Corporation in the United Statesand/or other countries. Adobe and Captivate are either registered trademarks or trademarks of Adobe Systems Incor-porated in the United States and/or other countries. Information is subject to change.

    CONFIDENTIALITY NOTICE:The information contained in this document is confidential. It is the property of Campus Management Corp. and shall notbe used, disclosed or reproduced without the express written consent of Campus Management.

  • Revision HistoryRev. Date Description

    01 June 2017 Initial release forWorkflow Composer Version 2.4.

    Workflow 2.4 2 User Guide

  • Workflow 2.4 3 User Guide

    Contents

    Revision History 2

    Contents 3

    Get Started 16

    Welcome toWorkflowHelp 16

    Related Help Systems 16

    What's New 17

    Version 2.4 - PackageUpdates 17

    Version 2.4 17

    Version 2.3 - PackageUpdates 17

    Version 2.3 18

    Required Skills 20

    Prerequisite Knowledge 20

    Advanced Forms Builder andWorkflowDevelopment 20

    CampusNexus Overview 21

    Event Driven Architecture 22

    Event Broker 22

    Workflows 22

    PackageManager 24

    To install packages: 24

    To uninstall packages: 26

    NLog 27

    Configuring Logging 27

    Writing Logs 27

    Adding LogMessages to Classes 30

    Logging Non-ExceptionMessages 30

    TraceMessages 30

    DebugMessages 30

    Info Messages 30

  • Workflow 2.4 4 User Guide

    WarningMessages 30

    ErrorMessages 30

    Fatal Messages 30

    Logging ExceptionMessages 31

    Scenario #1. Logging a custommessage, some variable value, and the exception 31

    Scenario #2. Logging some variable value, and the exception 31

    Scenario #3. Logging only the exception 31

    Reading LogMessages to Debug or Troubleshoot 32

    Event Logs 34

    ServiceModule Host 36

    To stop or start the ServiceModule Host service 36

    ServiceModule Host Config File 36

    SQL Reconnect Setting 37

    Connection Strings 38

    Workflow Composer 40

    UsingWorkflow Composer 40

    Ribbon 41

    Task Panes 41

    Error List and Output Tabs 42

    Status Bar 42

    Additional UI ElementsWhen aWorkflow is Loaded 42

    Creating aWorkflow 45

    Prerequisites 45

    BasicWorkflow Example 45

    Viewing and Enabling aWorkflow 52

    OpeningWorkflows from File or Server 52

    DeletingWorkflowDefinitions 53

    Workflow Tracking 53

    Saving and Publishing aWorkflow 55

    To publish aworkflow: 55

  • Workflow 2.4 5 User Guide

    Workflow Types 56

    Sequence 56

    Flowchart 56

    StateMachine 56

    Helpful Hints 57

    Using Conditions 57

    Checking for Record Inserts and Changes 57

    Preventing Loops 59

    TestingWorkflows for Saved Events 60

    Filtering Events Based on Event Source 60

    Using the Context Property 61

    Retrieving an EnumValue 62

    Type Casting 64

    Clearing aWorkflow Instance Id 64

    Capturing Validation Errors 65

    Copying/Pasting Sequences 66

    Checking for StudentCourse.Status Changes 66

    Improving Search Performance on "Browse for Types..." 67

    Host Processes 69

    API Authentication forWorkflow Activities 69

    Workflow Execution Scenarios 70

    Bookmark 70

    Delay 71

    Schedule 71

    Workflow Tracking Overview 72

    Workflow Tracking Example 74

    To track aworkflow: 74

    PersistedWorkflows 78

    Exception Handling 80

    New Workflows 81

  • Workflow 2.4 6 User Guide

    About theNew Object Model 81

    New andMigrated Activities 81

    Events 81

    Contracts 82

    Converted Entities 82

    Cmc.Nexus.Models 83

    Events in theNewObject Model 85

    EntityModel 85

    Properties 85

    Methods 85

    Events Raised by EntityState Changes 85

    Event Handlers 86

    EntityService 86

    Selecting Events in Workflow Composer 87

    CampusNexus CRM Events 89

    Deleting Events 91

    Activities Toolbox 92

    Generic Activities 93

    Collection 93

    Control Flow 93

    Error Handling 94

    StateMachine 94

    Flowchart 94

    Messaging 94

    Primitives 95

    Runtime 95

    Transaction 95

    CMCActivities 96

    Filter Option for Assemblies 96

    Cmc.Core.Workflow.Activities 97

  • Workflow 2.4 7 User Guide

    AddToDictionary 98

    CreateBookmark 100

    CreateBookmark 102

    CreateValidationItem 103

    ExecuteDataReader 104

    ExecuteNonQuery 110

    Using the ExecuteNonQuery Activity 111

    ExecuteODataQuery 112

    Using the ExecuteODataQuery Activity 115

    ExecuteQuery 117

    Using the ExecuteQuery Activity 118

    GetServiceInstance 121

    GetWorkflowInstanceId 124

    LogLine 125

    PostToFacebook 126

    ResumeBookmark 127

    SendMail 128

    Using the SendMail Activity 129

    Cmc.Core.Workflow.Activities.EntityModel 131

    CreateEntity 132

    DeleteEntity 134

    GetEntity 135

    SaveEntity 138

    Creating and Saving an ApplicantEntity and Updating Derived Fields 140

    Creating and Saving a StudentEntity 146

    Activities for CampusNexus Student 147

    Cmc.Nexus.Academics.Workflow 148

    ConvertApplicantToEnrollment 149

    CreateStudentCourse 152

    LookupClassSections 154

  • Workflow 2.4 8 User Guide

    LookupCurrentEnrollmentPeriod 156

    LookupEnrollmentPeriods 158

    LookupProgramVersion 159

    LookupTerms 161

    SaveStudentCourse 163

    Cmc.Nexus.Admissions.Workflow 165

    CreateApplicant 166

    CreateProspectInquiry 169

    CreateStudentPreviousEducation 172

    LookupCollege 179

    LookupHighSchools 181

    SaveApplicant 184

    SaveProspectInquiry 185

    SaveStudentPreviousEducation 188

    Cmc.Nexus.Common.Workflow 189

    AssignStudentAdvisor 190

    LookupAdvisor 192

    LookupReferenceItem 194

    LookupStudentAdvisors 197

    LookupStudentGroup 199

    ManageGroupMembership 201

    SaveStudentPortalUserAssociation 203

    UpdateStudentStatusToActive 205

    UpdateStudentStatusToApplicant 207

    UpdateStudentStatusToDrop 209

    UpdateStudentStatusToEnrolled 211

    UpdateStudentStatusToGraduate 213

    UpdateStudentStatusToLead 215

    UpdateStudentStatusToTempOut 217

    Cmc.Nexus.Crm.Workflow 219

  • Workflow 2.4 9 User Guide

    CreateDocument 220

    CreateTask 223

    LookupStudentDocuments 226

    LookupStudentTasks 228

    SaveDocument 230

    SaveTask 232

    Cmc.Nexus.FinancialAid.Workflow 235

    LookupIsir 236

    UpdateISIRVerificationDependent 239

    UpdateISIRVerificationIndependent 248

    Cmc.Nexus.FormsBuilder.Workflow 256

    Cmc.Nexus.StudentAccounts.Workflow 257

    CreateCharge 258

    SaveCharge 260

    Cmc.Nexus.StudentServices.Workflow 261

    CreateStudentDisabilityDetail 262

    CreateStudentServiceType 265

    CreateStudentSportsService 268

    CreateStudentVeteranDetail 270

    LookupServiceType 272

    SaveStudentDisabilityDetail 275

    SaveStudentServiceType 277

    SaveStudentSportsService 279

    SaveStudentVeteranDetail 281

    Activities for CampusNexus CRM 283

    Prerequisite for CampusNexus CRMWorkflows 283

    Cmc.NexusCrm.Common.Workflow 284

    GetAttachment 285

    Scenario 285

    GetRelatedEntity 287

  • Workflow 2.4 10 User Guide

    LookUpContact 289

    Sample CRMWorkflows 290

    Adding a Lead 291

    Adding Attachments to a Contact Record 294

    Legacy Workflows 298

    About Legacy Workflows 298

    New andMigrated Activities 298

    Events 298

    Contracts 299

    Converted Entities 299

    Contracts 300

    Mapping of Entities 302

    Common Entity Properties 302

    Converted Entities 302

    Class-based Inheritance 302

    Mapping Tables 302

    Cmc.Nexus 303

    Cmc.Nexus.Crm 309

    Cmc.Nexus.FinancialAid.Services 311

    Cmc.Nexus.Sis 316

    Cmc.Nexus.Sis.Academics 319

    Cmc.Nexus.Sis.Admissions 326

    Cmc.Nexus.Sis.CareerServices 327

    Cmc.Nexus.Sis.FinancialAid 328

    Cmc.Nexus.Sis.StudentAccounts 336

    Cmc.Nexus.StudentServices 340

    Events 342

    Events Overview 343

    Cmc.Core Events 345

    SIS Events 346

  • Workflow 2.4 11 User Guide

    SIS Saving Events 347

    SIS Saved Events - Entity Level 353

    SIS Saved Events - Field Level 358

    Time-based Events 362

    To create a time-based event workflow: 362

    Forms Builder Events 364

    Raise Event Rule 364

    Event Details 364

    Application Key IDs to be used with CampusNexus Student 365

    Creating aWorkflow for Forms Builder Events 366

    Creating Event Handlers in .NET 368

    Subscribing to an Event 368

    Step 1: Adding Required References 368

    Step 2: Making your Assembly Visible to the CMC Framework 368

    Step 3: Creating the EventSubscriber Type 368

    Step 4: Registering an Event Handler 369

    Testing the Library 370

    Event Scheduling 371

    To create and attach a schedule to a job in SQL Management Studio: 371

    To attach a schedule to a job: 372

    Activities Toolbox 374

    Generic Activities 375

    Collection 375

    Control Flow 375

    Error Handling 376

    StateMachine 376

    Flowchart 376

    Messaging 376

    Primitives 377

    Runtime 377

  • Workflow 2.4 12 User Guide

    Transaction 377

    CMCActivities 378

    Cmc.Core.Workflow.Activities 378

    Cmc.Nexus.Converters 378

    Cmc.Nexus.Workflow.Crm 378

    Cmc.Nexus.FinancialAid.Workflow 378

    Cmc.Nexus.Workflow 378

    Cmc.Nexus.Workflow.Crm 379

    Cmc.Nexus.Workflow.Sis 379

    Cmc.Nexus.Workflow.Sis.Academics 379

    Cmc.Nexus.Workflow.Sis.Admissions 380

    Cmc.Nexus.Workflow.Sis.StudentAccounts 380

    Cmc.Nexus.Workflow.Sis.StudentServices 380

    Cmc.Core.Workflow.Activities 381

    AddToDictionary 382

    CreateBookmark 384

    CreateBookmark 386

    CreateValidationItem 387

    ExecuteDataReader 388

    ExecuteNonQuery 394

    Using the ExecuteNonQuery Activity 395

    ExecuteQuery 396

    Using the ExecuteQuery Activity 397

    GetWorkflowInstanceId 400

    LogLine 401

    PostToFacebook 402

    ResumeBookmark 403

    SendMail 404

    Using the SendMail Activity 405

    Cmc.Nexus.Converters 407

  • Workflow 2.4 13 User Guide

    CVueIdToPersonIdActivity 408

    PersonIdToCVueIdActivity 410

    Cmc.Nexus.Crm.Workflow 411

    CreateTask 412

    SaveTask 415

    Cmc.Nexus.FinancialAid.Workflow 416

    LookupIsir 417

    Cmc.Nexus.Workflow 419

    CompleteAction 420

    CreateDocument 421

    LookupExtendedProperty 423

    LookupGroup 424

    LookupListItem 425

    LookupPerson 428

    LookupPersonDocuments 429

    ManageGroupMembership 431

    SaveDocument 432

    SaveExtendedProperty 433

    SavePerson 434

    Cmc.Nexus.Workflow.Crm 435

    CreateTask 436

    LookupStudentTasks 439

    SaveTask 440

    Cmc.Nexus.Workflow.Sis.Academics 441

    AssignStudentAdvisor 442

    LookupAdvisor 443

    LookupStudent 445

    LookupStudentAdvisors 447

    Cmc.Nexus.Workflow.Sis.Academics 449

    ConvertApplicantToEnrollment 450

  • Workflow 2.4 14 User Guide

    CreateStudentCourse 453

    CreateStudentEnrollmentPeriod 454

    LookupAreaOfStudy 457

    LookupClassSections 459

    LookupCurrentEnrollmentPeriod 461

    LookupEnrollmentPeriods 462

    LookupTerms 463

    SaveStudentCourse 465

    SaveStudentEnrollmentPeriod 467

    UpdateNsldsWithdrawalDate 468

    UpdateStudentStatusToActive 469

    UpdateStudentStatusToDrop 471

    UpdateStudentStatusToEnrolled 473

    UpdateStudentStatusToGraduate 475

    UpdateStudentStatusToLead 477

    UpdateStudentStatusToTempOut 479

    Cmc.Nexus.Workflow.Sis.Admissions 481

    UpdateStudentStatusToApplicant 482

    Cmc.Nexus.Workflow.Sis.StudentAccounts 484

    CreateCharge 485

    SaveCharge 487

    Cmc.Nexus.Workflow.Sis.StudentServices 488

    CreateStudentDisabilityDetail 489

    CreateStudentSportsService 491

    CreateStudentVeteranDetail 493

    LookupServiceListItem 495

    SaveStudentDisabilityDetail 498

    SaveStudentSportsService 500

    SaveStudentVeteranDetail 502

    Sample Workflows 503

  • Workflow 2.4 15 User Guide

    Adding or Updating an Extra Curricular Activity 503

    Adding Students to a Group 506

    Charging a Feewhen the Enrollment Status Changes 516

    Checking Approved Grants for Comments 519

    Checking if a Gradewas Posted 525

    Custom Field Validations on Each Step of Enrollment Wizard 530

    Registering Students into a Course 541

    Transferring Students to Another Class Section 544

    Long RunningWorkflow 548

    Example Scenario: Request Approval from aUser 549

    Creating a Long RunningWorkflow 551

    Waking up the Long RunningWorkflow 563

    Testing theWorkflow Sequence 576

    Populating Fields in a Forms Builder Form 584

    Example Scenario 584

    Prerequisites: 585

  • Workflow 2.4 16 User Guide

    Get Started

    Welcome toWorkflow HelpThis Help system assists users in recognizing and using the features of CampusNexus®workflows and eventing. UsetheHelp system to:

    l Learn about the programming concepts related to workflows such as contracts, events, and entitiesl Learn how to use theWorkflow Composerl Learn about workflow activitiesl Review sampleworkflows

    TheHelp system supports the current Workflow version and two prior versions. Help topics that have been addedormodified during the release cycle display a version selector at the top of the topic pane. Use the version selectorto reveal Help content associated with prior versions.

    To send comments about a Help topic to CampusManagement Corp., click the Feedback button at the top of thetopic pane. Your comments will be used to improve theHelp system.

    Related Help Systems

    l Forms Builder 3.xl Web Client for CampusNexus CRM 11.1.0l Business Administrator Help for CampusNexus CRM 11.1.0l Web Client for CampusNexus Student 18.2.0l Desktop Client for CampusNexus Student 18.0.0l CampusNexus Student Object Library - CommandModell CampusNexus Student Object Library - Query Model

    http://www.mycampusinsight.com/support/Forms Builder Help/Default.htmhttp://www.mycampusinsight.com/support/CampusNexus CRM 11.1 Web Client Help/Default.htmhttp://www.mycampusinsight.com/support/CampusNexus CRM 11.1 Business Administrator Help/Default.htmhttp://www.mycampusinsight.com/support/CampusNexus Student 18.2 Help for the Web Client/Default.htmhttp://www.mycampusinsight.com/support/CampusNexus Student 18.0 Help/Default.htmhttp://www.mycampusinsight.com/support/CampusNexus Student Object Library/Index.htmhttp://www.mycampusinsight.com/support/CampusNexus Student Object Library Query Model/Default.htm

  • Workflow 2.4 17 User Guide

    What's New

    Version 2.4 - Package UpdatesWorkflow Composer 2.4 supports package updates for CampusNexus Student 19.0.

    Revisions:

    l Creating and Saving an ApplicantEntity and Updating Derived Fields

    New topics:

    l Required Skills

    Version 2.4Workflow Composer 2.4 supports Forms Builder 3.2.0.

    l CMCActivities— added Filter Option for Assembliesl Selecting Events in Workflow Composer— added Events filter option "Only show events supported by theselected entity type"

    l LookupReferenceItem—added note about manual changes required in theweb.config file when used in anHTTPS environment with theWeb Client for CampusNexus Student

    l ExecuteODataQuery — revised content to indicate that query model types are located in the Cmc.Nex-us.Models namespace, instead of Cmc.Nexus.Models.Client namespace

    Version 2.3 - Package UpdatesWorkflow Composer 2.3 supports package updates for CampusNexus Student 18.0.2.

    New topics:

    l ExecuteODataQueryl Creating and Saving an ApplicantEntity and Updating Derived Fieldsl Creating and Saving a StudentEntity

    Revisions:

    l CreateDocumentl AssignStudentAdvisor and LookupAdvisor (removed requirement to useModule Type = Other).l ExecuteDataReader (added use case Example 2)l Helpful Hints (added Improving Search Performance on "Browse for Types...")l CampusNexus CRM Events (added Account object and note about operations supported for Event and Par-ticipant objects)

  • Workflow 2.4 18 User Guide

    Version 2.3Workflow Composer 2.3 supports package updates for Forms Builder 3.1, CampusNexus CRM 11.1, and Cam-pusNexus Student 18.0.

    New activities:

    l GetAttachmentl GetRelatedEntityl LookUpContactl SaveStudentPortalUserAssociationl UpdateISIRVerificationDependentl UpdateISIRVerificationIndependent

    New topics:

    l Sample CRMWorkflowsl CampusNexus CRM Events

    Revisions:

    l Addedmandatory properties for CampusNexus CRM entities to the SaveEntity topic.

    l Updated the AssignStudentAdvisor and LookupAdvisor activities to note that Module Type = Other and StaffGroup = OTHmust be selected when assigning a student advisor.

    l Updated the CreateTask activity to replace the Task Type property with the Task Template property.

    l Added the Campus property to the CreateCharge activity.

    l Updated the variable type for theHighSchools field in the LookupHighSchools activity.

    l Replaced the topics about workflow activities from the Cmc.Nexus.FormsBuilder.Workflow namespacewith alink to Forms Builder Help.

    l Added note indicating that the DeleteEntity activity does not support the deletion of CampusNexus CRMentities.

    l Updated PackageManager.

    Version 2.2 - Package Updates 1

    Workflow Composer 2.2 supports package updates for Forms Builder 3.0 and CampusNexus Student 17.1.1.

    Updated CreateDocument activity (addedModule Id property).

    Added activities that are available with Forms Builder Contracts 3.0:

    l GetAttachmentsl LookupUserl WaitForFormBookmark

    Updated PackageManager topic.

    http://www.mycampusinsight.com/support/Forms Builder Help/Default.htm#Workflow/WorkflowActivities.htm?TocPath=Workflow%2520Activities|_____0

  • Workflow 2.4 19 User Guide

    Version 2.2

    Workflow Composer Enhancements:

    l The status bar now displays the name of the connected database. SeeWorkflow Composer.l Workflow definitions that are stored in the database can now be deleted. SeeDeletingWorkflowDefinitions.l The LookupReferenceItem activity was enhanced to display the campuses associated with a selected ref-erence item type.

    Restructuring of theHelp system:

    1. Foundational Topics— TheseHelp topics contain content that is applicable to all workflows regardless of theobject model (legacy and newmodel).

    2. Help for NewWorkflows (NewObject Model) — TheseHelp topics contain the activities for the new objectmodel and CampusNexus Student namespaces in the CampusNexus Student Object Library.

    3. Help for Legacy Workflows— TheseHelp topics are applicable to workflows that were build based on the leg-acy namespaces and contracts.

    New activities:

    l GetServiceInstancel CreateEntityl GetEntityl DeleteEntityl SaveEntityl CreateStudentServiceTypel SaveStudentServiceTypel LookupServiceTypel CreateApplicantl SaveApplicantl CreateProspectInquiryl SaveProspectInquiryl CreateStudentPreviousEducationl SaveStudentPreviousEducationl LookupCollegel LookupHighSchoolsl LookupReferenceItem

    Entity Mapping Table

    l Cmc.Nexus.Models

    Helpful Hints:

    l Checking for StudentCourse.Status Changes

  • Workflow 2.4 20 User Guide

    Required SkillsTheWorkflow Composer application is intended to be used by staff members with the following knowledge andskills.

    Prerequisite Knowledgel Understanding of business processes

    l Understanding of CampusNexus Student application and schema and/or CampusNexus CRM application andschema

    l Awareness of .NET technologies and understanding of VB.NET

    o Creating variables, assigning data types, and a basic understanding of development languages

    l Awareness of:

    o WindowsWorkflow Foundation (4.5)

    o CSS themes

    l SQL Knowledge

    o Ability to create SQL jobs, call stored procedures and write queries

    l General development knowledge of variables, arguments, control logic, exception handling, debugging, etc.

    Advanced Forms Builder and Workflow DevelopmentExpertise in the following is recommended:

    l AngularJS (expressions)

    l ODATA (v4)

    l REST (JSON)

    l Bootstrap (themes)

    l Workflow tracking and persistence

    l TSQL skills to write stored procedures

  • Workflow 2.4 21 User Guide

    CampusNexus OverviewCampusNexus® enables customers to integrate existing CampusManagement Corp. products, such as Cam-pusNexus Student, CampusNexus CRM, and Forms Builder. Customers can leverage investmentsmade into existingproducts and at the same time gain immediate value for investments in next generation products that will feature aunified architecture and datamodel.

    CampusNexus is based on an event-driven architecture using tools like aMicrosoft Visual Workflow Composer tointegrate existing products with a service bus that customersmay have already implemented at their institutions tosynchronize data between systems. Workflow empowers users to easily write code to do specific tasks currently notavailable in existing products or tasks that involve exchanging data between systems. CampusNexusWeb Servicesare available to facilitate inserting data back into the existing systems.

    CampusNexus ScenarioA student updates her phone number in Portal. In the current architecture, the update will be propagated intoCampusNexus Student.

    With CampusNexus, the update event can be saved onto the service bus and other database systemsdeployed at the institution, for example, CRM1, LMS1, and POS1, will be updated automatically.

    The key objectives of CampusNexus are:

    l Ease of usel Greater flexibility for the implementation of business processesl Greater flexibility for the integration with other systems

    CampusNexus uses out-of-the-box .NET functionality such as:

    l Securityl Logging and Instrumentationl Localization/Globalizationl Component Model (Inversion of Control/Dependency Injection Framework)l Caching

    The CampusNexus components that provide the extended business functionality are Event Broker andWorkflows.

    1Constituent Management System1Learning Management System1Point of Sales

  • Workflow 2.4 22 User Guide

    Event Driven ArchitectureCampusNexus is based on an event-driven architecture (EDA) in which a software element executes in response toreceiving one ormore event notifications. Themain components in this architecture are the Event Broker andWork-flows. Events are utilized inWorkflows to perform specific activities in response to the events. Each event can beused to trigger one ormore activities.

    Event BrokerThe Event Broker is a software component that allows different software elements to work together. Service Con-tracts and Event Contracts constitute the Event Broker.

    There is no user interface for the Event Broker. It operates in the background and allows users to focuses on thebusiness logic.

    WorkflowsWorkflows are discrete tasks based on business rules and requirements. CampusNexus provides workflow activities,that is, 'chunks of code', for power users to compose tasks that aremeaningful in a specific environment. Workflowsalso allow customers to audit or track business processes.

    Workflows open the CampusNexus interfaces to:

    l Customersl Professional Servicesl Third party vendors for integration with their systems

  • Workflow 2.4 23 User Guide

    You can use Visual Studio orWorkflow Composer to createworkflows. In Visual Studio you have the option to useC# code. In Workflow Composer youmust use Visual Basic (VB) .NET code. Workflow Composer is intended forusers who don't have Visual Studio.

  • Workflow 2.4 24 User Guide

    Package ManagerThe PackageManager application is integrated inWorkflow Composer. PackageManager displays workflow pack-ages accessible by the configured customer. The packages contain contracts, entities, events, and activities related toworkflows and eventing for CampusNexus CRM, CampusNexus Student, and Forms Builder. The packagesmust beinstalled before you can start creating workflows.

    To install packages:

    1. Right-click theWorkflow Composer icon on your desktop and select Run as administrator.

    2. Click Package Manager in the toolbar of Workflow Composer. BecauseWorkflow Composer cannot beupdated while it is running, PackageManager prompts you to close theWorkflow Composer.

    3. Click Yes to proceed. The PackageManager window is displayed.

    Note: Check theURL of the PackageManager Host for your environment. If necessary, change theURL andclick Update before trying to install packages.

  • Workflow 2.4 25 User Guide

    4. Select the packages to install and click OK. A progress bar displayed while the latest versions of the selectedpackages are downloaded and extracted to the appropriate location. When the installation is complete, thePackageManager window is closed.

    In theAvailable Packages pane, click for the package to install. A progress bar displayed while the selec-ted package is being downloaded and extracted to the appropriate location. When the installation is com-plete, click Done to close PackageManager.

    5. Restart Workflow Composer. The contracts, entities, events, and activities associated with the downloadedpackages are now available in Workflow Composer.

  • Workflow 2.4 26 User Guide

    To uninstall packages:

    1. Right-click theWorkflow Composer icon on your desktop and select Run as administrator.

    2. Click Package Manager in the toolbar of Workflow Composer.

    3. Click Yes to closeWorkflow Composer. PackageManage displays check marks for any previously installedpackages.

    4. Clear the check marks for the packages you want to uninstall and click OK. The packages are removed.

    In theCurrently Installed Packages pane, click for the package to uninstall. A progress bar displayedwhile the selected package is being removed. Click Done to close PackageManager.

    5. Restart Workflow Composer. The uninstalled packages are no longer available.

  • Workflow 2.4 27 User Guide

    NLogThe default logging provider used by CampusNexus is NLog. NLog allows you to set up log targets, levels, rules, lay-outs, etc. through configuration.

    Configuring LoggingTo configure logging for CampusNexus products, you need to modify the nlog.config file contained within the applic-ation’s executing directory. For web applications, this file exists alongside the web.config file.

                

      

    Above is an example of a config file that is configured with two targets: file and console. The logging rules definewhich target is executed based on level (Trace, Debug, Information, Warning, Error, and Fatal). The con-figuration above logs to a subfolder off the base directory whenever an Error or Fatal level is logged by the applic-ation. To log verbose diagnostic information, you can change the minLevel to Trace, which will log all levels ofdiagnostic information.

    For additional information regarding the configuration file, see https://github.com/nlog/NLog/wiki/Configuration-file.

    For supported NLog targets, see https://github.com/nlog/NLog/wiki/Targets.

    Writing LogsThree public types are associated with the logging framework:

    l ILoggerFactoryl ILoggerl LoggerExtensions (extensionsmethods for ILogger)

    https://github.com/nlog/NLog/wiki/Configuration-filehttps://github.com/nlog/NLog/wiki/Configuration-filehttps://github.com/nlog/NLog/wiki/Targets

  • Workflow 2.4 28 User Guide

    There are two ways to enable logging in your class. The preferred way is to receive an ILogger interface as a con-structor dependency. The IoC container ensures that this dependency is wired for you.

  • Workflow 2.4 29 User Guide

    If your class is a legacy class that does not support DI, you can use the ServiceLocator to retrieve an ILoggerFactoryto create the logger.

  • Workflow 2.4 30 User Guide

    Adding Log Messages to ClassesOnce you have a logger in a class, it is important to add the relevant LOG messages to it that will help us all in debug-ging and understanding how this class is behaving.

    Logging Non-Exception Messages

    TraceMessages

    Use thesemessages to tracewhich lines of source code are being executed; they will log what is going on with thecode.

    Usage: _log.Trace(“Your message.”)

    Debug Messages

    Use thesemessages to output the contents or values of variables or properties during the execution of source code;they will log the important values of objects that may affect how the codewill execute.

    Usage: _log.Debug(“Your message. variable1={0}.”, variable1)

    Info Messages

    Use thesemessages to log information that may be useful to know about the normal operation of the application(such as environment variables, paths, etc.).

    Usage: _log.Info(“Your message. variable1={0}.”, variable1)

    Warning Messages

    Use thesemessages to logmessages that we are not sure are acceptable or to track variable/property values thatmay be close to being out of the acceptable range.

    Usage: _log.Warn(“Your message. variable1={0}.”, variable1)

    Error Messages

    Use thesemessages to log any exceptions we have that are not being handled. This is typically used in the CATCH ofa TRY/CATCH block.

    Usage: See Logging ExceptionMessages.

    Fatal Messages

    Use thesemessages to log special conditions that indicate that something went terribly wrong in the execution ofthe code.

    Usage: See Logging ExceptionMessages.

  • Workflow 2.4 31 User Guide

    Logging Exception Messages

    To properly log an exception, you should follow one of the patterns shown below. This will allow you to capture thefull exception details and also include (if necessary) any other values that may be important for debugging.

    Scenario #1. Logging a custom message, some variable value, and the exception

    Result logmessage:

    [Your message (if any)]. [Variable Name] = 'abc'. System.FormatException: The string was not recognized as a validDateTime. There is an unknown word starting at index 0. at System.DateTime.Parse(String s) at Cmc.UI.We-b.EcoSysW3C.------() in \DEV\DEV\Cmc\UI\Web\Cmc.UI.Web.EcoSysW3C\------.cs:line xx

    Scenario #2. Logging some variable value, and the exception

    Result logmessage:

    [Variable Name] = 'abc'. System.FormatException: The string was not recognized as a valid DateTime. There is anunknown word starting at index 0. at System.DateTime.Parse(String s) at Cmc.UI.Web.EcoSysW3C.------() in\DEV\DEV\Cmc\UI\Web\Cmc.UI.Web.EcoSysW3C\------.cs:line xx

    Scenario #3. Logging only the exception

  • Workflow 2.4 32 User Guide

    Result logmessage:

    System.FormatException: The string was not recognized as a valid DateTime. There is an unknown word starting atindex 0. at System.DateTime.Parse(String s) at Cmc.UI.Web.EcoSysW3C.------() in \DEV\DEV\Cm-c\UI\Web\Cmc.UI.Web.EcoSysW3C\------.cs:line xx

    Note: Youmust always inject the exception to the stringmessage using {0}!

    If you log an exception as shown below, it will fail to include the exception in the logmessage. See result of thismes-sage below:

    Result logmessage:

    message

    Reading Log Messages to Debug or TroubleshootThere are three different ways to see your logmessages when you wish to debug or troubleshoot an issue:

    1. Access the SQL server and get values from the LOGS table (if they are being logged to theDB)2. Access the local log files being saved in (webroot)/LOGS3. Use a real-time viewer

    You can download the FREE LOG viewer from: http://www.legitlog.com/Products/LegitLogViewer.

    Once you install it, you can use it to:

    l Read the log text file, orl Viewmessages in real-time as they are added to the logger.

    To enable real-time logging, follow these steps:

    1. Select Logs >> Live Capture Log.2. Select Start capture global.

    You should now start seeing any logmessages as they are added into the logger.

    http://www.legitlog.com/Products/LegitLogViewer

  • Workflow 2.4 33 User Guide

    For additional information, see theNLog website: http://nlog-project.org.

    http://nlog-project.org/

  • Workflow 2.4 34 User Guide

    Event LogsEvent logs for workflows that are executed on a CampusNexus Student server arewritten to the following folder onthe servermachine:

    Program Files (x86)\CMC\C2000\Services\Nexus Event Notification Service

    \logs.

    The logs capture all workflow events including LogLine output, events associated with long running workflows, anderrors captured by the ServiceModule Host.

  • Workflow 2.4 35 User Guide

    TheNLog settings determine the log level and target for event logs.

  • Workflow 2.4 36 User Guide

    Service Module HostServiceModuleHost.exe is aWindows service that allows Saved Events to execute and is responsible for hosting plu-ginmodules to simplify deployment andmaintenance of processes that run in the background. InstallationMan-ager sets the services to be started automatically; however, when you are building workflows, it is important toensure that the CampusNexus ServiceModule Host is running on the server.

    To stop or start the Service Module Host service

    1. On the server where theworkflows are executed, select Start > Administrative Tools > Server Manager,right-click and select Run as administrator.

    2. Navigate to Configuration > Services and select theCampusNexus Service Module Host service.

    By default, the Startup Type of the CampusNexus ServiceModule Host is set to Automatic with a Status ofStarted.

    3. To stop or restart the service, click Stop orRestart the service.

    Service Module Host Config File

    InstallationManager updates the configuration files to ensure that they point to the correct database and containproper settings. The configuration file for the ServiceModuleHost.exe and normally does not need to bemodified;however, you should be aware of the SQL Reconnect Setting and Connection Strings.

    The ServiceModule Host config file is located in C:\Program Files (x86)\CMC\C2000\Services\Nexus Event Noti-fication Service .

  • Workflow 2.4 37 User Guide

    SQL Reconnect Setting

    The ServiceModule Host service has logic to limit the reconnection attempts when the ServiceModule Host servicesenses a connection failure to the SQL database. The time duration is a configured value in seconds that the ServiceModule Host service uses to attempt the connection again. The settings contain a Number of Retries value indic-ating howmany times to retry the connection.

    If, after the number of attempts have been tried and the SQL server is still unavailable, the ServiceModule Host logsa fatal exception indicating that theWindows service should be restarted after the SQL connection issue has beenresolved. The ServiceModule Host then needs to be stopped and restarted to re-establish the connection (see Tostop or start the ServiceModule Host service).

    The following is an example of an error displayed in theworkflow Event Log when the timeout expired and a recon-nection was attempted:

    2015-08-29 00:00:04.7756 13 Error

  • Workflow 2.4 38 User Guide

    Cmc.Nexus.Utility.ServiceBroker.ServiceModule.ServiceBrokerServiceModule System.InvalidOperationException:Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. Thismay haveoccurred because all pooled connections were in use andmax pool size was reached.

    at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbCon-nectionInternal& connection)

    at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

    at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbCon-nectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)

    at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)

    at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)

    at System.Data.SqlClient.SqlConnection.Open()

    If errors like this occur frequently and fill up the event logs, youmight need to adjust the values forRecon-nectOnErrorNumberOfAttempts (default value = 5) and ReconnectOnErrorWaitSeconds (default value = 10)in the CONFIG file of the ServiceModule Host.

    Connection Strings

    The CONFIG file of the ServiceModule Host contains connection strings for the following databases:

    l CampusNexus Student Databasel Database containing theworkflow persistence tablesl Workflow Tracking Database

    The connection strings enableworkflow tracking and persisted workflows.

    The CampusNexus Student Database connection string is specifically referenced in the following workflow activities:

  • Workflow 2.4 39 User Guide

    l ExecuteDataReaderl ExecuteNonQueryl ExecuteQuery

  • Workflow 2.4 40 User Guide

    Workflow Composer

    Using Workflow ComposerThis topic describes the user interface (UI) of Workflow Composer. SomeUI elements are visible when the applic-ation is opened, while additional UI elements become available when aworkflow file is loaded.

    When the application is opened for the first time, the UI consists of a ribbon and several task panes or windows. Theribbon organizes commands into logical groups. These groups appear on separate tabs in a strip across the top ofthewindow. The task panes include theDesigner areawhere theworkflow sequence is composed and severalresource panes.

  • Workflow 2.4 41 User Guide

    Ribbon

    The button displays a basicmenu that lets you to create, open, and close aworkflow, access this Help sys-tem, PackageManager, or the About window.

    TheAbout window displays the following information:

    l Versionl Database (name of a CampusNexus Student or CampusNexus CRM database)l Tracking Databasel Build Datel Copyright

    The or buttons on the top right show or hide the ribbon.

    The Settings tab lets you reset the default layout of the task panes or select a color scheme (theme) forWorkflowComposer.

    Task PanesThe task panes include the following:

    l Designerl Toolboxl Debug Propertiesl Propertiesl Error Listl Output

    You can customize layout of the panes as follows:

    l Move panes to different positions within themain window.l Detach panes from themain window.l Re-size panes.l Hide panes.l Close panes.l Re-open panes.

    Right-click the title bar of a pane and select from the following display settings for the current session:

    l Floatl Auto Hidel Hide

    When you have closed task panes, icons representing the panes appear at the bottomof themain window. Hoverover the icons to see the labels. Click an icon to re-open the associated pane.

  • Workflow 2.4 42 User Guide

    Error List and Output TabsYou can select to view the Error List or theOutput tabs below theDesigner pane. The Error List helps to identifyerrors that may occur while building workflows in theDesigner pane. For example, if an incorrect entity is used in aexpression, an error similar to the example below is displayed.

    The Error List also indicates any problems encountered with data types for variables. For every activity that requiresa variable, an error is displayed until the correct variable is added to theworkflow.

    Status BarThe status bar displays the version of theWorkflow Composer, the name of the connected database, and the nameof the activity selected in theDesigner pane.

    Additional UI Elements When a Workflow is LoadedWhen aworkflow file (.XAML) is loaded into theWorkflow Composer, toolbars appear at the top and bottomof theDesigner pane.

    l The toolbar at the top of theDesigner pane displays breadcrumbs for theworkflow elements, an ExpandAll button, and a Collapse All button. The breadcrumbs appear when you double-click the icon in the headerbar of a workflow activity.

    l The toolbar below theDesigner pane displays buttons forVariables,Arguments, Imports, and pan/zoomcontrols.

  • Workflow 2.4 43 User Guide

    Click Variables to view, edit, or create variables to be used in theworkflow. The variable details include:

    l Namel Variable typel Scopel Default

    You have the option to create variables in this pane.

    Click Arguments to view, edit, or create arguments to be used in theworkflow. The argument details include:

    l Namel Directionl Argument typel Default value

    Click Imports to view the list of the imported namespaces. The default namespaces include:

    l Cmc.Core.ComponentModell Cmc.Core.EntityModell Cmc.Nexus (multiple namespaces depending on the activities used in theworkflow)l Microsoft.VisualBasic.Activitiesl System.Activities (multiple namespaces)l System.Windows.Markup

  • Workflow 2.4 44 User Guide

    You have the option to enter or select additional namespaces for import.

    Note: If you copy and paste a Sequence fromoneworkflow to another, youmay need to recreate any associatedvariables to ensure all namespaces are properly imported.

    Thepan/zoom controls enable you to pan and zoom the display in theDesigner pane. Tooltips are provided forthese buttons.

  • Workflow 2.4 45 User Guide

    Creating a Workflow

    PrerequisitesBefore you start building workflows, ensure that the login credentials (user name and password) specified duringthe installation of Workflow Composer have Insert and Update permissions for the following tables:

    l WorkflowDefinitionl WorkflowDefinitionVersion

    Also ensure that you have installed the Activities and Contracts packages applicable to your environment. Formoreinformation, see PackageManager.

    Basic Workflow ExampleIn this example, wewill create aworkflow for a Saved event on the Person entity. The event occurs when the Savebutton is clicked on the Student Master form of CampusNexus Student. This workflow sets a value for a specificfield whenever a Student record is saved.

    1. On your desktop, double-click to start theWorkflow application.

    2. Click . TheNew Event DrivenWorkflowwindow is displayed.

    3. In the Entities area:

    a. Click next to Cmc.Nexus.Contracts.

    b. Click next to Cmc.Nexus.

    c. Click Person (Person).

    4. In the Events area, click Saved (SavedEvent).

    5. In theName field, specify aName for theworkflow definition and click OK.

  • Workflow 2.4 46 User Guide

    TheNew Event DrivenWorkflowwindow is closed and the name of theworkflow, PersonSaved in ourexample, is displayed at the top left of the Designer pane and in the Properties pane. The Sequence flow is dis-played in the center of the Designer pane.

    6. In the Toolbox, under Control Flow, select the If activity and drag it into the sequence.

    7. In the Condition field, specify the following VB expression: entity.HasChanged()

    Refer to Helpful Hints to learnmore about the purpose of this condition.

  • Workflow 2.4 47 User Guide

    8. In the Toolbox, under Primitives, select theAssign activity and drag it into the Then branch of the If con-dition.

    9. In the To field of the Assign activity, type entity..

    Note: When the period is entered, an IntelliSense completion list displays all properties that can be associatedwith the selected entity in the CampusNexus domain (). Icons indicate the property type, e.g.:

    Fields

    Methods

    Events

  • Workflow 2.4 48 User Guide

    10. In the value field of the Assign activity, enter a VB expression. Type entity. and select a property from thedrop-down list. In our example, wewant to use theNickname property to assign the string "Gator" to theNickname field.

    Notes:

    l When you define a VB expression in theworkflow, click the ellipsis button in the Properties pane nextto the field to which the expression applies. The Expression Editor window is displayed. This enablesyou to view each expression and also provides the drop-down lists for valid options.

    l While you are creating the expressions, the hosted compiler validates expressions. Errors aremarked

    with in the Sequence and in the Expression Editor. Detailed information about the errors is dis-played in the Error tab at the bottomof theDesigner pane.

  • Workflow 2.4 49 User Guide

    11. In the Toolbox, under Cmc.Nexus.Workflow, select the SavePerson activity and drag it into the sequence.

    12. In the Properties pane of the SavePerson activity, type entity in the Person field.

  • Workflow 2.4 50 User Guide

    13. Click Save in the File section of theHome tab to store theworkflow definition in a local file system if you arenot ready to publish it.

    14. Click Publish in the Server section of theHome tab to save theworkflow definition in the SQL Server data-base and publish it to the server that runs theworkflows.

    Note: TheWindows Service CampusManagement NextGen Nexus Event Workflows handles theworkflowevents. The servicemust be running on platform that hosts the application.

    15. To verify theworkflow, in CampusNexus Student, open a Student Master form. Edit the form to remove anydata from theNickname field.

    16. Click Save and verify that Gator is displayed in theNickname field.

  • Workflow 2.4 51 User Guide

  • Workflow 2.4 52 User Guide

    Viewing and Enabling a WorkflowTheWorkflow application enables you to open and viewworkflow definitions from a local file systemor from anSQL Server database table. Workflows stored in the database can be enabled and disabled.

    Opening Workflows from File or ServerTo open aworkflow from the file system, click Open in the File section of the ribbon and navigate to the locationwhere your workflow files are stored.

    To open aworkflow from the database, click Open in the Server section of the ribbon. TheOpenWorkflowDefin-ition From Server window displays a grid with information about workflows that have been published to the data-base. To load aworkflow definition into theDesigner, select theworkflow in the grid and click Open.

    Workflows are grouped by entities and events in theOpenWorkflowDefinition From Server window. Expand theentity and event groups to view the following information about each workflow:

    l Versionl Status (enabled or disabled)l Published by (Windows identity of the user who is signed in to theWorkflowDesigner workstationl Source (Windows identity of theworkstation where theworkflow came from)l Datemodified

  • Workflow 2.4 53 User Guide

    You canmanipulate the grid in theOpenWorkflowDefinition From Server window. Hover over the column headingsto access filter and sort controls. Drag column headers to rearrange or remove columns.

    Select or clear the Enabled check box to choosewhich workflow is currently active and will be selected by thework-flow engine to executewhen a new instance of this workflow is invoked. For workflows that havemultiple versions,only one version at a time can be enabled. Click Save when you have changed the enabled status.

    When you open, modify, and publish aworkflow version, the version number of theworkflow is automatically incre-mented, and the new version is listed in the grid.

    You canmodify long running workflows when needed without disrupting any instances of theworkflow that are inprocess and persisted to the data store. CampusNexus completes the execution of any currently persisted work-flows using the definition of the older version and invokes new instances of theworkflow using the latest definition.

    TheWorkflowIdentity class supports the versioning and dynamic update functionality of Workflows and enableshostingmultiple versions of the sameworkflow.

    Deleting Workflow Definitions

    The 'OpenWorkflowDefinition from Server' window enables you to deleteworkflow definitions that are stored inthe database. You can select multiple revisions of a single workflow, all revisions of workflow, and workflow revisionsof multiple different contracts at same time. When you select theDelete check box, you are prompted to confirmthat you want to permanently delete the selected workflows/revisions.

    If at least one instance of any of the selected workflow revisions is a long running workflow and still is in process, amessage states that one ormore instances of one of the selected workflow revisions is still in process. If you pro-ceed with theDelete operation, all in process instances of workflows associated with any of the selected workflowrevisions are deleted as well as the selected workflow revisions.

    Workflow TrackingIn theWorkflow Tracking section of the ribbon, you can open persisted workflow instances and tracked workflows.

    The persisted and tracked workflow grids display the following information:

    l Instance Idl Workflow (.xaml file name)l State (e.g., closed, executing, idle, unloaded, completed, aborted, terminated)l Time

    You can sort, filter, and rearrange the columns in the grids.

    To load aworkflow definition into theDesigner, select a workflow and click Open.

    http://msdn.microsoft.com/en-us/library/system.activities.workflowidentity(v=vs.110).aspx

  • Workflow 2.4 54 User Guide

  • Workflow 2.4 55 User Guide

    Saving and Publishing a WorkflowTheWorkflow application enables you to save a local copy of a workflow and publish it when it is ready to be run bytheworkflow engine.

    The option to save to the local file system is intended to be used during the design phase and for file sharing pur-poses. Workflows that are stored locally are not used by theworkflow engine.

    To save aworkflow locally, click Save or Save As... on theHome tab of theDesigner.

    Workflows that are ready to be run by theworkflow enginemust be published. Published workflows are stored inthe database. During publishing, you have the option to enable theworkflow. Theworkflow engine runs only work-flows that are published and enabled. Multiple versions of a workflow can be saved to the database. If another work-flowwith same Entity.Event and Name is found, the publishing process increments theworkflow version. Only oneversion of a particular workflow can be enabled at a time.

    To publish a workflow:

    1. Open aworkflow definition inWorkflow Composer. See Viewing and Enabling aWorkflow.

    2. On theHome tab, click Publish. TheNewWorkflowDefinition Version window is displayed.

    The Entity, Event, and Name fields are automatically populated based on the information that was gatheredwhen theworkflow definition was created.

    3. If you want theworkflow to be run as soon as the event occurs on the entity, select Enable This WorkflowVersion?, otherwise leave the check box cleared.

    Enabling theworkflow disables any other version of the sameworkflow that may be currently enabled.

    4. Click Publish.

  • Workflow 2.4 56 User Guide

    Workflow TypesWorkflow Composer can be used to create the following workflow types:

    Sequence

    l Most common type of workflow.

    l Executes a set of child activities according to a single, defined ordering.

    Flowchart

    l Typically used to implement non-sequential workflows, but can be used for sequential workflows if noFlowDecision nodes are used. Flowchart components include:

    o FlowStep – models one step of execution in the flowchart (simply a wrapper around a standard activ-ity).

    o FlowDecision – branches execution based on a Boolean condition, similar to If.

    o FlowSwitch – branches execution based on an exclusive switch, similar to Switch.

    State Machine

    l Allows you to model your workflow in an event-drivenmanner.

    l Typically used for human workflow scenarios.

    l A statemachine can be in one state at any particular time.

    o Initial State – represents the starting point of the statemachine.

    o Final State – represents the completion of the statemachine.

    o Transition – a directed relationship between two states which represents the response of the statemachine to an occurrence of an event.

    o Transition Action – an activity executed when performing a transition.

    o Entry Action – an activity executed when entering the state.

    o Exit Action – an activity executed when exiting the state.

    o Trigger – a triggering activity that causes a transition to occur.

    o Condition – a constraint whichmust evaluate to true after the trigger occurs for the transition to com-plete.

    Statemachineworkflow are used with Forms Builder. SeeHelp for Forms Builder 3.x.

    http://www.mycampusinsight.com/support/Forms Builder Help/Default.htm

  • Workflow 2.4 57 User Guide

    Helpful HintsThe following hintsmay help when you begin creating and testing workflows.

    l Using Conditionsl Preventing Loopsl TestingWorkflows for Saved Eventsl Filtering Events Based on Event Sourcel Using the Context Propertyl Retrieving an EnumValuel Type Castingl Clearing aWorkflow Instance Idl Capturing Validation Errorsl Copying/Pasting Sequencesl Checking for StudentCourse.Status Changesl Improving Search Performance on "Browse for Types..."

    Using ConditionsWorkflows should start with a condition that determines if or when aworkflow is executed. It is important to useconditions because all workflows that are stored on aworkstation are active. Proper conditions prevent conflictingor unintended changes to the database.

    Checking for Record Inserts and Changes

    When working with workflows, it is important to understand that many of the records that are checked in thework-flowwill have numerous updates fromdifferent sources for different reasons and theworkflowwill be triggeredmul-tiple times. To ensure that theworkflow is executed only when a specific value is changed, you can use conditions tocheck the EntityState property or the HasChanged method on the entity.

    Examples

    l entity.HasChanged("Veteran")– checks if the veteran flag on a Person record wasmodified.

    l entity.Prospects(0).HasChanged(“LeadTypeId”) – checks if the identifier of a Person record wasmodified indicating that a new record was inserted.

    l entity.HasChanged(StudentCourse.StatusProperty) – checks if the Status property on the StudentCourse entity has changed.

    In a condition statement for any entity you can select all the available properties that you are looking for tohave changed. In this example the entity is StudentCourse and the StatusProperty is selected.

  • Workflow 2.4 58 User Guide

    To determine if a Student Course Status changed to "Withdrawal" (= "Drop" in CampusNexus Student, specifythe following condition:

    entity.HasChanged(studentcourse.StatusProperty) and entity.Status = Stu-dentCourseStatus.Withdrawal

    As a general rule do not use Save type activities in Saving events, only Saved events.

    You can also use the entity.HasChanged condition to prevent infinite loops in theworkflow.

    The EntityState property applies to the entity to which it belongs. For example, the Person entity did notchange, but one of its child entities (Prospects) did. If you check the entity.Prospects(0).EntityState, itshould indicate Modified.

    The EntityState property and the HasChanged()method are intended for different uses and have specificmeanings. The following are examples for a Person entity:

  • Workflow 2.4 59 User Guide

    l entity.HasChanged() – indicates if any direct properties of the Person entity have changed. This doesnot check any child entities or collections.

    l entity.HasChanged(true) – checks the Person entity plus any child entities and collections. If any prop-erty on the Person entity, or any of the entities in the collections (Students, Prospects) have changed, itwill return true. Use entity.HasChanged(true) in workflows to determine if anything has changedwithin themodel.

    l entity.Prospects(0).HasChanged() – returns true if the first Prospects child entity of the Personhas any changes.

    l entity.Prospects(0).EntityState – returns one of three values Added, Modified, or Removed andonly applies to the first Prospects entity in the Prospectscollection.

    For an activity that adds a record to an entity, every property will be dirty because the values are set fromnull tosomething else or to an empty string. Therefore, you should check the EntityState in your workflow to determ-ine if a record is added. Insert a condition similar to the following:

    If [  entity.EntityState = Cmc.Core.EntityModel.EntityState.Added ]

    l entity.EntityState – is an enumeration and contains one of three values Added, Modified, orRemoved. This gives theworkflow developermore information about what has happened to the entity dur-ing the process. This is specific to the entity to which the EntityState belongs.

    Preventing LoopsBe careful not to create loops in your workflow statements.

    Examples:

  • Workflow 2.4 60 User Guide

    l If a workflow is triggered by a Saving event, don't use a SavePerson activity within theworkflow.

    l If a workflow is triggered by the posting of a charge, don't use a CreateCharge activity within theworkflow.

    Testing Workflows for Saved EventsAlthoughWorkflow is distributed with logging turned off, youmight want to enable logging during theworkflowdesign phase. SeeNLog for details about the logging configuration.

    It is a good practice to insert at least one LogLine activity in workflows for Saved events. The LogLine text will appearin the event log immediately after the event is raised.

    Note: The LogLine activity requires the Cmc.Core.ServiceModuleHost.exe.config file to be set up to log to file anderror as shown below.

    Check the date.errors.log file regularly for any errors in your workflows. Formore information, see Event Logs.

    Alternatively, you can test workflows for Saved events by including a Contact Manager CreateTask activity. You canconfirm that theworkflowwas executed by checking the Contact Manager UI.

    Filtering Events Based on Event SourceEvery event has arguments. The arguments can be viewed in Intellisense by typing args. in theWorkflowDesigner.

    Event arguments have a connection context that specifies where the transaction came from. The context inform-ation can be used to filter events. For example, you can set up a filter to handle only events that came from a spe-cific database trigger

  • Workflow 2.4 61 User Guide

    Using the Context PropertyThe Context property is a string that is set in the codewhen an event is raised. You can access the Context propertyin theWorkflowDesigner, for example, when you specify arg. in the Expression field of a Switch activity .

    The Context property is useful when aworkflow is associated with a sequence of forms such as the Enrollment Wiz-ard in CampusNexus Student. When the user clicks Next after completing Step 1 in the Enrollment Wizard, a PersonSaving event is raised and the Context is set to a string, in this case, “Enrollment Wizard: Student Selection”. You canuse a conditional statement to check the value of Context and validate fields in Step 1. Within theworkflow, as youproceed through validating fields in the sequence of steps, check the Context string using each Case of the Switchactivity. See the sampleworkflow Enrolling Students Using the Enrollment Wizard.

    Without the Context property, if theworkflow validated a property that was picked in Step 4 of thewizard and theevent was triggered for Step 1, unexpected behavior or null reference exceptionsmay occur.

  • Workflow 2.4 62 User Guide

    Note that the Enrollment Wizard uses a Person Saving entity contract, so if you have a validation for the StudentMaster form (e.g., on Nickname) you should also add a context sensitive If statement in that workflow. Context inthat case is “Student Saving Com”. Otherwise some validation you have for the Student Master could show up onevery step of the Enrollment Wizard on fields that are not even available there.

    Another use case for the Context property areworkflows that deal with PostCharge or AdjustCharge transaction.The Context property can be used to determine the type of event.

    Retrieving an Enum ValueFor entities containing enumerations (i.e., a predefined list of values), use the Enum.GetNamemethod to retrieve anenum value.

    Example:

    https://msdn.microsoft.com/en-us/library/system.enum.getname(v=vs.110).aspx

  • Workflow 2.4 63 User Guide

    The following expression retrieves the value of the TransactionType enumeration in the Cmc.Nex-us.Sis.StudentAccounts contract:

    [Enum].GetName(GetType(Cmc.Nex-us.Sis.StudentAccounts.TransactionType),entity.TransactionType)

    In the case of the TransactionType enumeration, the Enum.GetNamemethod enables you to capture the Trans-action Type value and perform another workflow activity when this value is found.

    The log shows themapping of the TransactionType enum value of "2" to the Transaction Type of "DebitAd-justment".

    Another commonly used property to retrieve an enumeration is EntityState as shown below:

  • Workflow 2.4 64 User Guide

    Type CastingYou can convert data types using the TryCast operator. The example below shows how the Loan Sched-uledDisbursement data type can be converted to themore specific DirectLoanScheduledDisbursement.

    Clearing a Workflow Instance IdTo clear aWorkflow Instance Id value in aworkflow, use the following syntax:

    Note: The API does not allow you to set the Guid value to all 0s. Therefore, the 1 appears at the end.

  • Workflow 2.4 65 User Guide

    Capturing Validation ErrorsIn activities that provide a ValidationMessages field defined as InOutAr-gument, you can create a variable of type ValidationMessageCollection anduse the variable to capture errormessages as shown in the example below, where the name of the variable is "val-idation".

    Note: If you are updating legacy activities to the new object model, be sure to update the variable type for val-idationmessages. Many of the legacy activities use the variable type 'ValidationMessage', while the new objectmodel uses the variable type ' ValidationMessageCollection'. It is not enough to create a variable in the new objectmodel, you also need to instantiate the variable.

  • Workflow 2.4 66 User Guide

    Copying/Pasting SequencesIf you copy and paste a Sequence fromoneworkflow to another, youmay need to recreate any associated variablesto ensure all namespaces are properly imported.

    Checking for StudentCourse.Status ChangesIf you are using the Status property in workflows that check for StudentCourse.Status changes, use a logic patterncontaining the CTYPE function withmultiple combinations of possible status changes.

    In our example, the FlowDecision activity contains a condition that checks whether the Stu-dentCourse.StatusProperty entity has changed and whether the original Status valuewas NotTaken (case a),Registered (case b), or CurrentlyAttending (case c). The CTYPE function changes the original Status values to a newStatus values for each case.

    entity.HasChanged(studentcourse.StatusProperty)

    AND (CTYPE(entity.OriginalValues("Status"), StudentCourseStatus) = StudentCourseStatus.NotTaken

    AND entity.Status = StudentCourseStatus.Registered)

    OR (CTYPE(entity.OriginalValues("Status"), StudentCourseStatus) = StudentCourseStatus.Registered

    AND entity.Status = StudentCourseStatus.NotTaken)

    OR (CTYPE(entity.OriginalValues("Status"), StudentCourseStatus) = StudentCourseStatus.CurrentlyAttending

    AND entity.Status = StudentCourseStatus.Withdrawal)

    For different Status changes, replace the Status values as shown in the following pattern:

    Where:

  • Workflow 2.4 67 User Guide

    l status1a = original status (case a)l status2a = new status (case a)l status1b = original status (case b)l status2b = new status (case b)l status1c = original status (case c)l status2c = new status (case c)

    entity.HasChanged(studentcourse.StatusProperty)

    AND (CTYPE(entity.OriginalValues("Status"), StudentCourseStatus) = StudentCourseStatus.status1a

    AND entity.Status = StudentCourseStatus.status2a)

    OR (CTYPE(entity.OriginalValues("Status"), StudentCourseStatus) = StudentCourseStatus.status1b

    AND entity.Status = StudentCourseStatus.status2b)

    OR (CTYPE(entity.OriginalValues("Status"), StudentCourseStatus) = StudentCourseStatus.status1c

    AND entity.Status = StudentCourseStatus.status2c)

    Improving Search Performance on "Browse for Types..."When you need to select theBrowse for Types... option inWorkflow Composer, the search performance isimproved if you copy and paste the entirety of the type to be searched into the "Browse and Select a .Net Type" win-dow.

    Example

    You need to browse for a variable type named "ValidationMessageCollection". The quickest way to locate the vari-able type is:

    1. Open Notepad.2. Type ValidationMessageCollection.3. Copy/paste ValidationMessageCollection into Type Name field of the "Browse and Select a .Net

    Type" window.

  • Workflow 2.4 68 User Guide

  • Workflow 2.4 69 User Guide

    Host ProcessesThe hosts involved in theworkflow vary depending on the CampusNexus configuration and environment. The Ser-viceModuleHost, ServiceBrokerServiceModule, and theWorkflowServiceModule are required to host workflow pro-cesses. Application servers and clients vary.

    Host Process DescriptionServiceModuleHost.exe Windows service responsible for hosting plugin modules to simplify deployment and main-

    tenance of processes that run in the background. For more information, see Service ModuleHost.

    ServiceBrokerServiceModule Responsible for monitoring SQL Server Service Broker Queues for messages. Currently, mes-sage handlers are implemented to raise EventService events and trigger schedule-based work-flows.

    WorkflowServiceModule Responsible for executing runnable workflows that have been persisted using the Delay activity.This process waits for suspended workflows (a.k.a. long running) to resume. It queries the data-base every 10 seconds.

    This process waits for suspended workflows (a.k.a. long running) to resume. It queries the data-base every 10 seconds. It requires a valid handle in the database to ensure that the process isvalid and connected to the database. The process refreshes a lock within the database table:[System.Activities.DurableInstancing].[LockOwnersTable] every 30 seconds. Ifthe lock becomes expired or if it is not found, the module will start to throw exceptions regardingthe lock being Freed or Invalid.

    CampusVue.exe Desktop Client for CampusNexus Studentw3wp.exe IIS hosted application server. Events are raised through ASP.NET or WCF.WorkflowComposer.exe Allows power users to create and publish workflows and track workflow instances.

    API Authentication for Workflow ActivitiesInstallationManager accepts the API Username and Password to allow applications other than CampusNexus Stu-dent to execute CampusNexus Student workflow activities. The API Username and Password values are specified onthe CampusNexus Student tab in the Forms Builder Settings screen of InstallationManager. The API Username andPassword arewritten to the SyRegistry table within the CampusNexus Student database (with selected encryptionmechnism). The API Username and Password are no longer written to theweb.config file and to the app config ofthe ServiceModule Host forWorkflow Composer.

  • Workflow 2.4 70 User Guide

    Workflow Execution ScenariosAworkflow continuously executes activities until there are nomore activities to execute or until all currently execut-ing activities arewaiting for input. The input can come from a user, an external system, or an expiring timer. Whilewaiting for input, theworkflow becomes idle. A host can unload workflows that have gone idle and reload them tocontinue execution when the input arrives. To unload theworkflowwhen it becomes idle, the host must persist theworkflow instance.

    Persistence of theworkflow instances and associated data is required in the following scenarios:

    l Aworkflow is started within an application, unloaded due to a Bookmark, and resumed from the same applic-ation.

    l Aworkflow is started within an application server, unloaded due to a Delay, and resumed from the applic-ation server.

    l Aworkflow is started based on a Schedule, unloaded due to a Delay, and resumed from the applicationserver.

    l Aworkflow is started based on a Schedule, unloaded due to a Bookmark, and resumed from the applicationserver.

    The hosts involved in theworkflow vary depending on the CampusNexus configuration and environment. Formoreinformation about the hosts, see Host Processes.

    Bookmark

    Bookmarks are themechanism that enables aworkflow activity to passively wait for input without holding onto aworkflow thread. A bookmark is the point at which execution can be resumed (and through which input can bedelivered) within aworkflow instance. External code is responsible for resuming the bookmark with relevant data.Multiple bookmarks can be scheduled at the same time.

    For information about creating different bookmark types, see CreateBookmark and CreateBookmark. To seehow CreateBookmark and ResumeBookmark activities can be used in aworkflow, refer to

    l Creating a Long RunningWorkflowl Waking up the Long RunningWorkflow

  • Workflow 2.4 71 User Guide

    Delay

    ADelay activity creates a timer for a specified duration. Theworkflow instance is unloaded until the timer expires.

    Other activities related to workflow persistence include:

    l StateMachinel Statel FinalSatel Persistl NoPersistScopel Pickl PickBranchl Parallel

    Formore information about these activities, see Generic Activities.

    Schedule

    Event scheduling can be used to start a workflow on a recurring schedule. Formore information see, Event Schedul-ing.

  • Workflow 2.4 72 User Guide

    Workflow Tracking OverviewTheWorkflow client provides a visual workflow tracking feature that is built based on theworkflow tracking infra-structure available through .NET Framework 4.5. Workflow tracking enables you to observe the execution of a work-flow instance at runtime.

    1. Tracking records are emitted from aworkflow at theworkflow instance level and when activities within theworkflow execute.

    2. Tracking profiles are used to specify which tracking information is emitted for a workflow instance. The quer-ies defined within the tracking profile section define the kinds of events that are returned by the subscription.For example, a tracking profilemight subscribe to Started and Completed workflow event statuses. If no pro-file is specified, all tracking events are emitted. Tracking profiles are XML elements within a standard .NETframework config file. AWorkflow Tracking Profile Editor UI is also available.

  • Workflow 2.4 73 User Guide

    3. Aworkflow tracking participant needs to be added to theworkflow host to subscribe to tracking records. Thetracking participant subscribes to TrackingRecord objects. It contains the logic to process a TrackingRecord(for example, writing to a file). The .NET Framework provides an ETW (Event Tracing forWindows) tracking par-ticipant with a basic profile that is installed in themachine.config file. CampusNexus also provides an SQLtracking participant that stores the tracking records and permits retrieval of the tracking records.

    Formore information about theworkflow tracking and tracing infrastructure in .NET 4.5, see http://msdn.-microsoft.com/en-us/library/ee513992(v=vs.110).aspx.

    Note: Workflow tracking relies on three database strings that are configured in the configuration file for the Ser-viceModuleHost.exe. Formore information, see Connection Strings.

    a. dbConnectionb. WorkflowDurableInstancingConnectionc. WorkflowTrackingConnection

    The dbConnection and WorkflowDurableInstancingConnection should point to the same SIS database,e.g., a CampusNexus Student database. The WorkflowTrackingConnection should point to a specific trackingdatabase (different than the SIS database).

    ContinuewithWorkflow Tracking Example.

    http://msdn.microsoft.com/en-us/library/ee513992(v=vs.110).aspxhttp://msdn.microsoft.com/en-us/library/ee513992(v=vs.110).aspx

  • Workflow 2.4 74 User Guide

    Workflow Tracking ExampleAfter you have set up your environment for workflow tracking (seeWorkflow Tracking Overview), useWorkflowComposer for visual workflow tracking. You can:

    l Viewworkflows that are currently executing.l Viewworkflows that executed in the past.l Select and replay workflows.l Refresh the display in the Current and Historical windows.

    You can troubleshoot a workflow and determine if it is executing properly based on the data being passed orreturned from every activity step in a given workflow.

    To track a workflow:

    1. Open theWorkflowDesigner and click on Open Tracked Workflow.

    The CompletedWorkflows window is displayed. Each record indicates the Instance Id, Name, State, and Timeof a workflow.

    2. Select a record and click Open. The definition of theworkflow instance is loaded into theDesigner pane. Youcan select a workflow instance and click Replay to execute theworkflow again, click Refresh to update theCompletedWorkflow instances, or click Close to unload theworkflow from theDesigner pane.

    3. Click on theWorkflow Activities tab below the Toolbox. TheWorkflow Activities pane is displayed. It con-tains records for the Activity steps in the currently loaded workflow.

  • Workflow 2.4 75 User Guide

    4. In theWorkflow Activities pane, click on theActivity step that you want to examine. The selected Activitystep is highlighted in theDesigner pane.

    5. Click on theDebug Properties tab.

  • Workflow 2.4 76 User Guide

    6. In theDebug Properties pane, click to the left of Workflow Activity State Data to inspect the details ofthe Arguments and Variables declared at the time of the execution of the Activity step selected in theWork-flow Activities tab.

  • Workflow 2.4 77 User Guide

    7. Click the icons to inspect the details of the Arguments and Variables declared at the time of the executionof theworkflow Activity step selected in theWorkflow Activities tab.

    Notes:

    l Use the visual workflow tracking feature only when needed to avoid any performance impacts.

    l Define an appropriate tracking profile to limit the number of tracking records that are emitted at runtime.Formore information about tracking profiles, see http://msdn.microsoft.com/en-us/library/ee513989(v=vs.110).aspx.

    http://msdn.microsoft.com/en-us/library/ee513989(v=vs.110).aspxhttp://msdn.microsoft.com/en-us/library/ee513989(v=vs.110).aspx

  • Workflow 2.4 78 User Guide

    Persisted WorkflowsTheWorkflow application enables you to open, refresh, and terminate persisted workflows. Persisted workflowsmay contain Delay or Bookmark activities or are started by a Scheduled event. Theseworkflows reside in the data-base and are idle until the delay, bookmark, or scheduled events occur.

    1. In Workflow Composer on theHome tab of the ribbon, click Open Persisted Workflow .

    2. TheOpen PersistedWorkflowwindow is displayed. You can sort and filter the grid as needed.

    3. Select a workflow instance.

    4. Click Open to view theworkflow definition. You can edit and save theworkflow.

    5. Click Refresh to update the grid of persisted workflows.

    6. Click Terminate to stop aworkflow. Click Yes to confirm. Theworkflow instance is removed from the grid.

    7. Click Cancel to close theOpen PersistedWorkflowwindow.

    Note: Workflow tracking relies on three database strings that are configured in the configuration file for the Ser-viceModuleHost.exe. Formore information, see Connection Strings.

  • Workflow 2.4 79 User Guide

    a. dbConnectionb. WorkflowDurableInstancingConnectionc. WorkflowTrackingConnection

    The dbConnection and WorkflowDurableInstancingConnection should point to the same SIS database,e.g., a CampusNexus Student database. The WorkflowTrackingConnection should point to a specific trackingdatabase (different than the SIS database).

  • Workflow 2.4 80 User Guide

    Exception HandlingException handling refers to exceptions that are thrown fromworkflows as well as responses from the Cam-pusNexus API services when the service returns validationmessages. When a user saves aworkflow that containserrors, exception handling enables the administrator to identify incorrect workflows.

    CampusNexus uses dead-letter queue and poisonmessage handling provided by theWindows CommunicationFoundation (WCF) framework. Formore information, see http://msdn.microsoft.com/en-us/library/ms789035(v=vs.110).aspx.

    If an error is found in aworkflow, themessage queue flags exceptions as EXTERNAL_DeadLetterQueue.

    A log file on the application server provides detailed information about Compiler errors in theworkflow.

    The failedmessages in the dead-letter queue are tried again. If the exception cannot be resolved, the first entry iscleared from the dead letter queue. This ensures that the service broker is not locked in case of an exception. Userscan retry the transaction after the error is cleared.

    In addition, the Service Broker queue processor code implements a Trace.WriteLinemechanism to handle failedmessages:

    ///

    /// Handle failed messages

    ///

    ///

    ///

    ///

    ///

    public static void SaveFailedMessage(string message, string messageType, SqlConnection con,Exception errorInfo)

    {

    Trace.WriteLine("CVueExternalMessageProcessor Received Failed Message");

    }

    The default behavior of Service Broker is to disable a queue after the samemessage has thrown an exception fivetimes. CampusNexus provides a setting in the config file that prevents shutting down the queue.

    False

    When this setting is set to True, the queue gets disabled. When this setting is set to False, the queue does not get dis-abled. False is the recommended setting.

    http://msdn.microsoft.com/en-us/library/ms789035(v=vs.110).aspxhttp://msdn.microsoft.com/en-us/library/ms789035(v=vs.110).aspx

  • Workflow 2.4 81 User Guide

    NewWorkflows

    About the New Object ModelBeginning withWorkflow 2.2, a new object model supports CampusNexus Student version 17.1 and later. The newobject model introduces new namespaces for CampusNexus Student modules.

    Old Namespace New NamespaceCmc.Nexus.Workflow.

    Example:

    Cmc.Nexus.Workflow.Sis.Academics

    Cmc.Nexus..Workflow

    Example:

    Cmc.Nexus.Academics.Workflow

    The new services, namespaces, and entities are documented in the CampusNexus Student Object Library.

    New and Migrated ActivitiesThe activities in the toolbox of Workflow Composer are sorted by namespace. Any new activities that have beendeveloped since the introduction of the new object model are added to the corresponding namespaces in the tool-box.

    Activities that were developed under the old object model and are required to support the events raised out of Cam-pusNexus Student weremigrated to the new namespaces.

    Example: The CreateStudentSportsService activity wasmigrated from Cmc.Nex-us.Workflow.Sis.StudentServices to Cmc.Nexus.StudentServices.Workflow. If you are creating a newworkflow using this activity, use the activity variant from the Cmc.Nexus.StudentServices.Workflownamespace and refer to the CreateStudentSportsService topic in theHelp for New Workflows (New Object Model) sec-tion. The toolbox of Workflow Composer (as well as theHelp system) will provide both variants of the CreateStu-dentSportsService activity until all legacy workflows have beenmigrated.

    The LookupServiceListItem, LookupAreaOfStudy, and LookupListItem activities were not migrated. The func-tionality of these activities is incorporated into the LookupReferenceItem activity under Cmc.Nex-us.Common.Workflow. Use the LookupReferenceItem activity for new ormigrated workflows.

    The LookupGroup activity under Cmc.Nexus.Workflow is migrated to LookupStudentGroup under Cmc.Nex-us.Common.Workflow.

    TheWorkflowHelp section Help for New Workflows (New Object Model) contains the activities supported by the newobject model. For detailed information about the entities and properties associated with new andmigrated activ-ities, refer to the CampusNexus Student Object Library instead of mapping tables provided in theHelp for LegacyWorkflows section.

    EventsEvents raised out of theWeb Client for CampusNexus Student are supported only in the new object model.

    http://www.mycampusinsight.com/support/CampusNexus Student Object Library/index.html#html/N_Cmc_Nexus_Academics_Entities.htmhttp://www.mycampusinsight.com/support/CampusNexus Student Object Library/index.html#html/N_Cmc_Nexus_Academics_Entities.htm

  • Workflow 2.4 82 User Guide

    Events raised out of the Desktop Client for CampusNexus Student are supported in the legacy model (using legacycontracts, activities, and entity mapping tables). However, the legacy model will eventually be phased out. Any newworkflows for events raised out of the Desktop Client for CampusNexus Student 17.1 and later should bemigratedto use the new object model.

    ContractsThe contracts that the legacy services/activities were developed against are not migrated. Instead, the contracts thatthe legacy services/activities use become part of the new object model/commandmodel.

    The legacy contracts will be supported for a designated length of time allowing for customers to adjust any applic-able workflows to use the new entities and their corresponding contracts. The specific steps/process for howaffected workflows are updated/modified need to be determined. You need to install both old and new contractsusing Packet Manager if you have old workflows that use the old activities. When all workflows aremigrated to usethe new activities, uninstall the old contracts. A new user fromCampusNexus Student 17.1 forward should neverinstall the old contracts/activities.

    Converted EntitiesIn the new object model, the conversion of entity values is no longer required. The CVueIdToPersonIdActivity andPersonIdToCVueIdActivity are no longer needed, and the following conversion formulas no longer apply:

    For Student:

    l PersonId = (SyStudentId * 10 ) + 1

    Other entities:

    l SyStaffId + '2'l SyAddressId + ‘3’l PlEmployerContactId + ‘4’l AmAgencyContactId + ‘5’l SyOrganizationContactId + ‘6’l AmOnlineApplicantId + ‘7’

    For Student Group: GroupId = (SyGroupsId * 10 ) + 1

    Note: In new andmigrated workflows, the Campus (Id) property replaces the Business Unit (Id) property.

  • Workflow 2.4 83 User Guide

    Cmc.Nexus.ModelsThe following table shows entity mapping for the LookupReferenceItem activity (reference itemquery model).

    Reference Item Type Entity Database Table

    Account Statuses Cmc.Nexus.Models.StudentAccounts.AccountStatus SaAcctStatus

    Address Types Cmc.Nexus.Models.Common.AddressType SyAddrType

    Agencies Cmc.Nexus.Models.Common.Agency AmAgency

    Applicant Types Cmc.Nexus.Models.Admissions.ApplicantType AmApplicantType

    Area of Study Types Cmc.Nexus.Models.Academics.AreaOfStudyType AdConcentrationType

    Areas Of Study Cmc.Nexus.Models.Academics.AreaOfStudy AdConcentration

    Athletic Status Cmc.Nexus.Models.StudentServices.AthleticStatus SsAthleticStatus

    Billing Methods Cmc.Nexus.Models.StudentAccounts.BillingMethod SaBillingMethod

    Books for Course Cmc.Nexus.Models.Academics.Books BsItem

    Campuses Cmc.Nexus.Models.Common.Campus SyCampus

    Catalog Years Cmc.Nexus.Models.Academics.CatalogYear AdCatalogYear

    CitizenCodes Cmc.Nexus.Models.Common.Citizen AmCitizen

    Counties Cmc.Nexus.Models.Common.County SyCounty

    Countries Cmc.Nexus.Models.Common.Country SyCountry

    Customer Banks Cmc.Nexus.Models.StudentAccounts.Bank SaBank

    Disability Statuses Cmc.Nexus.Models.StudentServices.DisabilityStatus SsDisabilityStatus

    Document Statuses Cmc.Nexus.Models.Crm.DocumentStatus CmDocStatus

    Document Types Cmc.Nexus.Models.Crm.DocumentType CmDocType

    Employment Statuses Cmc.Nexus.Models.CareerServices.EmploymentStatus PlEmpStatus

    Ethnicities Cmc.Nexus.Models.Common.Ethnicity AmRace

    Fund Sources Cmc.Nexus.Models.FinancialAid.FundSource FaFundSource

    Genders Cmc.Nexus.Models.Common.Gender AmSex

    Grade Levels Cmc.Nexus.Models.Academics.GradeLevel AdGradeLevel

    Grade Scales Cmc.Nexus.Models.Academics.GradeScale AdGradeScale

    Lead Source Categories Cmc.Nexus.Models.Admissions.LeadCategory AmLeadCat

    Lead Sources Cmc.Nexus.Models.Admissions.LeadSource AmLeadSrc

    Lead Types Cmc.Nexus.Models.Admissions.LeadType AmLeadType

    Marital Statuses Cmc.Nexus.Models.Common.MaritalStatus AmMarital

  • Workflow 2.4 84 User Guide

    Reference Item Type Entity Database Table

    Modules Cmc.Nexus.Models.Common.Module SyModule

    Nationalities Cmc.Nexus.Models.Common.Nationality AmNationality

    Previous Education Codes Cmc.Nexus.Models.Admissions.PreviousEducation AmPrevEduc

    Programs Cmc.Nexus.Models.Academics.Program AdProgram

    SAP Statuses Cmc.Nexus.Models.Academics.SapStatus AdSapStatus

    School Start Dates Cmc.Nexus.Models.Academics.SchoolStartDate AdStartDate

    School Status Change Reasons Cmc.Nexus.Models.Academics.SchoolStatusChangeReason AdReason

    Service Types Categories Cmc.Nexus.Models.StudentServices.ServiceTypeCategory SsServiceCategory

    Shifts Cmc.Nexus.Models.Academics.Shift AdShift

    Sports Cmc.Nexus.Models.StudentServices.Sport SsSports

    Staff Cmc.Nexus.Models.Common.Staff SyStaff

    Staff Groups Cmc.Nexus.Models.Common.StaffGroup SyStaffGroup

    Subsidiary Account Types Cmc.Nexus.Models.StudentAccounts.SubsidiaryAccountType SaSubsidiary

    System School Statuses Cmc.Nexus.Models.Common.SystemSchoolStatus SyStatus

    Task Results Cmc.Nexus.Models.Crm.TaskResult CmEventResult

    Task Statuses Cmc.Nexus.Models.Crm.TaskStatus CmEventStatus

    Task Templates Cmc.Nexus.Models.Crm.TaskTemplate CmTemplate

    Task Types Cmc.Nexus.Models.Crm.TaskType CmEventType

    Transaction Codes Cmc.Nexus.Models.StudentAccounts.BillingTransactionCode SaBillCode


Recommended