Ask A Developer Question Roundup 4897

Ask A Developer Question Roundup

Published

 

At this year’s Blackbaud CRM Developers’ Conference, we had a session where attendees could ask us questions about CRM. We received questions on many similar topics and wanted to post some highlights here. We hope these answers will be of use to you!

 

I’d like to add options to the Designation Search. What files do I change to customize it?

Instead of altering an out-of-the-box (OOB) search list, we recommend you create your own version. Changes you make to Blackbaud features may get overwritten in a future service pack. Customizations will be preserved. For information on how to author a search list, visit our Development GuideOnce you’ve created and uploaded your custom search list, you can use the search list replacement to replace the OOB search list with yours. You can access the feature by going to Administration -> Data -> Search list configuration and choosing “Manage search list replacements”. Head over to the Administration Guide for detailed instructions on how to configure your search lists.

Every time I make changes to pages in design mode, I need to update our other instances with those changes. Is there an easier way than making those changes by hand in each system?

There are two good ways to transfer changes between systems. The first is to take a database backup and restore it onto the target system. While this works well when moving from a production environment to a development/test environment, the reverse is not true. In those circumstances, you can download the updated XML for the page spec and load it into the target system. After making the updates to your page in design mode, click “View XML”. One the XML loads, choose “Download XML” in the upper right. You now have an updated copy of the page that you can load spec into your other systems.

 

I like the capabilities of choosing my own expressions in page designer. What syntax does it use?

We use a VB.NET syntax for the operations in page designer. You can use Boolean operations (AndAlso/OrElse) and string operations to customize visibility, headers, and more!
You can read more about this in the Pages section of our Development Guide and in our Page Designer user guide.

 

I want to enhance my Data List-driven UIWidgets with links that can take users to relevant pages in CRM. How can I do that?

Our UIWidget spec type provides several ways to add links to it, allowing quick and easy navigation throughout CRM. We've added a code sample that demonstrates two ways to add links: on the list itself, and a "more" link in the lower right corner of the widget. Both links can be easily added right on the UIWidget spec! We encourage you to check out the code sample for more information, as it contains a simple example of how to construct the required meta data.

 

I want to run an SSIS package from CRM. How can I do that?

SQL Server provides libraries that allow .NET code to access SSIS packages. These libraries can be used in CRM business processes and CLR actions to execute or get information about packages installed on a SQL Server instance.
A few DLL references must be added to your project in Visual Studio in order to call packages. This Microsoft docs page describes what references are needed and where to get them. You might also need SQL Server Data Tools depending on your Visual Studio setup. The following references were added for the sample code in this post:
  • Microsoft.SqlServer.ConnectionInfo
  • Microsoft.SqlServer.Management.IntegraionServices
  • Microsoft.SqlServer.Management.Sdk.Sfc
  • Microsoft.SqlServer.Smo
The C# code sample below illustrates how to call a package from a business process. Note the using statements referencing Microsoft.SqlServer.Management.IntegrationServices and  System.Data.SqlClient. We also need to import System.Collections.ObjectModel for package parameters.

Leave a Comment

2 Comments
Hey Sonia! This is the BBCRM/BBIS blog. The eTap blog is here: https://community.blackbaud.com/blogs/35
Sonia Ryan Sonia Ryan Aug '18
Hi!  I'm never sure on these if they apply to eTap.  

Share: