Announcement

As of April 17, 2018, this site is now in read-only mode. To start new Blackbaud Developer’s discussions, you will find Developer Discussions in the Blackbaud CRM Community.

To post or respond to Blackbaud Community discussions, you will have to login using a www.blackbaud.com login. Learn how to login here. If you have questions or need assistance, please email community@blackbaud.com.

About Joseph Styons

I work for Wake Forest University, where I build customizations to Blackbaud CRM, Data Warehouse, and our online alumni portal. Prior to that, I worked for 4.5 years as a consultant with Blackbaud Professional Services, and even before that I worked for Nucor Steel, where I used Delphi to write client-server Win32 apps that ran on an Oracle back-end. I enjoy coding, camping, hiking, and climbing.

Environment variables in project files

By: Joseph Styons

Posted on: July 30, 2012

I recently reinstalled my SDK, and also installed two versions of the SDK side-by-side. This broke the build on some of my local projects, since they were pointing to a DLLReferences folder that no longer existed. To fix the issue, and avoid it in the future, I did something that should have occurred to me a long time ago. I created two environment variables: INFINITY_291 with a value of D:\infinity\291 and INFINITY_293 with a value of D:\infinity\293 To add an environment variable in Windows 7, follow these steps: 1 – Control Panel->System 2 – On the left hand side, click on “Advanced syst... Read More

BBIS Error Resolution: Access denied to RE7Service – invalid username or password

By: Joseph Styons

Posted on: June 5, 2012

Have you seen this error before?   You’re not the only one. It has an easy resolution.   "The username/password pairs in this file:      \bbappfx\vroot\bbncsvc\web.config Should be made to match these two entries in the SETTING table:      RE7ServiceUser RE7ServicePassword Here is an example script to reset those values to ShelbyPortal/admin: delete setting where name in('RE7ServiceUser','RE7ServicePassword'); insert into setting(id,name,value) values (7,'RE7ServiceUser',EncryptByKey(Key_GUID('sym_BBInfinity'),convert(nvarchar(1000),'ShelbyPortal'))); insert into setting(id,name,valu... Read More
Categories: ,

Custom Merge Fields – The Basics

By: Joseph Styons

Posted on: June 5, 2012

Editor's note: The code formatting for this example was mangled during our conversion to WordPress. An update will be posted soon. In the meantime, please refer to the attached project. If you’ve worked with BBIS for long, then you’ve come across the HTML editor control. It’s a handy little item, with a particularly interesting feature – the Merge Field box.   Merge fields are for making custom messages.  You can write out Dear <First Name>, Thank you for your interest in <Our thing>. Lots of merge fields are provided out of the box.  But did you know that you can customize wh... Read More
Categories: ,

Query Based Roles in BBIS

By: Joseph Styons

Posted on: May 16, 2012

In our last episode of “BBIS: The Good, The Bad, and The Ugly”, we talked about Query Based Roles, and how to use them from the front-end. You should go read that post if you have any interest in the subject. If you don’t have any interest in it, then close this tab, because it’s all downhill from here.   The BBIS API supports manipulation of users and their roles at runtime. It’s pretty easy to do- the easiest way to show you is just with some code samples.   First, we’ll try refreshing the Query-Based role of a user from code. 'Identify a BBIS user by their CLIENTUSERS.ID 'SELECT I... Read More
Categories: ,
Tags: |

Query Based Roles in BBIS – the Front End

By: Joseph Styons

Posted on: May 4, 2012

BBIS has a concept of Roles, which are used for securing the content on a site. For example, you might create a role of “University Employees” and give them access to restricted pages that are intended for internal viewing only.   Users can be manually assigned to roles, which is simple enough.  But a more interesting feature is the Query Based Role. A Query Based Role is just what it sounds like – a role that contains users who are returned by a CRM query.   In this post, I’m going to talk about setting up and using a query based role from the front end. In my next post, I’ll talk a... Read More

How to create and link BBIS users with CRM constituents using the front-end

By: Joseph Styons

Posted on: May 4, 2012

I’ve talked about how to link BBIS users with CRM constituents programmatically before. But doing it from the front end is important too, and it can be a little tricky to get just right. Here are the steps you need to follow to create a new BBIS user, and link them to a CRM constituent, using only the front-end. 1 – Create a new page.  Call it “User Registration Page”. 2 – Drop a new “User Login” part on the page. 3 – At a minimum, fill in the required fields for the two emails and the navigation links. 4 – Save the part, and click “View Page”.  Copy the URL of your page 5 – Paste the URL back... Read More

Post-Build Events, Part Two

By: Joseph Styons

Posted on: April 17, 2012

In my last post, I talked about the basics of using a postbuild script to shorten your debug cycle. I wanted to elaborate on that post with some batch file advice and tricks. I’m not a batch or command line expert; these are just things that I’ve accumulated over time, which may be useful to others. If any of the four people reading this blog know of a better way to approach these problems, I’d love to hear it in the comments section.   1 – The use of variables in batch files Batch files have support for variable names.  This can really help you generalize a batch file and make it more ma... Read More

Post-Build Events, Part One

By: Joseph Styons

Posted on: April 10, 2012

Today I want to talk about the time you spend in your debug cycle. Simply put, developers spend a lot of time repeating the same cycle.   As the linked Brian Armstrong blog entry puts it, a debug cycle is doing this: 1 – Try something 2 – See if it works 3 – Repeat   The Infinity Platform is really an amazing thing to work with, and I have tremendous respect for the many engineers who have made it the performant, highly extensible system it is today. Having said that, one of the more frustrating aspects of working in BBCRM can be the duration of the debug cycle. Imagine this scenario... Read More

How to: Create Unsubscribe and Privacy pages in BBIS

By: Joseph Styons

Posted on: March 1, 2012

If you’ve ever tried to create a new email template in BBIS, you may have seen this error: That red message says: The following error(s) must be corrected before continuing: The email message requires a link to the web page that displays your privacy policy. To add a link, click the "Insert link" button in the toolbar and select a page. The email message requires a link to the web page where users select whether to receive email messages. To add a link, click the "Insert link" button in the toolbar and select a page. Federal law requires that all commercial email have an “Unsubscribe” and “Pri... Read More

How to use a CRM SearchList from inside BBIS

By: Joseph Styons

Posted on: February 29, 2012

You can call a searchlist and render the results pretty easily in BBIS through a combination of code generation and web service calls. Here’s how it works:   A - Use the BBMetalWeb tool to generate code for two things: 1 - Your searchlist 2  - The view form that renders results associated with that searchlist A guide to using BBMetalWeb is in your sdk\documentation folder in a document called “BBMetalWeb.docx”. I’ve also attached another guide that you may find helpful.   B – Access those features from BBIS Once you’ve included the codegen files in your BBIS project, you are ready to... Read More

Privacy Policy | Sitemap | © 2011 Blackbaud, Inc. All Rights Reserved

Digital Ocean