Working with Business Object Designer
The Business Object Designer (BOD) is an administrator-level tool for viewing, editing, and creating business objects especially for iMIS. It provides a graphical user interface to the properties related to business objects.
Warning! Do not share a login while using the Business Object Designer. Using the same login to concurrently access and edit business objects can cause business objects to be overwritten, properties to be incorrectly modified, and will corrupt your business objects.
Do the following to explore Business Object Designer:
- From the Staff site, go to RiSE > Business Object Designer.
- Select a business object in the list, such as Campaign.
- Click Edit.
- Explore the Definition, Properties and Database tabs.
Note: You cannot edit a locked Business Object. You must save a copy of a locked Business Object and make edits to the saved copy.
Cs Business Objects (CsContactBasic, CsActivity, and so forth) are objects related to the areas of iMIS you are most familiar with. For example, CsContactBasic is an object that combines data from the Name and Name_Fin tables into a single, simple-to-query object in a location that is easy to find. Cs Business Objects are based on legacy iMIS tables.
Cs Business Objects are used in many instances. For example, if IQA is the only application running in your organization, you will use the CsObjects.
In addition, any tables built through the iMIS Customizer features will appear in the list of business objects as “CsName_” + TableName.
Commonly queried CsObjects include but are not limited to the following | ||
---|---|---|
CsActivity | CsDuesHisotry | CsOrderLines |
CsAddress | CsEvent | CsOrders |
CsCalls | CsEventHistory | CsPledges |
CsCommittee | CsFunction | CsProduct |
CsContactBasic | CsGeneralLookupTables | CsRegistration |
CsDonations | CsInventory | CsRelationship |
CsDonationsDetail | CsMemberType | CsStaffUser |
CsDonorData | CsOrderHistory | CsSubscriptions |
There are two versions of the Contact business object: CsContactBasic and NetContact.
- Organizations that use business objects with IQA only can reliably use CsContactBasic.
- Organizations that are licensed for any component of iMIS Marketing or Process Manager should use NetContact. NetContact is a required object within those modules.
Many objects within the list of business objects control how different business rules, most importantly security rules, are managed within the database. These business objects are system objects and should not be modified.
These objects include but are not limited to the following | ||
---|---|---|
AccessArea |
Group Note: There are many different objects with names beginning with Group. |
User |
AccessItem | Role | UserRole |
AccessMain | UniformRegistry | UserToken |
In addition to the objects listed previously, other objects used specifically for iMIS features are listed in the Business Object folder.
- OpportunityMember
- OpportunitySales
- OpportunityDonor
- OppMemberContact
- OppSalesContact
- OppDonorContact
- Opportunity
- OpportunityHistory
- OpportunityReport
- OpportunityCompetitor
- OpportunityType
- ActionPlan
- Appeal
- AppealParticipation
- AppealProduct
- Campaign
- CampaignParticipation
- CampaignTypeRef
- Solicitation
- SolicitationStatusRef
- SourceCode
- SourceCodeStatusRef
- Package
- PackageItem
- PackageStatusRef
- Supplement
- SegmentationDef
- SegmentationJob
- SourceList
- ListElement
- RFM Analysis
- Document
- DocumentStorage
- Hierarchy (DocumentHierarchy, NavigationHierarchy, TagHierarchy)
- Perspective
- ContentChangeRequest
- ContentWorkflow
- NavigationPane
- NavigationWorkflow
- PublishMessageLog
- PublishPriority
- PublishRequest
- PublishRequestDetail
- PublishRequestStatus
- PublishServer
- TagRelationship
- TagRelationshipType
- UniformTag
- URLMapping
- UserDefinedField
- WebPartGalleryEntry
When iMIS is first installed or upgraded, any user-defined tables that are seen within the Membership area of iMIS are automatically built into business objects which can be queried.
Over time, it is often necessary to add new fields to Membership tabs and include those queries in IQA queries. This requires an additional step to complete the field addition after you have finished building the table and tab. Do the following to generate objects from user-defined tables:
- From the Staff site, go to Settings > Utilities > User defined tables.
- Click Build All.
- When complete, the User Defined Tables window will list the objects and status of the build of all customer tabs.
Note: When the business objects are built they will be named using the following logic: “CsName_”+ Table Name from Customizer.
Note: You must have system-level administrator privileges to perform the tasks discussed in this section. Having administrator privileges for a given module is not sufficient authority to change business objects.
Business objects are central to creating IQA queries, generating reports, and running processes. You can view the list of available business objects by navigating from the Staff site to RiSE > Business Object Designer.
Business objects are user-friendly abstractions and collections of data from the iMIS tables. These abstractions enable you to write powerful queries and reports safely, without needing to be familiar with the iMIS database schema.
In most cases, the business object name and the names of its various properties are suggestive enough to guide experimentation. At times, however, it can be useful to trace the properties of a business object to their underlying table columns. Do the following to trace business object properties to their underlying table data.
- From the Staff site, go to RiSE > Business Object Designer.
- Double-click the business object that you want to examine.
- (Properties tab) Select the property that you want to trace.
- (Definition tab) The Database Table and Database Column fields specify the table and column from which the property derives its data.
- (Database tab) It can also be useful to examine the table joins used in a business object that comprises multiple tables. Examine the Joins field.
Note: All joins in a business object are inner joins.
To build a new business object you should build a new SQL table or view (or identify an existing one to use), customize the properties for the new business object, then build and publish the new business object.
Note: If no table exists for this business object, open SQL Server and create it, granting appropriate permissions.
- From the Staff site, go to RiSE > Business Object Designer.
- Select New > Design Business Definition.
- (Definition tab) Enter the business object's information.
- Click Create Object.
- Add properties to the business object, saving after you edit each tab:
- (Database tab) Add the Tables that contain the columns you want to use in your business object. In the Available Columns list, select which columns to use.
- Click Add as Properties or Add All as Properties.
- Select Save.
- (Properties tab) Select properties from the list to define the property's characteristics. To create a lookup, select the field you want to edit.
- (Properties tab > Value tab) Define any lookups you need.
- Edit these values as needed.
- Click Save.
- Build and publish the new business object:
- Select the object.
- Click Edit.
- Click Publish.
Note: When creating a new Business Object, ensure you add the new Business Object in the Design Business Object Definition folder only. Do not create subfolders in the Design Business Object Definition folder.
Note: If an error occurs when publishing the business object, check the Database tab and ensure that appropriate Joins are defined if more than one table is listed in the Tables list.
If you have a damaged business object, you can fix it by reverting to a prior version. Access the version history using the Versions command.
Note: After you revert, you still see the damaged version in the list. No versions are destroyed through this process. Reverting to an earlier version copies the business object. You get a new version that matches the definition of the object version you selected.
- From the Staff site, go to RiSE > Business Object Designer.
- Select the damaged business object.
- Click Versions to access to all prior versions of the object, if any.
- Select an earlier version you know to be undamaged.
- Click Revert.
- Click OK at the following prompt to publish the selected earlier version: Are you sure you want to make this version the current working version?
- Click Close.
- Edit the new working version's properties, if desired:
- To simply revert the object to its prior state, do not make any edits.
- To create a modified version based on a prior state, make appropriate edits.
- Click Publish to publish the object.
Note: The selected version becomes the current working version. The object is not reverted until it is published.
A property’s display determines what your users see in iMIS. The property’s display value is used by default on windows and outputs, but you can design queries to override these defaults.
- From the Staff site, go to RiSE > Business Object Designer.
- Select an object from the list.
- Click Edit.
- (Properties tab) Select the property to be changed.
- (Properties tab > Display tab) Change the value of Prompt for Field.
- Click Save, and then Publish. Any messages should state that there are no errors.
- Click Close.
- Test your changes. Write a query against the object and select the updated property on the Display tab.
Adding value lists to properties can make querying and data entry easier for end users. Value lists define the values that can be stored or selected for a property. There are three ways of adding value lists to properties:
Use IQA to query the values from an object within the database, for example, General Look Up tables
- (optional) Build the lookup table that you want to use to manage the value in SQL Server.
- Build the query that will define the lookup table. Be sure that the (Display tab) displays the code value as well as the expanded description.
- Save the query in the Document system in Common > Queries > Value Lists.
- From the Staff site, go to RiSE > Business Object Designer.
- Select an object from the list.
- Click Edit.
- (Properties tab) Select the property that needs values.
- (Properties tab > Values tab) Select the Query Object radio button.
- Browse for and select the query you saved.
- Define the Data Value to match the code that exists in the data.
- Define the Display Value to match the expanded description that describes the Data Value.
- Click Save, and then Publish. Any messages should state that there are no errors.
- Test your changes. Write a query against the object. Select the property on the (Filters tab), and confirm that it now includes a Value list.
Manually add the codes and expansions to the property within the business object. The Business Object Designer allows for value displays to be built directly within the object itself.
- From the Staff site, go to RiSE > Business Object Designer.
- Select an object from the list.
- Click Edit.
- (Properties tab) Select the property that needs values.
- (Properties tab > Values tab) Select the Value List radio button.
- Build your value list by entering the Code into the Data Value property column, and the Expanded Description for the Code into the Display Value column.
- Click Save, and then Publish. Any messages should state that there are no errors.
- Click Close.
- Test your changes. Write a query against the object. Select the property on the Filters tab, and confirm that it now includes a Value list.
Note: The Data Value can match the Display Value as long as the Code Value is no longer than the Data Type allows. Spaces can be used as well.
In many ways, using IQA to manage value lists is the most flexible and user-friendly way to manage a lookup. Values can be added to look up tables and to the modules within iMIS. Interfaces can be modified by adding values to a table that otherwise would not be available to users. These interfaces can be accessed by users who do not have the SysAdmin role access in iMIS. Value lists that are managed within the business object can only be managed through the Business Object Designer.
You can add new properties to your objects that are based on a table or view in your iMIS database.
- From the Staff site, go to RiSE > Business Object Designer.
- Select an object from the list.
- Click Edit.
- (Database tab) Select the property from the Available Columns that you want to add to the object.
- Click Add as Properties or Add All Properties to move the property from Available Columns to Used Columns.
- Click Save, and then Publish. Any messages should state that there are no errors.
- Test your changes by writing a query against the object. Add the new property on the Display tab.
Note: Any properties you add to the business object will display at the end of the list of properties displayed in the (Filters) and (Display) tabs in IQA.