workflow 2.4 userguide - campus management corp. · workflow 2.4 userguide october2017...
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