Many Pies

Many Pies
Showing posts with label NetCommunity. Show all posts
Showing posts with label NetCommunity. Show all posts

Thursday, September 18, 2014

Online Express - third post

See part one and part two.

One improvement on BBNC

Although OnlineExpress does less than NetCommunity can, there is one thing that it can do that NetCommunity can't - it can send an email to an organisation! I think the reason that Blackbaud have never put this feature in, even though it sounds like a really simple thing to do, is because they were tackling the bigger question of "what does it mean for an organisation to be a NetCommunity user" rather than "send to this email address on an org record".

Suggestions

There's a suggestion site for BBOX: http://bboxcommunity.blackbaud.com/ and with fortnightly releases the pace of bug fixes and improvements should be quite high. One Blackbaud employee spotted my original bug post, looked at my donation form, and suggested a fix for a CSS problem that I had. That's good service!

Bugs

I've submitted five support cases because of bugs, all of which are hopefully fairly minor, but annoying. I've found a sixth but I couldn't find the exact steps to reproduce it, even though it was repeatable at the time. (Update: 24 Oct 2014 - one went away, and three were fixed with an update that arrived three days ago. That's about six weeks from reporting to fix, which isn't bad. Since I originally wrote this I've submitted two more.)

Tweaking with javascript

I've previously published code snippets on this blog for ways to get NetCommunity to do things that it can't out of the box. Mostly these are just modifying form fields. Here's how I've done it on BBOX.

You'll need the waitUntilExists jQuery extension. Then you use it to wait for the donation button to appear. Then you find the particular element you want to change. In this example, even though you can customise the form so it says posttown instead of city, the placeholder text still says city.

Update:modifying gift amounts or designation is now built into Online Express - they are called magic links and when you're designing a donation form on the "That's it" tab it has a button to give you information on what to do.

Wednesday, September 10, 2014

Blackbaud Online Express - email

Hard on the heels of my previous blog entry on Online Express, here are my first impressions of the email component.

One of the drawbacks of the NetCommunity email offering was the TinyMCE-based HTML editor. Like many HTML editors it's hard to get what you want without diving into the behind-the-scenes HTML view. To be fair, part of this is the broken nature of HTML email.

What Online Express does is offer you little flexibility, which is it's strength. There a limited number of layouts. You can put in images, text (including links), images and text, divider lines, donation links, and social buttons. That's it. However the images can be aligned left or right of the text, which was always the problem with the TinyMCE editor. There are some things that mean our new emails won't look exactly like our old emails, but I can live with those for the advantages it gives.

You can pull in lists from Raiser's Edge. You can have a signup form. You can see stats. That's pretty much it, and that's all I think I want.

So far, I'm pretty impressed.

Part three

Thursday, January 16, 2014

NetCommunity - fix acknowledgement page after donation

One of the retrograde steps (in my opinion) that was made to Blackbaud NetCommunity at one of the previous upgrades was to make it so that after someone had given they were kept on the same page, but that the donation part was replaced with some acknowledgement text. So before they gave it would look like this:
Please give!
Amount: ___
Name etc.

and then after

Please give!
Thanks for giving etc.

I thought this was impossible to fix with Javascript because I couldn't find a way to get a script to fire while the acknowledgement is displaying. However there is a workaround on the Knowledgebase. The workaround it gives only works if you have one text part on the page. However if you have more than one text part at the top of the page you can use a class to do this instead of an id so you have:
Then in the HTML for the custom acknowledgement put this:


Another problem with this change is that you can easily see Google analytics for after people have given, so if anyone has any tips, please share.

Friday, September 13, 2013

Blackbaud Online Express

Earlier this year I was given a demo of Blackbaud Online Express. I was told not to talk about it, which I dutifully did, apart from in oblique terms with close colleagues. However now it's been released in North America and in the UK and I'm looking forward to seeing it in action.

In a nutshell, it's similar to the email and online donation facilities offered by Blackbaud NetCommunity, but in hosted form only. (You can embed it into your own pages, so it's not like those online donations services where users have to leave your own site in order to donate.) As it is more focused by my calculations it should be cheaper. We have had NetCommunity for seven years now and we really only use the email and online donation facilities, so there's a lot in there that we're just not interested in. So Online Express looks like it might be just what we need.

I only really saw the email part of the demo and it looked similar to the functions offered by MailChimp (which I've written about previously when I compared MailChimp and NetCommunity) in that you could have templates for email so the person writing the email could only write in certain parts of the template, and not spoil the layout. I'm hoping to attend a webinar when they are available in the UK and I'll probably write more about that afterwards.

Update: 11 October 2013 - UK pricing information is now available and it looks very reasonable.

Tuesday, June 11, 2013

NetCommunity donation form based on URL variable

I put some code onto the Blackbus site in response to a question and I was recently asked about it. I realised that my code wasn't on my blog, so I'm putting it here now. What it does is pick something out of the URL for a NetCommunity page and using it, fill in the free text field on a donation form (and choose "other" from the fund dropdown). For instructions on how to get the parsequerystring code installed see my blog entry.

It's designed to use recipient instead of fundid in the URL. It also allows the amount to be set. You'll need to find out the unique id for the "Other" option in your dropdown and put it in the code.



If you want to use a simple form which then redirects to this page then set the post action for your form to be a PHP file which contains this line of code. It assumes you have form fields for pageid (this can be hidden), amount and receipient.

header('Location: https://secure.yoursite.com/NetCommunity/SSLPage.aspx?pid=' . $_POST['pageid'] . '&amount=' . urlencode($_POST['amount']).'&recipient=' . rawurlencode($_POST['recipient']));


Monday, March 18, 2013

MailChimp and Blackbaud NetCommunity - pros and cons

When we got the bill for sending out emails through Blackbaud NetCommunity I did the maths and worked out it cost us 35p for each email we sent. We pay a certain amount for up to a certain amount of emails in the year. Because we didn't use that much of the allowance, that's what the cost worked out at. So not that much cheaper than sending by post. If we'd sent up to the limit it would have cost us 7p per email. So cheaper, but not free.

So I did a comparison of MailChimp versus NetCommunity. If we went with MailChimp we'd use the Chimpegration plugin from Zeldman Development. Here's what I came up with.

Blackbaud NetCommunity

Pros

You can see who gives as a result of a clickthrough from an email.
No need to manually export lists.
You can run email campaigns (a feature we don't currently use).
You can share images with the main BBNC site (which we don't do much in practise).

Cons

Cost, as mentioned above.
Composing emails with the HTML editor is tricky and it's easy to lose formatting.

MailChimp

Pros

Cheap - $10/month for 500 subscribers (free option available too)
You can use a template language to restrict the places where people writing the emails can fill in text.
You can use a dropdown to pick up a predefined style.
Nice image upload/edit facility.
You can show archives on your site.

Cons

You need a manual step to import the email list.
If you don't have the Blackbaud email service then you will need to write some custom software to acknowledge donations by email.

In the end it was the last point that meant we stuck with Blackbaud NetCommunity, at least for another year.

Update: had I started to write something for gift acknowledgement I would soon have discovered that MailChimp's newsletters weren't suitable, as David Zeidman has already, though there is another possibility:





Update 2: We're thinking of going with Blackbaud Online Express when it can handle UK Direct Debits.

Update 3: Here's the first of my posts on Online Express.

Friday, November 25, 2011

Blackbaud NetCommunity redirect to previous page after login

After I put on the Blackbaud forums that I knew how to do this and the third person asked for details I thought I'd better tell you all.

The scenario to use this is if, say, you have a donation page and you want to offer the option of logging in. Once the user has logged in you want them to go back to the donation page, rather than the page they would normally go to after login.

First of all grab yourself the code from Stephen Morley to parse query strings (the bit after a ? in a URL). Create a document library on some sort of test page on your site and upload it.

Then create a formatted text and images part and put this in it:


Things to modify:

  • Your website domain
  • Set the id of the login page in the loginPageId variable at the top.
  • Put the id of that page in the loginHomePageId variable that you want them to go to when they log in through some other route (where you don't want them to go back to the previous page).
  • Put the id of the document you uploaded instead of "10" in this bit /NetCommunity/Document.Doc?id=10
  • Make sure that the function name runit3 is unique amongst all your javascript parts, otherwise change it.
Once you've done those modification you create a new page and put this part into it. Configure the login part to go to this new page after login.

You'll notice that I look for where the id of the previous page is 1. This is for a link we used to have at the top of every page on our site, but's no longer there. It had the srcid as 1 so we could track how many people clicked on that link in our analytics reports. I kept the code just in case.

Thursday, August 05, 2010

Blackbaud NetCommunity user group

I've just come back from a Blackbaud NetCommunity user group in their London office. They've had others in the past 2 days and this was the last of the current lot. We had a general presentation from Robert McAllen on interactive websites, and then some future features of NetCommunity 6.20. Some of the staff haven't had the presentation on that yet (I think it's tomorrow guys) so I won't spill the beans here - yet.

As it wasn't just a product presentation but a user group we got a chance to talk to each other I was able to hear about other people's experiences with implementing logins, as we've done recently.

It was quite useful to hear about future plans, and also just to chat to other users. There are more in Glasgow later this month if you're in that part of the world.

Tuesday, June 16, 2009

Validating Direct Debits with Blackbaud NetCommunity

There's a bug in NetCommunity 5.1 whereby it lets your donor specify a one-time Direct Debit payment, which when it is brought through to RE doesn't work properly as it isn't a Recurring Gift.

In addition, we don't want the donors to do recurring credit card gifts as the current version of RE - 7.85 - stores Credit Card info in the database. (An upcoming PCI compliant release won't do this.)

So I've written a bit of Javascript to check the frequency and payment type and give an error message. Unlike my previous script, it doesn't have a hardcoded prefix which is needed to find the ids of some of the page elements. Instead it looks at a variable which is part of the donation form to get the prefix. This may mean it won't work in other versions of NetCommunity.

<!--//--><![cdata[//><!--
function xyzCheckDD()
{
var xyzPrefix = '';
var ErrorText = 'Please use \"One time\" frequency with credit cards, 1st or 15th with Direct Debits';
try{
//We look at one of the variables that's defined to find out the prefix for this page. If they go into four digits
// e.g. PC1001_ then this will need to change.
xyzPrefix = Page_Validators[0].controltovalidate.substring(0,6);

//Check frequency and Payment option. It doesn't have a unique id, so we find the checkbox, go up to the parent

bRecur = document.getElementById(xyzPrefix + 'Recurrence1_ddlFrequency').selectedIndex != "0";
bDD = document.getElementById(xyzPrefix + 'DonationCapture1_rdoPaymentOption_1').checked;
//This does an XOR - true if they are different
if( bRecur ? !bDD : bDD ) {
alert(ErrorText);
}
}catch(e){
// Put some debug here if required
}
}
function runit2(){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(xyzCheckDD);
}
runit2();
//--><!]]>

Wednesday, February 11, 2009

Overview of NetCommunity email

I couldn't find something as concise as this in the Blackbaud documentation, so I've written it myself.

There are four types of emails from BBNC:
  • Acknowledgements - these get sent when the user does something, like give a gift, or register as a user.
  • "Messages" - these are emails sent on an ad hoc basis to a list of people. The list can be based on emails in RE, or from an imported list, or all people registered on BBNC. (At the moment the only people registered are those who are using the BBNC backend.) When people get these and click on the "email preferences" link they get the option to opt in and out of newsletters (see below) or out of all communications, so these shouldn't be used for anything regular, instead...
  • Newsletters - these are designed to be sent regularly. People opt in to get these specifically on the website. They can also opt out.
  • Campaigns - these are a series of appeals, each of which consists of a message sent to a number of lists. It allows A/B testing, test messages before the real thing goes, and other marketing goodies.

Behind the scenes there are also templates

A template does as you'd expect, lets you define the general look of your emails, whilst changing the content for each message that goes out.

The template can be based on a given list, or if you select "constituent" for who the template goes to, you can specify the list of people it is sent to when you create the message based on the template.

How emails are handled in Blackbaud NetCommunity

I have done some investigation as regards how emails are handled for non-logged-in users in Blackbaud NetCommunity (BBNC).

Whether the email address comes from RE originally or some other method (imported list, filled in form on website), the emails are stored in the BBNC database. I have worked out how some of the tables fit together if you want to know more.

When someone gets a "message" (I put it in quotes because that's a technical term used by the BBNC user interface) or a newsletter with a link to an email preferences page (i.e. it contains an email preferences part) then BBNC knows who you are by the URL.
For example, here's the URL
example.com / NetCommunity/Page.aspx?pid=196&srcid=132&srctid=1&erid=117
196 is the page id, as used all over the place.
132 is the id of the message (one message for multiple recipients)
117 is the id of the receipient, i.e. the unique number in the database associated with the recipient's email address

That page has a list of our newsletters, a checkbox saying "Check this box to indicate that you do not wish to receive future email communications from us" and a box to fill in your email address.
If the person is subscribed to newsletters then they are ticked. I don't know why it asks you for your email even though it knows your address from the id in the URL.

Looking at the database things change when the newsletter subscriptions are ticked and unticked. If a user has been sent an email because they are a constituent then the "no more email" tickbox I mention results in a profile change through the RE plugin, and when you process it, ticks the "requests no email" box on their constituent record.

If you email to someone who isn't a constituent, and they unsubscribe from all mailings then it stores this information in the database.

Sometimes, and I haven't worked out when, the user email preferences page doesn't have a newsletter list, but just the checkbox and email address box.

If you have problems with people unsubscribing there are a couple of knowledge base articles, BB470402, BB432116, but they just say "create a case". With all these email addresses flying around I'm not surprised things can get messy, particularly if you have the same email address in BBNC multiple times.

Monday, January 26, 2009

Using Javascript to modify text on a NetCommunity donation part

(Long heading, but informative for the very few that need to know.)

Update: Later versions of NetCommunity allow you to edit almost all of the text on a donation form so this isn't needed.
There's a better way of getting that magic page prefix in my more recent NetCommunity javascript post.
Later versions of NetCommunity include jquery libraries on the page, so you can use those. They are neater and provide better cross browser support. As this script isn't in current use I'm not rewriting it. However you can replace
 document.getElementById(xyzPrefix + 'something').textContent = GADText;
with
 $('#'+xyzPrefix + 'something').val(GADText);

Assisted by information from Michael Williams and Micah Wittman I have written a bit of Javascript to modify the gift aid declaration text on a Donation part. We need to do this because people can donate directly to some of our workers, and if they are a close relative as defined by the HMRC, this cannot be gift aided. "Close relative" means children, grandchildren, parents, grandparents, siblings or the spouses of these.

Here's the page:
Give to support Bible Translation

Here's the script:

<script type="text/javascript">                        
<!--//--><![cdata[//><!--
function xyzModifyGAD()
{
    var xyzPrefix = '';
    var xyzPrefix1 = 'PC909_'; //prefix of donation fields on the PRIMARY donation form
    var xyzPrefix2 = 'PC1052_';  //prefix of donation fields on SOME OTHER donation form
    var GADText = 'I would like Wycliffe UK to reclaim tax on all donations I have made for this tax year and the six years prior to the year of this declaration, (but no earlier than 6/4/2000) and all donations I make from the date of this declaration until I notify you otherwise, as Gift Aid donations. (Under Gift Aid regulations you are not allowed to give a gift, via a charity, to a close relative. "Close relative" means children, grandchildren, parents, grandparents, siblings or the spouses of any of these.)';
    try{
        //Assume PRIMARY donation form
        xyzPrefix = xyzPrefix1;
        //Set Gift Aid declaration text. It doesn't have a unique id, so we find the checkbox, go up to the parent
        // and then go to the second (0 based) of the children. This will break if Blackbaud change the donation part

        //For Firefox, Safari etc.
        document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].textContent = GADText;
        //For IE
        document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].innerText = GADText;
    }catch(e){
        //Caught exception, so assume secondary donation form (doesn't currently exist)
        try{
            xyzPrefix = xyzPrefix2;
            //For Firefox, Safari etc.
            document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].textContent = GADText;
            //For IE
            document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].innerText = GADText;
        }catch(e){}
    }
}

function runit(){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(xyzModifyGAD);
}
runit();
//--><!]]>
</script>


Highlights:
  • This script lives in a Formatted Text and Images part below the donation form.
  • The function at the bottom is used because javascript outside a function sometimes doesn't run. 
  • It registers our update function so that it gets called when the "add to cart" button is clicked.
  • As the comment says, we can't get directly to the text we want, so we find a nearby checkbox and go up and down again in the DOM.
In the course of doing this I developed a
Checklist for debugging Javascript in NetCommunity
  • Use validator.w3.org to check for basic mistakes, though NetCommunity generates lots of its own invalid HTML.
  • Display IE to check for script errors (icon at bottom left indicates invalid script)
  • In firebug, if line number isn't green then it's not valid Javascript.


Script processed by Quick Escape.

Wednesday, January 21, 2009

Blackbaud NetCommunity and creating new subsites

We have two main websites, one, wycliffe.org.uk bears the name of our organisation, and the other vision2025.org, our main campaign. We set up our NetCommunity donation pages with the branding from our vision2025.org site and got a Blackbaud web designer to reproduce the way that site looked in NetCommunity.

We've now created a donations page using the look of our wycliffe.org.uk site. A colleague of mine did most of the work, and because in NetCommunity you can use HTML in the layouts, template, pages and parts, it was mostly a matter of cutting and pasting the HTML. However I did find some snags as I tried to make pages on the two sites look identical. NetCommunity adds some extra HTML to the stuff you create so that it can implement its features, and some of those use tables, hence my previous post on CSS styles in tables. I managed to get the two looking pretty identical, apart from a bit of background colour showing when you first go to the donations page. There are still a couple of differences:
  • Site search doesn't work from NetCommunity, using our existing script. It has its own search facility, but that will only search the Net Community server.
  • The donations "part" is quite wide, so I had to spread into the third (right hand) column to fit it in.
  • The favicon for the pages that look like wycliffe.org.uk is the same as the vision2025.org ones, but I think I can fix that. Update: Because you don't have access to the <head> part of the HTML you can't specify that. However I did find that BBNC automatically puts in references to images/favicon.ico. Some browsers, like Chrome, don't fall back to the sitewide facicon.ico if that isn't there, so to make your icon appear on those browsers, copy your favicon.ico file to the directory \program files\NetCommunity\images.


Spot the difference

Tuesday, January 13, 2009

Large fonts on NetCommunity pages

If you have created a Blackbaud NetCommunity page which for some strange reason is displaying large fonts, even though you have a stylesheet in place which should set the font size, it could be because your template doesn't have DOCTYPE set to XHTML 1.0 Transitional.

And the reason why? No DOCTYPE puts your browser into "quirks" mode which means that fonts inside tables don't inherit font size.

Update: I had a similar problem with styles not working, in this case the colour being ignored. After a while I tracked down the "problem" to the fact that I had 
<font color=#0000ff>
before the text. Doh!

Thursday, December 11, 2008

New NetCommunity donation pages

We have moved our main donation pages over to NetCommunity. They are all linked from our donate to a project page. The Blackbaud web designer did a good job of reproducing the layout from our site and it was fairly straightforward to create more pages with the different branding for the different campaigns on our site.

Now we've replaced existing pages, it's time to do some new stuff...

Friday, October 17, 2008

All my own work

I have wrestled with Blackbaud NetCommunity and produced my first organisational website. Previously I have just tweaked other people's work. So here it is:

givejesuswords.org

The donations facility needs some intensive testing with real credit card data :-)

Update: Well not really all my own work. I didn't do the graphics, or the design, or write the words, I just implemented it. And one of my colleagues tweaked it a bit. But apart from that...

Wednesday, October 15, 2008

NetCommunity gift aid label

Little tip: if the Gift Aid label on your donation form is too low, then define the custom style vaTop in your stylesheet:

.vaTop
{
vertical-align: top;
}

Then it will go up to where you want it.