<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ak4NQHYyeSp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194</id><updated>2011-11-27T19:09:51.891-05:00</updated><category term="toolkit" /><category term="mobile" /><category term="Infinity" /><category term="url" /><category term="re" /><category term="blackbus" /><category term="bbnc mashups map alumni google" /><category term="challenge" /><category term="blackbaud idea bank" /><category term="5.5" /><category term="geo-code" /><category term="development" /><category term="GhostDoc" /><category term="NetCommunity" /><category term="AJAX" /><category term="new" /><category term="last post" /><category term="open source" /><category term="conference" /><category term="re7service" /><category term="Clemson" /><category term="innovative" /><category term="upgrade" /><category term="Michael Sola" /><category term="User" /><category term="FaceBook" /><category term="trends" /><category term="test" /><category term="maclaughlin" /><category term="5.6" /><category term="steve maclaughlin" /><category term="social networking" /><category term="cast" /><category term="resources" /><category term="recaptcha" /><category term="searching" /><category term="link" /><category term="open" /><category term="screen cast" /><category term="developer challenge" /><category term="SHOP" /><category term="web cast" /><category term="developer" /><category term="group" /><category term="Jquery" /><category term="EVENTS" /><category term="wave" /><category term="usnaconnect" /><category term="naval academy" /><category term="2008" /><category term="screen" /><category term="non-profit" /><category term="google analytics" /><category term="CBF" /><category term="searchme.com" /><category term="platform" /><category term="CRM" /><category term="perspective" /><category term="giving" /><category term="customize" /><category term="kintera" /><category term="custom parts" /><category term="enviroment" /><category term="API" /><category term="BBNC" /><category term="Open Platform" /><category term="page" /><category term="SDK" /><category term="user networking manager" /><category term="Enterprise" /><category term="developer contest" /><category term="iPhone" /><category term="custom" /><category term="blogger" /><category term="Blackbaud User Society" /><category term="Ma" /><category term="emulator" /><category term="Labs" /><category term="v5.5" /><category term="twitter" /><category term="baudcast" /><category term="microsoft" /><category term="server" /><category term="custom server control" /><category term="char norman" /><category term="Wiki" /><category term="Blackbaud" /><category term="Chesapeake Bay foundation" /><title>customizing NetCommunity™</title><subtitle type="html">A blog about customizing Blackbaud NetCommunity™. Its purpose is to complement the work being done by Blackbaud as they continue to build the developer's network for NetCommunity.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.customizingnetcommunity.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/customizingnetcommunity/eDVC" /><feedburner:info uri="customizingnetcommunity/edvc" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUIDR38_fSp7ImA9WhZXF08.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-5966612730952369941</id><published>2011-05-06T20:19:00.000-04:00</published><updated>2011-05-06T20:19:36.145-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-06T20:19:36.145-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="last post" /><title>customizing NetCommunity, last post from me.</title><content type="html">Well this is going to be my last post on customizing NetCommunity. I have taken a new job outside the non-profit space so I won't be working with Blackbaud or NetCommunity after next week.&lt;br /&gt;
&lt;br /&gt;
I hope others have found this blog as useful to read as it's been for me to write. I'm going to continue to keep it online for the&amp;nbsp;foreseeable&amp;nbsp;future so others can continue to use it as a resource.&lt;br /&gt;
&lt;br /&gt;
I know I have enjoyed working with many of you, both in and outside of Blackbaud, over the last 5 years. It's been a rewarding experience and one I'm not going to forget. I hope all of you will keep in touch.&lt;br /&gt;
&lt;br /&gt;
If anyone wants to be a&amp;nbsp;contributor&amp;nbsp;just drop me a line and I'll set you up with access.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-5966612730952369941?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rizk4AD9shja9bc9c5NA1Ht6pXA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rizk4AD9shja9bc9c5NA1Ht6pXA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rizk4AD9shja9bc9c5NA1Ht6pXA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rizk4AD9shja9bc9c5NA1Ht6pXA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/celTzGpRjCM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/5966612730952369941/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=5966612730952369941&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5966612730952369941?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5966612730952369941?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/celTzGpRjCM/customizing-netcommunity-last-post-from.html" title="customizing NetCommunity, last post from me." /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2011/05/customizing-netcommunity-last-post-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUINQ309fyp7ImA9WxBTE0w.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-970144338365241919</id><published>2009-12-08T19:02:00.004-05:00</published><updated>2009-12-08T19:13:12.367-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T19:13:12.367-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="Enterprise" /><category scheme="http://www.blogger.com/atom/ns#" term="CRM" /><category scheme="http://www.blogger.com/atom/ns#" term="Infinity" /><title>iPhone Support in Blackbaud Enterprise CRM</title><content type="html">Below is a short screen cast from Shaun showing off some of the new iPhone support that'll be in the Q1 release of the Blackbaud Enterprise CRM. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have to say that this, and the prospect of using BBEC &amp;amp; RE in the Cloud, is a great direction for Blackbaud to be moving in and I think it really outlines just how agile the Infinity platform really is. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, have a look!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://labs.blackbaud.com/netcommunity/media/bbmobileswf/bbmobilesm.html"&gt;Screen cast&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-970144338365241919?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-J_obX_raGYVaDbhJYDixCpAyQ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-J_obX_raGYVaDbhJYDixCpAyQ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-J_obX_raGYVaDbhJYDixCpAyQ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-J_obX_raGYVaDbhJYDixCpAyQ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/_7RI-xcp4Rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/970144338365241919/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=970144338365241919&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/970144338365241919?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/970144338365241919?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/_7RI-xcp4Rs/iphone-support-in-blackbaud-enterprise.html" title="iPhone Support in Blackbaud Enterprise CRM" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/12/iphone-support-in-blackbaud-enterprise.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ABSH8zfip7ImA9WxJaE0Q.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-4334071312453202822</id><published>2009-08-04T07:50:00.018-04:00</published><updated>2009-08-04T10:22:39.186-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-04T10:22:39.186-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="usnaconnect" /><category scheme="http://www.blogger.com/atom/ns#" term="social networking" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="user networking manager" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><title>Social Networking in NetCommunity</title><content type="html">&lt;span style="font-size:100%;"&gt;I know it's been a while since my last post. Things have just been very busy all around and I haven't been able to make time to blog.&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;Today I wanted to showcase one of our latest (and biggest) projects, the new Social Networking app, USNAConnect. We're making use of NetCommunity's User Networking Manager part here but we have customized many aspects of it. I need to give credit where credit is due, this was a massive project in development since December 08 and we have a lots of sharp folks here that have been part of it. Props to Kate, Nick &amp;amp; Larry for all their help.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;For those not familiar, the User Networking Manager part is a Social Networking app that leverages your NetCommunity database. It was released in v5.5. This part is a little different from many older NetCommunity parts because it was designed to allow developer's to integrate their custom parts very tightly with it. It's actually pretty hard to tell what is custom and what is out of the box unless you are familiar with the User Networking Manager part. Props to Blackbaud on this one, I really hope this ends up being the design model moving forward for other NetCommunity parts.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;Just a quick note about "private" or closed social networks. We're not trying to compete with Facebook. We want to leverage our database in a way Facebook just can't and offer functionality that is unique to our constituents. We're still on Facebook and at some point even envision a layer of integration between our two networks. So don't think we're expecting to grow to 300 million users in 4 years, but that would be nice. :D&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;So before I try to explain what exactly we're talking about here lets just have a look at the application.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/LZ122SQWqAVxZgupYG-ejA?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_41g2bjjphr_b" id="zgpm" style="width: 320px; height: 312.993px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;This is the page you see when you first enter USNAConnect right after logging into our website. One of the main requirements for this project was to design a page with the constituent in mind. It needed to be Web 2.0 and user centric.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Greeting&lt;/b&gt; - If you look at the top we have customized how we address each person based on their chosen preferences. We are a military organization so you can imagine that can add a layer of complexity to the whole bit about greeting. We give people the option to choose if they prefer to be greeted with their military or civilian titles and if they have chosen a nick name we also honor that. That greeting is completely custom to each user that logs in and they can change it at any time.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Information Box&lt;/b&gt; - At the top we display various messages that are targeted to the logged in user. These can range from information about a chapter event in your area to a link to your class reunion page. We allow you to hide that box for up to 30 days. This saves some real estate on the screen for your gadgets if you have already read all the messages. At any time you can show the box again if you want to. Each messages can be targeted using NetCommunity roles. We also pre-populate a few messages if your profile or other information is out of date and ask that you update it.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Gadgets&lt;/b&gt; - This custom part is modeled after iGoogle functionality. A gadget is actually it's own little custom part. This page is basically designed to consume both custom and non custom parts and display them to the user. Each of those gadgets can be dragged and dropped where you want them and the order is saved so when you return your gadgets are where you put them. As we make more gadgets available they can be added from the bottom section. If you are not interested in a gadget you can simply remove it. The goal here was really to allow users create their own landing page with the content they care about. Check out the video below to see that in action.&lt;/span&gt;&lt;/li&gt;&lt;ul style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Suggested Friends&lt;/b&gt; - This gadget uses some back-end SQL to determine other USNAConnect users that you might know. You can choose to "view/add" them or if you wish, "hide" them.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Your Membership Info&lt;/b&gt; - Displays your current membership information from The Raiser's Edge and it will prompt you to upgrade or renew if you are close to expiring.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Top pages&lt;/b&gt; - Shows the top pages on our website in the past 30 days.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Top New Articles&lt;/b&gt; - Displays the top news articles from our site in the last 30 days.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Interactive Tools&lt;/b&gt; - This is actaully a menu 2.0 part in NetCommunity and we're using some of the new API stuff in v5.5 that lets you pull the XML out and parse it up. Coolest part? It honors NetCommunity roles so it won't show you a link if you aren't in a role that can access it. That saved us a lot of development time. There is an open source example of this on &lt;a href="http://labs.blackbaud.com/NetCommunity/article?artid=597" style="color: rgb(85, 26, 139); "&gt;Labs&lt;/a&gt; if you want more information. This one just displays some links to a few apps that we really couldn't work into this page.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Your Friend Map&lt;/b&gt; - Shows a map of all your friends that can be geo-coded in our database. It honor's their privacy settings so if their address is private we don't display their location.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Your Events&lt;/b&gt; - Displays all of the upcoming events you have registered for with us and the most recent 5 other registrants that have also signed up for that event. Best part? You can subscribe to the feed of registrants with RSS so you can easily monitor the event as other people sign up. This is great for reunions.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Volunteer Leadership&lt;/b&gt; - This is another menu 2.0 part that shows a lot of the apps specific to our volunteer leadership folks. &lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;My Top Pages &lt;/b&gt;- Shows a list of the most recent pages that you have visited. This is great for folks that use one feature of our site a lot and if you recently found a page and need to locate it again.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;A&lt;/b&gt;&lt;b&gt;lumni Lookup Lite (Not Shown)&lt;/b&gt; - This feature is only open to Alumni. It allows you to do a quick search for any alum in our database by name and class year. This is one of the most popular activities on our site so we wanted to provide an easy way for our alumni to search from their USNAConnect landing page.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;My Class News (Not Show) &lt;/b&gt;- Here is another feature only open to our Alumni. Similar to Top News Articles but it's filtered on only news specific to the class year of the logged in user.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-bc15c39adabf6755" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="flashvars" value="flvurl=http://v21.nonxt2.googlevideo.com/videoplayback?id%3Dbc15c39adabf6755%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1331284014%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D54BBA3ED324230D17DF0A10ED59A06C2E130CA5F.416FB59A647E0DF4407085B77E56345E5E7CBB2C%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dbc15c39adabf6755%26offsetms%3D5000%26itag%3Dw160%26sigh%3DfDJLK4S2YAleBh5ZpNZl9Vf1NBs&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;
&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"
width="320" height="266" bgcolor="#FFFFFF"
flashvars="flvurl=http://v21.nonxt2.googlevideo.com/videoplayback?id%3Dbc15c39adabf6755%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1331284014%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D54BBA3ED324230D17DF0A10ED59A06C2E130CA5F.416FB59A647E0DF4407085B77E56345E5E7CBB2C%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dbc15c39adabf6755%26offsetms%3D5000%26itag%3Dw160%26sigh%3DfDJLK4S2YAleBh5ZpNZl9Vf1NBs&amp;autoplay=0&amp;ps=blogger"
allowFullScreen="true" /&gt;&lt;/object&gt;
&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;USNAConnect Drag and Drop Demo (&lt;a href="http://picasaweb.google.com/lh/photo/m-9z0CqGopmUYNfjQ65JLA?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;Full Video&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;One final point about these gadgets. The development time is low because most of the framework is built into USNAConnect the only thing I need to do is write a web service that returns an object with the information to display. This has made development cycles for the gadgets very agile.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;If you look across the top of the page above there are a few other tabs. These are all out of the box features in the User Networking Manager part with the exception of the last one, View/Edit My Profile. Another great feature of the User Networking Manager is that you can add tabs. So if there is something that it doesn't have you can build it and then integrate it right into the menu structure.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Messages &lt;/b&gt;- This allows you to handle in networking messaging amongst users.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="wjk-" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/p7N8mTHu-8n5JUz81NQwkA?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_42gnskvrcn_b" style="width: 320px; height: 80.0831px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Friends &lt;/b&gt;- Displays a list of all of your friends and allows you to search by name for any one else in the system.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="ry6v" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/Q0WY-THeERuTnKOERHZPNA?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_43fqjvbzg8_b" style="width: 320px; height: 215.442px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Photos&lt;/b&gt; - Shows your photo gallery and lets you choose a profile picture from it.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="pu-:" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/T_wk1MrGp2MALKZ1RbeUqQ?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_44hhxkqwdm_b" style="width: 320px; height: 113.292px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;Preferences &lt;/b&gt;- Just a few options that each user can change for their account.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="co4w" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/xik8XgZiyk6jVpb6tni14Q?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_45d6gp7ngx_b" style="width: 320px; height: 161.322px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;Administration - A list of administration options that all site administrators have access to.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="zfib" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/2RlRQbuaFEXVHXGoupNTeQ?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_46fr9cq8dn_b" style="width: 320px; height: 169.063px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;View/Edit My Profile&lt;/b&gt; - Links off to my profile page where I can make any changes. Something not shown is that if you are viewing someone else's profile, it'll display any mutual friends that you have. That is out of the box NetCommunity functionality, not custom.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="fy_9" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;a href="http://picasaweb.google.com/lh/photo/N9rS16nlmQkVGuJQodLkug?authkey=Gv1sRgCOP02bTdpIvhHg&amp;amp;feat=directlink"&gt;&lt;img src="http://docs.google.com/File?id=dkvc7hg_48dkt2dgc9_b" style="width: 320px; height: 254.79px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;It's worth pointing out one final bit about the User Networking Manager part. It's 100% customizable from a style and verbiage perspective. If you don't like the word "friends" you can change it everywhere in the application to whatever you want to call them instead. You'll also notice that "groups" aren't displayed in the examples that I showed you. That's because for the time being we have decided to not include them. It's a very flexible application and I gotta hand it to Blackbaud for going this route again.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;USNAConnect is technically still in public beta but we're planning on going live with it in early October.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;So that's pretty much it. I'm going to try to get back on a regular posting schedule but I can't make any promises.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span style="font-size:100%;"&gt;As always be sure to check out the &lt;a href="http://www.facebook.com/pages/Customizing-BlackbaudR-NetCommunity/12318077503" style="color: rgb(85, 26, 139); "&gt;Facebook page&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-4334071312453202822?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wN7XJ12xkDiCJgKcc4ubwOph30c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wN7XJ12xkDiCJgKcc4ubwOph30c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wN7XJ12xkDiCJgKcc4ubwOph30c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wN7XJ12xkDiCJgKcc4ubwOph30c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/cFqkeQhRaeM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/4334071312453202822/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=4334071312453202822&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4334071312453202822?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4334071312453202822?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/cFqkeQhRaeM/social-networking-in-netcommunity.html" title="Social Networking in NetCommunity" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/08/social-networking-in-netcommunity.html</feedburner:origLink><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="enclosure" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~5/KI3jf270KY0/video-play.mp4" length="0" type="video/mp4" /><feedburner:origEnclosureLink>http://www.blogger.com/video-play.mp4?contentId=bc15c39adabf6755&amp;type=video%2Fmp4</feedburner:origEnclosureLink></entry><entry gd:etag="W/&quot;DUEGSX85fip7ImA9WxVWEE0.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-6793157705597444922</id><published>2009-02-18T20:19:00.003-05:00</published><updated>2009-02-18T20:40:28.126-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-18T20:40:28.126-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Labs" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="emulator" /><title>Blackbaud releases an iPhone emulator</title><content type="html">Today Shaun Sullivan posted an article in &lt;a href="http://labs.blackbaud.com"&gt;Labs&lt;/a&gt; discussing his latest project, an iPhone emulator. &lt;div&gt;I've been playing with it and it's really pretty cool! You can use it to develop a mobile version of your website right from your desktop. That makes things much easier. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to check it out have a look &lt;a href="http://labs.blackbaud.com/NetCommunity/article?artid=662"&gt;here&lt;/a&gt;. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-6793157705597444922?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TyZDylVcq8t5n-yZpXcCTNJ_2d4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TyZDylVcq8t5n-yZpXcCTNJ_2d4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TyZDylVcq8t5n-yZpXcCTNJ_2d4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TyZDylVcq8t5n-yZpXcCTNJ_2d4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/tg1ZHagAdwg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/6793157705597444922/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=6793157705597444922&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/6793157705597444922?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/6793157705597444922?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/tg1ZHagAdwg/blackbaud-releases-iphone-emulator.html" title="Blackbaud releases an iPhone emulator" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/02/blackbaud-releases-iphone-emulator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcFRXsyeyp7ImA9WxVXEEs.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-753164969855676070</id><published>2009-02-07T20:21:00.005-05:00</published><updated>2009-02-07T21:26:54.593-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-07T21:26:54.593-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="re" /><title>Open Source REAPI Project</title><content type="html">Earlier this week &lt;a href="http://www.blackbus.org/forum/members/ajparise.html" style="text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;AJParise&lt;/span&gt;&lt;/a&gt; made me aware of an &lt;a href="http://www.codeplex.com/reapi"&gt;Open Source project&lt;/a&gt; that he started for the REAPI on &lt;a href="http://www.codeplex.com/reapi"&gt;CodePlex&lt;/a&gt;. There is some pretty slick stuff there for those of us that have purchased The Raiser's Edge API. &lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); text-decoration: underline;"&gt;AJParise&lt;/span&gt; wrote: In January 2008, I started working extensivley with the REAPI.After a year of headaches and mindnumbing research I've developed some very handy classes for .NET developers using the 3.5 framework looking to integrate with the REAPI. &lt;/blockquote&gt;&lt;div&gt;This represents a pretty significant mile stone in the growth of Blackbaud's developer's community. There are many open source components on &lt;a href="http://labs.blackbaud.com/"&gt;Labs&lt;/a&gt; but this is the first that has sprung up outside of Blackbaud. I can only hope that others begin to contrbute to the work that&lt;a href="http://www.blackbus.org/forum/members/ajparise.html"&gt; &lt;/a&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); text-decoration: underline;"&gt;AJParise&lt;/span&gt; has started. &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Be sure to check out the &lt;a href="http://www.codeplex.com/reapi"&gt;project&lt;/a&gt; on codeplex when you get a chance and if you can, please contribute. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-753164969855676070?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W2tKSAnWq6xReTGd7mDllBC7jEk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W2tKSAnWq6xReTGd7mDllBC7jEk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W2tKSAnWq6xReTGd7mDllBC7jEk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W2tKSAnWq6xReTGd7mDllBC7jEk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/DK3RkBJi5lA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/753164969855676070/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=753164969855676070&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/753164969855676070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/753164969855676070?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/DK3RkBJi5lA/open-source-reapi-project.html" title="Open Source REAPI Project" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/02/open-source-reapi-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AEQ3gycSp7ImA9WxVREkk.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-6303212632887685979</id><published>2009-01-17T21:08:00.004-05:00</published><updated>2009-01-17T21:28:22.699-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-17T21:28:22.699-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="custom parts" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="geo-code" /><title>Geo-coding Your Constituents</title><content type="html">&lt;div&gt;Everyone likes maps &amp;amp; map mash-ups. There seems to be something very appealing about being able to see things visually compared to textually. Since we launched our Interactive Class Map about 8 months ago it's become one of the longest viewed pages on our website. The average constituent spends almost 4 minutes and 30 seconds doing nothing but panning and zooming around the map looking at their classmates. We have had a simple NetCommunity Directory Part that displayed the same information just in list form for years. It's still widely used but users don't spend anywhere near the amount of time viewing it as they do the Interactive Class Map. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this post I'm going to cover what is really the most important part of working with maps on your NetCommunity website, geo-coding. So, what is geo-coding? It's the process of taking an address and finding its latitude and longitude. Once you have done that it becomes much easier to display that location on a map. Just a warning, this is going to be a bit technical. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hacked out a quick and dirty webservice that I'll make available at the end of this post for download. It uses the REAPI to get a constituent’s address from RE and then uses Google to find the lat/lng. I'll take you through the code step by step. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CAUTION: This method is NOT the best approach if you are planning on processing a lot of records. Google imposes a 15K limit on the number of requests per day from a single IP address. They also frown upon making requests too quickly and may block you for that. If you are planning on using this method to process your entire database you really should batch it up in small chunks over the course of a few days. Also be sure your timer makes each request to Google a few seconds apart. The code I'm going to show you does not do that, but it wouldn't be too hard to add. Since you have the source code you should be able to add that functionality.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So let’s get started.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first step is to create a new Web Service project in Visual Studio 2008. The idea behind this project is that other NetCommunity custom parts could use it. If you are planning to bulk geo-code your constituents you could also use it in something like a Windows Service that runs over a few days to process your whole database.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that the webserivce project has been created we want to go ahead and start setting up the two functions we're going to use.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We're going to need to import these references;&lt;/div&gt;&lt;div&gt;Imports System.Web.Services&lt;/div&gt;&lt;div&gt;Imports System.Web.Services.Protocols&lt;/div&gt;&lt;div&gt;Imports System.ComponentModel&lt;/div&gt;&lt;div&gt;Imports Blackbaud.PIA.RE7.BBREAPI&lt;/div&gt;&lt;div&gt;Imports System.Xml&lt;/div&gt;&lt;div&gt;Imports System.Net&lt;/div&gt;&lt;div&gt;Imports System.IO&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You'll probably need to add Blackbaud.PIA.RE7.BBREAPI to your project. If you don't have the REAPI you'll need it. Otherwise you'll have to modify this code to use the NetCommunity API which is free. I know the REAPI better for this stuff which is why I used it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;''' &lt;summary&gt;&lt;/summary&gt;&lt;/div&gt;&lt;div&gt;    ''' this method will take a REID and get the address&lt;/div&gt;&lt;div&gt;    ''' then it will use google maps to lookup that address address&lt;/div&gt;&lt;div&gt;    ''' note: the value of the returned array with the lat/lng is nothing if&lt;/div&gt;&lt;div&gt;    ''' either the address coudln't be geocoded or it wasnt' specific enough to get back a single result&lt;/div&gt;&lt;div&gt;    ''' &lt;/div&gt;&lt;div&gt;    ''' &lt;/div&gt;&lt;div&gt;    ''' &lt;returns&gt;&lt;/returns&gt;&lt;/div&gt;&lt;div&gt;    ''' &lt;remarks&gt;&lt;/remarks&gt;&lt;/div&gt;&lt;div&gt;    &lt;webmethod()&gt; _&lt;/webmethod()&gt;&lt;/div&gt;&lt;div&gt;    Public Function getConstitLatLng(ByVal sREID As String) As ArrayList&lt;/div&gt;&lt;div&gt;        Dim oConstit As New CRecord 'this is the constit object&lt;/div&gt;&lt;div&gt;        Dim aLatLng As New ArrayList(2) 'we'll be returning this.&lt;/div&gt;&lt;div&gt;        Dim RE7 As REAPI = initAPI() 'this is located in the source. be sure to change up your serial, username, pass and db number. &lt;/div&gt;&lt;div&gt;        Dim oAddress As CConstitAddress 'address object&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            With oConstit&lt;/div&gt;&lt;div&gt;                .Init(RE7.SessionContext) 'init&lt;/div&gt;&lt;div&gt;                .Load(sREID) 'load the passed in REID&lt;/div&gt;&lt;div&gt;                For Each oAddress In .Addresses 'loop over all the addresses&lt;/div&gt;&lt;div&gt;                    If oAddress.Fields(ECONSTIT_ADDRESSFields.CONSTIT_ADDRESS_fld_PREFERRED) = -1 Then 'grab the prefered one, yes I know it's -1 trust me on this -1 = true for some strange reason in the BBREAPI...I don't ask questions if it works. &lt;/div&gt;&lt;div&gt;                        'pass the retrieved criteria to the seekCoords method&lt;/div&gt;&lt;div&gt;                        aLatLng = getCoords(oAddress.Fields(ECONSTIT_ADDRESSFields.CONSTIT_ADDRESS_fld_ADDRESS_BLOCK) &amp;amp; " " &amp;amp; oAddress.Fields(ECONSTIT_ADDRESSFields.CONSTIT_ADDRESS_fld_CITY) &amp;amp; ", " &amp;amp; oAddress.Fields(ECONSTIT_ADDRESSFields.CONSTIT_ADDRESS_fld_STATE) &amp;amp; " " &amp;amp; oAddress.Fields(ECONSTIT_ADDRESSFields.CONSTIT_ADDRESS_fld_POST_CODE))&lt;/div&gt;&lt;div&gt;                        Exit For&lt;/div&gt;&lt;div&gt;                    End If&lt;/div&gt;&lt;div&gt;                Next&lt;/div&gt;&lt;div&gt;            End With&lt;/div&gt;&lt;div&gt;        Finally 'close down your stuff...always&lt;/div&gt;&lt;div&gt;            oConstit.CloseDown()&lt;/div&gt;&lt;div&gt;            System.Runtime.InteropServices.Marshal.ReleaseComObject(oConstit)&lt;/div&gt;&lt;div&gt;            System.Runtime.InteropServices.Marshal.ReleaseComObject(RE7)&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;        Return aLatLng 'return the value&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now lets look at the getCoords function. This one just takes the address we retrieved from the API and uses a Google web service to return the lat/lng. One important thing to note is that it will return Nothing if the address can't be geo-coded OR if the address isn't specific enough and Google returns more than one possible result. I did this for simplicity but you can modify the project so things are handled how you want them to be. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Private Function getCoords(ByVal sAddress As String) As ArrayList&lt;/div&gt;&lt;div&gt;        Dim stream As IO.Stream = Nothing&lt;/div&gt;&lt;div&gt;        Dim doc As XmlDocument&lt;/div&gt;&lt;div&gt;        Dim req As HttpWebRequest&lt;/div&gt;&lt;div&gt;        Dim aLatLng As New ArrayList&lt;/div&gt;&lt;div&gt;        If sAddress &lt;&gt; "" Then 'we check to make sure that we have an address&lt;/div&gt;&lt;div&gt;            req = DirectCast(WebRequest.Create("http://maps.google.com/maps?output=kml&amp;amp;q=" + sAddress), HttpWebRequest) 'pass the address to googole and assign the results to req&lt;/div&gt;&lt;div&gt;            'now we parse up the results &lt;/div&gt;&lt;div&gt;            'generally speaking kml = xml so we can use the std handlers in .net for this&lt;/div&gt;&lt;div&gt;            'why google doesn't just call it xml is beyond me&lt;/div&gt;&lt;div&gt;            Dim response As HttpWebResponse = DirectCast(req.GetResponse(), HttpWebResponse)&lt;/div&gt;&lt;div&gt;            stream = response.GetResponseStream()&lt;/div&gt;&lt;div&gt;            Dim sr As New StreamReader(stream)&lt;/div&gt;&lt;div&gt;            Dim text As String = ""&lt;/div&gt;&lt;div&gt;            text = sr.ReadToEnd()&lt;/div&gt;&lt;div&gt;            sr.Close()&lt;/div&gt;&lt;div&gt;            doc = New XmlDocument()&lt;/div&gt;&lt;div&gt;            doc.LoadXml(text)&lt;/div&gt;&lt;div&gt;            longitudes = doc.GetElementsByTagName("longitude")&lt;/div&gt;&lt;div&gt;            latitudes = doc.GetElementsByTagName("latitude")&lt;/div&gt;&lt;div&gt;            'for simplicty we only want to worry about results that have 1 possible result&lt;/div&gt;&lt;div&gt;            'none, means the address wasn't geocodable&lt;/div&gt;&lt;div&gt;            'multiple means the address wasn't specific enough&lt;/div&gt;&lt;div&gt;            If longitudes.Count = 1 Then&lt;/div&gt;&lt;div&gt;                aLatLng.Add(latitudes(0).InnerText)&lt;/div&gt;&lt;div&gt;                aLatLng.Add(longitudes(0).InnerText)&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;        Return aLatLng&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So that's pretty much it. You can &lt;a href="http://www.proc-tec.com/customparts/GeoCodeConstit.zip"&gt;download &lt;/a&gt;the full project below, enjoy. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Don't forget to Join the&lt;a href="http://www.linkedin.com/groups?gid=1129557&amp;amp;trk=hb_side_g"&gt; LinkedIn&lt;/a&gt; and/or &lt;a href="http://www.facebook.com/group.php?gid=12432433875"&gt;Facebook &lt;/a&gt;group and be sure to follow me on &lt;a href="http://twitter.com/digitalslacker"&gt;Twitter&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-6303212632887685979?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OebYJkVYl85ASPW6TpE-wjsbJEU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OebYJkVYl85ASPW6TpE-wjsbJEU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OebYJkVYl85ASPW6TpE-wjsbJEU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OebYJkVYl85ASPW6TpE-wjsbJEU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/boP6MoWl75o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/6303212632887685979/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=6303212632887685979&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/6303212632887685979?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/6303212632887685979?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/boP6MoWl75o/geo-coding-your-constituents.html" title="Geo-coding Your Constituents" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/01/geo-coding-your-constituents.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEICRHk9eSp7ImA9WxVREEo.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-4951885147432359620</id><published>2009-01-15T20:13:00.009-05:00</published><updated>2009-01-15T21:22:45.761-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-15T21:22:45.761-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="custom" /><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><title>What's cooking</title><content type="html">&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I'd like to first apologize for the lack of substantive posts recently. The combination of the Holidays, work projects and an increasingly energetic toddler has left me with less time to blog. I think the energetic toddler is mostly to blame.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I wanted to take a moment to update everyone about what we have been working on over at www.usna.com lately with NetCommunity. As Blackbaud continues to build on the API the possibilities of what can be done within NetCommunity expands. Here are a few of our recent projects.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;img src="http://1.bp.blogspot.com/_rCBVAoW7emM/SW_u9cxmLgI/AAAAAAAAHX0/ahGlzrgMGWI/s200/Capture2.JPG" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 88px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5291710826647268866" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Pledge (reoccurring gifts) Payment&lt;/span&gt; - This application is relatively simple. It reads the logged in constituents active pledges from RE and then displays to them their outstanding &amp;amp; next payment(s). It also displays any EFT pledges they have on the books and the date of the next charge. They can choose which pledge(s) to pay and how much. The transaction is processed through IATS, written to their RE gift record and a receipt is sent to them. There is also another custom part that sits on our main Online Giving page that reminds a constituent they have an outstanding pledge before they make a new gift. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_rCBVAoW7emM/SW_vQ63pWvI/AAAAAAAAHYE/wMP9sBbLLxc/s200/Capture1.JPG" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 89px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5291711161143220978" /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Top Content (aka Top Five)&lt;/span&gt; - This was a fun project. Like most of you, we have a landing page where we display to our constituents personalized and targeted content after login. We were looking to expand our offerings on that page and this application came about. After login it will search the stats table in NetCommunity and display three items in an AJAX tab panel control;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;The top five new articles on our site in the last 7 days.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;The top five non-news article pages in the last 30 days.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;The top five pages the logged in user has visited in the last six months.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;This last piece is very useful for users who are trying to get back to a page they were on recently. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/_rCBVAoW7emM/SW_tEeglx1I/AAAAAAAAHXs/vhRtHlsUYl0/s200/Capture.JPG" style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 100px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5291708748348639058" /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Event Feeder&lt;/span&gt; - We use events pretty heavily especially around reunion season. This is a vey nice little tool that shows the logged in constituent the future events they are attending. When the click on the event they are able to see the last 10 people who have also signed up for that event. The "event feed" is also subscribe-able via RSS so a constituent could be instantly notified (the ttl is 10 minutes) when someone new signs up for the event. We haven't used this whole lot yet but as we get closer to spring that'll change. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;So those are a few of our more recent projects. We have a few big ones cooking right now and I'll be sure to showcase them once we've put them into the wild. I'm not making the source code for any of the above projects available but if you have any questions I'd be happy to answer them. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Lastly, 18 Jan marks the 1 year anniversary of my &lt;a href="http://www.customizingnetcommunity.com/2008/01/post-i-introduction.html"&gt;first blog post&lt;/a&gt;. I hope I'm providing NetCommunity users with valuable information. Over the last year the NetCommunity developer network has exploded and I only hope that continues. Thanks for reading. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-4951885147432359620?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9oy_1wyXzHh_D96dF7AxUOO0Nek/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9oy_1wyXzHh_D96dF7AxUOO0Nek/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9oy_1wyXzHh_D96dF7AxUOO0Nek/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9oy_1wyXzHh_D96dF7AxUOO0Nek/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/ZMAlPlGVpyk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/4951885147432359620/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=4951885147432359620&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4951885147432359620?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4951885147432359620?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/ZMAlPlGVpyk/whats-cooking.html" title="What's cooking" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_rCBVAoW7emM/SW_u9cxmLgI/AAAAAAAAHX0/ahGlzrgMGWI/s72-c/Capture2.JPG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/01/whats-cooking.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUFRH07fyp7ImA9WxVSEkk.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-7317644299672155208</id><published>2009-01-06T07:10:00.003-05:00</published><updated>2009-01-06T07:16:55.307-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-06T07:16:55.307-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="giving" /><category scheme="http://www.blogger.com/atom/ns#" term="Ma" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="trends" /><category scheme="http://www.blogger.com/atom/ns#" term="steve maclaughlin" /><category scheme="http://www.blogger.com/atom/ns#" term="maclaughlin" /><category scheme="http://www.blogger.com/atom/ns#" term="2008" /><title>2008 Online Giving Trends</title><content type="html">The subject is a bit off topic from what I usually write but I found it pretty interesting.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/smaclaughlin"&gt;Steve MacLaughlin&lt;/a&gt; at Blackbaud did a short blog post on some highlights on the 2008 giving trends Blackbaud has observed. It's worth taking a look.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Read the &lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2009/01/05/2008-online-giving-trends.aspx"&gt;full post here&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-7317644299672155208?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1WJZMzWCRv0miggAbkNYRJ1FmHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1WJZMzWCRv0miggAbkNYRJ1FmHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1WJZMzWCRv0miggAbkNYRJ1FmHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1WJZMzWCRv0miggAbkNYRJ1FmHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/8s_2vVQHijo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/7317644299672155208/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=7317644299672155208&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/7317644299672155208?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/7317644299672155208?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/8s_2vVQHijo/2008-online-giving-trends.html" title="2008 Online Giving Trends" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2009/01/2008-online-giving-trends.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMESXkzeip7ImA9WxRaF00.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-3893585750904601925</id><published>2008-12-19T10:58:00.004-05:00</published><updated>2008-12-19T11:16:48.782-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-19T11:16:48.782-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.6" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="wave" /><title>Blackbaud NetCommunity 5.6 relases soon</title><content type="html">Latest &lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2008/12/19/blackbaud-netcommunity-v5-6-release-news.aspx"&gt;blog post&lt;/a&gt; and some twitter activity indicates NetCommunity 5.6 might release later today. It's a control release so you'll need to call support to get the download. The download will be available online next week...&lt;br /&gt;&lt;br /&gt;From Steve's blog...&lt;br /&gt;Here are just some of the changes you'll see in the release;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ability to enter metadata descriptions and keywords at the Template and Page level&lt;/li&gt;&lt;li&gt;Ability to copy Layouts and Stylesheets to quickly reuse or modify site designs&lt;/li&gt;&lt;li&gt;Ability to style menus using unordered lists and custom classes&lt;/li&gt;&lt;li&gt;Ability to put the Donation, Event Registration, and Payment parts into a "test" mode&lt;/li&gt;&lt;li&gt;Ability to print and export Survey part results&lt;/li&gt;&lt;li&gt;Ability to compare content performance for testing purposes&lt;/li&gt;&lt;/ul&gt;And there are some good tweaks and adjustments including:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Adding tooltips for every merge field in the product&lt;/li&gt;&lt;li&gt;Adding default text for several of the email types and helplets&lt;/li&gt;&lt;li&gt;Adding custom tabs within Wave Social Networking&lt;/li&gt;&lt;li&gt;Adding group photos and other user contributed photo improvements&lt;/li&gt;&lt;/ul&gt;Read the &lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2008/12/19/blackbaud-netcommunity-v5-6-release-news.aspx"&gt;full post here&lt;/a&gt; from &lt;a href="http://twitter.com/SMacLaughlin"&gt;@SMaclaughlin&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-3893585750904601925?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/itAhXJlT_TY5zF5ZfH0I3SagpwY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/itAhXJlT_TY5zF5ZfH0I3SagpwY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/itAhXJlT_TY5zF5ZfH0I3SagpwY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/itAhXJlT_TY5zF5ZfH0I3SagpwY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/hKxtkyl_LYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/3893585750904601925/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=3893585750904601925&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3893585750904601925?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3893585750904601925?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/hKxtkyl_LYo/blackbaud-netcommunity-56-relases-soon.html" title="Blackbaud NetCommunity 5.6 relases soon" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/12/blackbaud-netcommunity-56-relases-soon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EHSH05fCp7ImA9WxRaEU0.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-4186586983268592361</id><published>2008-12-12T14:13:00.002-05:00</published><updated>2008-12-12T14:20:39.324-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-12T14:20:39.324-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="developer" /><category scheme="http://www.blogger.com/atom/ns#" term="challenge" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><title>NetCommunity Developer Challenge Entries Released</title><content type="html">Shaun has &lt;a href="http://labs.blackbaud.com/NetCommunity/article?artid=659"&gt;posted&lt;/a&gt; a few of the top entries from the NetCommunity Developer Challenge. They are all open source. They don't come with support but if you have a problem with any of them post something on &lt;a href="http://www.blackbus.org"&gt;the Bus&lt;/a&gt; and someone will probably help you out.&lt;br /&gt;&lt;br /&gt;You can download my entry &lt;a href="http://labs.blackbaud.com/NetCommunity/Page.aspx?pid=244&amp;amp;codeid=13"&gt;here&lt;/a&gt; or view them all &lt;a href="http://labs.blackbaud.com/NetCommunity/Page.aspx?pid=244"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-4186586983268592361?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/q-o95Pp2IzDCvCV76HC_4dXtJfI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q-o95Pp2IzDCvCV76HC_4dXtJfI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/q-o95Pp2IzDCvCV76HC_4dXtJfI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/q-o95Pp2IzDCvCV76HC_4dXtJfI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/U6-9tiPA4v4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/4186586983268592361/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=4186586983268592361&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4186586983268592361?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4186586983268592361?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/U6-9tiPA4v4/netcommunity-developer-challenge.html" title="NetCommunity Developer Challenge Entries Released" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/12/netcommunity-developer-challenge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUCRnw5cSp7ImA9WxRUEUU.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-1045525314586900080</id><published>2008-11-20T08:30:00.003-05:00</published><updated>2008-11-20T08:37:47.229-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-20T08:37:47.229-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="toolkit" /><category scheme="http://www.blogger.com/atom/ns#" term="non-profit" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="developer contest" /><category scheme="http://www.blogger.com/atom/ns#" term="FaceBook" /><category scheme="http://www.blogger.com/atom/ns#" term="SDK" /><category scheme="http://www.blogger.com/atom/ns#" term="Infinity" /><category scheme="http://www.blogger.com/atom/ns#" term="2008" /><title>re-cap of the 2008 Conference for Non-Profits</title><content type="html">&lt;span style="font-family: arial;"&gt;So this year's Conference for Non-Profits is over. As usual Blackbaud put on a great show. Props to all the folks that made everything happen! I had a lot of fun seeing attendees from past conferences as well as meeting lots of new ones. I thought I'd do a quick post recapping some of the highlights, at least from a developer's perspective.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;During Monday's keynote, Shaun Sullivan unveiled a pretty killer &lt;/span&gt;&lt;a style="font-family: arial;" href="http://labs.blackbaud.com/NetCommunity/article?artid=651"&gt;Facebook Toolkit&lt;/a&gt;&lt;span style="font-family: arial;"&gt; for NetCommunity. I haven't had a chance to do anything but download it but you can be sure to see some posts in the future about it. It looks like it's got a pretty comprehensive integration layer between Faceook and NetCommunity. In a later sessions Michael Andrews dove a bit deeper into the Toolkit and gave us a good overview of what's possible. You'll be able to basically build your own Facebook application that will allow you to post news and events, acquire new constituents, collect gifts or donations and of course leverage existing relationships in Facebook to help spread our mission. It's important to point out that this is a developer's toolkit and you'll probably need someone technical in nature to help you implement it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Shaun also showed off Nimbus, Blackbaud's dive into the world of "cloud computing". I'm pretty impressed with it. It's going to help alleviate much of the problems that could occur in an RE7 to RE8 migration by syncing your RE7 data to the "cloud" and converting it over to an RE8 format. When you are ready to migrate over to RE8 all your data will be up-to-date in the "cloud" for RE8 to access.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Tuesday was Infinity SDK day with Ben Lambert. Some great stuff in those sessions. I think that topic could have been discussed for 4 days alone and I probably would have still had questions. The Infinity platform is just awesome and as a developer I'm extremely excited about how simple and easy it's going to be to customize Blackbaud applications in the future.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Lastly I wanted to mention the Developer's Contest. My entry, Events To Google, was selected by the Blackbaud as the winner. Thanks to everyone who congratulated me on the win. All the entries will be available on &lt;/span&gt;&lt;a style="font-family: arial;" href="http://labs.blackbaud.com"&gt;Labs&lt;/a&gt;&lt;span style="font-family: arial;"&gt; soon and will include the source code to those projects. That's huge and I think it represents a major milestone in Blackbaud's continuing efforts to broaden the developer community for their products. If I stop look at what was available a year ago in terms of developer resource for Blackbaud products it's amazing how far they have come.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;So it was a great conference and I left energized, partly due to all the Red Bull in the Internet Strong Lounge, and with lots of new ideas for the next year.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Thanks again to Blackbaud and the events team that helped make this another great conference!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-1045525314586900080?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ER_2K1Mrm9y5vMke6V47ElCx2dU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ER_2K1Mrm9y5vMke6V47ElCx2dU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ER_2K1Mrm9y5vMke6V47ElCx2dU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ER_2K1Mrm9y5vMke6V47ElCx2dU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/CgKqjbePHH0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/1045525314586900080/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=1045525314586900080&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/1045525314586900080?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/1045525314586900080?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/CgKqjbePHH0/re-cap-of-2008-conference-for-non.html" title="re-cap of the 2008 Conference for Non-Profits" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/11/re-cap-of-2008-conference-for-non.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMGSH86fCp7ImA9WxRVE04.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-3377691909054696231</id><published>2008-11-10T11:44:00.002-05:00</published><updated>2008-11-10T12:00:29.114-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-10T12:00:29.114-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="Jquery" /><title>RePost: Rock Your NetCommunity with jQuery</title><content type="html">&lt;a style="font-family: arial;" href="http://labs.blackbaud.com/NetCommunity/article?artid=647"&gt;This&lt;/a&gt;&lt;span style="font-family: arial;"&gt; was posted by Michal Andrews on Labs earlier today.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I'm shamelessly re-posting it in an effort to generate blog traffic off of his work.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Seriously though, it's a good post and jQuery is something that I'm excited to see being used in NetCommunity. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: arial;" href="http://labs.blackbaud.com/NetCommunity/article?artid=647"&gt;Have a read&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-3377691909054696231?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Cy5dX3g0EiOAc8zO6eQPhBZk5R8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cy5dX3g0EiOAc8zO6eQPhBZk5R8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Cy5dX3g0EiOAc8zO6eQPhBZk5R8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cy5dX3g0EiOAc8zO6eQPhBZk5R8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/CLQgip3Drec" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/3377691909054696231/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=3377691909054696231&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3377691909054696231?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3377691909054696231?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/CLQgip3Drec/repost-rock-your-netcommunity-with.html" title="RePost: Rock Your NetCommunity with jQuery" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/11/repost-rock-your-netcommunity-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08DR3s-cCp7ImA9WxRWF0g.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-4348677385658162657</id><published>2008-11-03T19:21:00.011-05:00</published><updated>2008-11-03T19:51:16.558-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-03T19:51:16.558-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="custom parts" /><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="link" /><category scheme="http://www.blogger.com/atom/ns#" term="custom server control" /><category scheme="http://www.blogger.com/atom/ns#" term="page" /><category scheme="http://www.blogger.com/atom/ns#" term="2008" /><title>Using the PageLink custom server control</title><content type="html">&lt;span style="font-family:arial;"&gt;This is the second in a series of posts on the new custom server controls that were released in v5.5 of NetCommunity. As I stated in the &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.customizingnetcommunity.com/2008/10/code-smart-fast-working-with-custom.html"&gt;previous post&lt;/a&gt;&lt;span style="font-family:arial;"&gt;, custom server controls allow us to take canned pieces of functionality and include them in our own custom parts. In this post I'm going to touch on using the PageLink control. This control allows the user to select a link. It shows the link currently selected and offers the standard modal dialog for selecting a link either from the site, to a document, or a manually entered URL. You'll be able to download the Visual Studio project at the end of this post.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I'm going to assume that you are familiar with the concept of how to build and implement custom parts in NetCommunity. If you aren't, don't worry, just take a few minutes to check out the &lt;/span&gt;&lt;a style="font-family: arial;" href="http://labs.blackbaud.com/NetCommunity/Page.aspx?pid=228"&gt;developer resources&lt;/a&gt;&lt;span style="font-family:arial;"&gt; before getting started.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;PageLinkControlEditor.ascx (Design View)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:arial;"&gt;&lt;%@ Control Language="vb" AutoEventWireup="false" CodeBehind="PageLinkControlEditor.ascx.vb" Inherits="PageLinkControl.PageLinkControlEditor" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;%@ Register TagPrefix="bbnc" Namespace="BBNCExtensions.ServerControls" Assembly="BBNCExtensions" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;asp:label id="lblError" runat="server" bold="true" forecolor="red"&gt;&lt;/asp:label&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Please select a page: &amp;lt;bbnc:pagelink runat="server" id="PageLink1"&amp;gt;&amp;lt;/bbnc:pagelink&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Please enter the name for the link: &amp;lt;asp:textbox runat="server" id="txtPageLinkName"&amp;gt;&amp;lt;/asp:textbox&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:arial;"&gt;Here we are registering the &lt;span style="font-weight: bold; font-style: italic;"&gt;BBNCExtensions.ServerControls&lt;/span&gt; with the tag "bbnc".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Then we include the control &lt;span style="font-weight: bold; font-style: italic;"&gt;&amp;lt;bbnc:pagelink runat="server" id="PageLink1"&amp;gt;&lt;/bbnc:pagelink&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Also we are allowing the name of link on the front end to be specified in &lt;span style="font-weight: bold; font-style: italic;"&gt;txtPageLinkName&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;PageLinkControlEditor.vb (Code Behind)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:arial;"&gt;Imports BBNCExtensions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Partial Public Class PageLinkControlEditor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Inherits BBNCExtensions.Parts.CustomPartEditorBase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        'not really used for editors, the OnLoadContent() handles this...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;#Region " Editor Specific Sub "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Public Overrides Sub OnLoadContent()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        If Not Page.IsPostBack Then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            Dim oProperties As Properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            oProperties = CType(Me.Content.GetContent(GetType(Properties)), Properties)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            If Not oProperties Is Nothing Then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                PageLink1.PageID = oProperties.PageLinkID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                txtPageLinkName.Text = oProperties.PageLinkText&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Public Overrides Function OnSaveContent(Optional ByVal bDialogIsClosing As Boolean = True) As Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        Dim oProperties As New Properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        With oProperties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            .PageLinkText = txtPageLinkName.Text&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            .PageLinkID = PageLink1.PageID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        End With&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        Me.Content.SaveContent(oProperties)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        Return True&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    End Function&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;#End Region&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;End Class&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;In the &lt;span style="font-weight: bold; font-style: italic;"&gt;OnSaveContent()&lt;/span&gt; we take the ID of the selected page using &lt;span style="font-weight: bold; font-style: italic;"&gt;PageLink1.PageID&lt;/span&gt; and save it to &lt;span style="font-weight: bold; font-style: italic;"&gt;oProperties.PageLinkID&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;We are also going to save the text for the link name using&lt;span style="font-weight: bold; font-style: italic;"&gt; txtPageLinkName.Text &lt;/span&gt;to &lt;span style="font-weight: bold; font-style: italic;"&gt;oProperties.PageLinkText&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The &lt;span style="font-weight: bold; font-style: italic;"&gt;OnLoadContent()&lt;/span&gt; we load up any previously saved &lt;span style="font-weight: bold; font-style: italic;"&gt;Properties &lt;/span&gt;and apply it to the respective controls.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Properties.vb (Editor Properties)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:arial;"&gt;Public Class Properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Public PageLinkText As String&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Public PageLinkID As String&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;End Class&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Here we dim out the &lt;span style="font-weight: bold; font-style: italic;"&gt;Properties &lt;/span&gt;the &lt;span style="font-weight: bold; font-style: italic;"&gt;Editor &lt;/span&gt;and the &lt;span style="font-weight: bold; font-style: italic;"&gt;Display &lt;/span&gt;will be using&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;PageLinkControlDisplay.ascx (Design View)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:arial;"&gt;&lt;%@ Control Language="vb" AutoEventWireup="false" CodeBehind="PageLinkControlDisplay.ascx.vb" Inherits="PageLinkControl.PageLinkControlDisplay" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&amp;lt:asp:hyperlink runat="server" id="hypPageLink"&amp;gt;&amp;lt;/asp:hyperlink&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:arial;"&gt;Nothing fancy here, just declaring the &lt;span style="font-weight: bold; font-style: italic;"&gt;HyperLink &lt;/span&gt;control we'll be working with in the code behind.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;PageLinkControlDisplay.vb (Code Behind)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:arial;"&gt;Imports BBNCExtensions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Partial Public Class PageLinkControlDisplay&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Inherits BBNCExtensions.Parts.CustomPartDisplayBase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        getProperties()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;#Region " Data Handling "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    Private Sub getProperties() 'this loads up the properties from the editor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        Dim oProperties As Properties 'class contating the availible properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        oProperties = CType(Me.Content.GetContent(GetType(Properties)), Properties) 'this is a BBNC method&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        If Not oProperties Is Nothing Then 'don't try to assign the properties to the display controls if there aren't any returned&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            hypPageLink.NavigateUrl = API.Pages.BuildStandardLink(CType(oProperties.PageLinkID, Integer)) 'this bit here basically takes the PID and then dynamically builds the URL for your specific website.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            hypPageLink.Text = oProperties.PageLinkText&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;#End Region&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;End Class&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Again, nothing really fancy. We are retrieving the &lt;span style="font-weight: bold; font-style: italic;"&gt;Properties &lt;/span&gt;saved in the &lt;span style="font-weight: bold; font-style: italic;"&gt;Editor &lt;/span&gt;using &lt;span style="font-weight: bold; font-style: italic;"&gt;oProperties = CType(Me.Content.GetContent(GetType(Properties)), Properties)&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Then we want to apply the &lt;span style="font-weight: bold; font-style: italic;"&gt;Properties &lt;/span&gt;to the &lt;span style="font-weight: bold; font-style: italic;"&gt;hypPageLink &lt;/span&gt;control. The important piece here is &lt;span style="font-weight: bold; font-style: italic;"&gt;API.Pages.BuildStandardLink(CType(oProperties.PageLinkID, Integer))&lt;/span&gt;. It is a native function in the v5.5 API that takes the saved PID (page ID) from the &lt;span style="font-weight: bold; font-style: italic;"&gt;Properties &lt;/span&gt;and returns a full URL for that page.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;We are also applying the &lt;span style="font-weight: bold; font-style: italic;"&gt;oProperties.PageLinkText &lt;/span&gt;to the &lt;span style="font-weight: bold; font-style: italic;"&gt;hypPageLink.Text&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.proc-tec.com/customparts/pagelinkcontrol.zip"&gt;&lt;span style="font-family:arial;"&gt;Download this project&lt;/span&gt;.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;That's it! Pretty simple. If you want me to showcase a specific control please send me an email.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;If you haven't already, &lt;a href="https://twitter.com/digitalslacker"&gt;follow me on Twitter &lt;/a&gt;and &lt;a href="http://www.facebook.com/groups.php?ref=sb#/group.php?gid=12432433875"&gt;join our FaceBook group&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-4348677385658162657?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/l6yaeYS82JPsS70KPWDgxj0lh9I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l6yaeYS82JPsS70KPWDgxj0lh9I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/l6yaeYS82JPsS70KPWDgxj0lh9I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l6yaeYS82JPsS70KPWDgxj0lh9I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/LIwm-EhBLmk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/4348677385658162657/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=4348677385658162657&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4348677385658162657?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4348677385658162657?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/LIwm-EhBLmk/using-pagelink-custom-server-control.html" title="Using the PageLink custom server control" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/11/using-pagelink-custom-server-control.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMEQ3Y7fip7ImA9WxRWEkk.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-7132953999614121346</id><published>2008-10-28T20:21:00.015-04:00</published><updated>2008-10-28T21:06:42.806-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-28T21:06:42.806-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="custom parts" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="custom server control" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><category scheme="http://www.blogger.com/atom/ns#" term="FaceBook" /><title>Code Smart &amp; Fast: Working with custom server controls in v5.5</title><content type="html">&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;In NetCommunity v5.5 there is native support for Custom Server Controls. A custom server control for those that aren’t familiar with them simply allows you to modularize bits of functionality so it can be re-used in other applications without having to re-write the same code again.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In NetCommunity v5.5 these custom server controls have been exposed via that API so they can be easily used in any custom part. As a developer this offers two benefits in addition to saving time writing code. Your NetCommunity users are probably familiar with some of these server controls since they are already using them in various parts of NetCommunity. The learning curve will be smaller if you utilize these custom server controls in your custom parts. The second benefit is stability. Since they are part of the core NetCommunity product they are put through the QA process. This means there is less of a chance that an upgrade will break a custom part. Being able to quickly and easily add canned functionality is the real benefit though.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;So what are some specific examples of the custom server controls that are available in v5.5? Well, here is a nice list, courtesy of &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://labs.blackbaud.com/"&gt;Labs&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;    &lt;span style="font-weight: bold;"&gt;AddressUI &lt;/span&gt;- Offers the form for entering an address, taking into account the selected country and morphing itself appropriately such as changing a field caption from City to Suburb.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;CFAPicker &lt;/span&gt;- Offers a modal UI for selecting a Campaign, Fund, or Appeal from the back office, making the appropriate web service calls to populate a search form, and return the selected item.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;EmailEditor &lt;/span&gt;- Offers the HTML editor in email edit mode, allowing you to specify a field provider for populating the merge fields drop down. Choices include Profile fields, Donation fields, User Registration fields or none. You can also provide a set of custom merge fields that your custom transaction part may provide the data for at runtime. Very useful for designing email acknowledgments for custom transaction forms.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;HtmlEditor &lt;/span&gt;- Offers the HTML Editor including the appropriate dialogs for link picking, and image selection. Handles the processing of the content for safe storage, including the translation of all links from actual to relative.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;HtmlDisplay &lt;/span&gt;- Use this control whenever you want to display HTML that was edited with the HTMLEditor control. It handles the translation of links from relative back to fully qualified, among other things.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;ImageSelectButton &lt;/span&gt;- Renders an ASP Button control that summons the Image select modal dialog. This is the same dialog used by the platform and honors security of the current user to offer the ability upload new images if allowed as well as controlling access to only those images the user has access to.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;PageLink &lt;/span&gt;- This control allows the user to select a link. It shows the link currently selected and offers the standard modal dialog for selecting a link either from the site, to a document, or a manually entered URL.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;PartEditButton &lt;/span&gt;- Renders an ASP Button that summons the modal dialog for editing any part instance.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;PartSelectButton &lt;/span&gt;- Renders the UI for selecting another part, showing the part name currently selected. Can be set to only allow selection of a certain part type.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;QueryPicker &lt;/span&gt;- Renders the UI for selecting a back office Query, showing the one currently selected. Offers the same modal dialog for searching and selecting a Query that is available in the system. Options include limiting the type of Query that can be selected and whether to look at The Raiser's Edge/eCRM or The Education Edge (if applicable).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;TimeZonePicker &lt;/span&gt;- Renders a dynamic drop down that is populated with all of the available world time zones.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;Over the next few posts I’m planning on getting into some specifics about how to uses these new custom server controls. I'll try to include some code samples where applicable and possibly even some working projects you can download.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;For this post I’m going to touch on the HTMLEditor &amp;amp; Display because it’s probably one of the controls that most people will want to implement. The basic concept will apply to all of the server controls so if I don't get to one of the ones you'd like to play with you should be able to get the hang of it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Before I get started, I wanted to thank Michael Andrews at Blackbaud for helping me out with this post. Blackbaud has made leaps and bounds in the last year building up the developer's network around NetCommunity. For those of you that have been working with NetCommunity for a while you'll remember the days when the SDK was a 5 page Word Doc. That was less than 2 years ago. As a developer it's nice to have solid resources and an energetic developer community. It's makes working much easier and a lot more fun.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;OK, enough with the sentimental stuff.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;So start up Visual Studio and setup a project. If you have no clue how to do that you can check out some of the previously mentioned developer resources &lt;a href="http://labs.blackbaud.com/NetCommunity/Page.aspx?pid=228"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;HTMLControlEditor.ascx (Design View)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:verdana;"&gt;&lt;%@ Control Language="vb" AutoEventWireup="false" CodeBehind="HTMLControlEditor.ascx.vb" Inherits="HTMLControl.HTMLControlEditor" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;%@ Register TagPrefix="bbnc" Namespace="BBNCExtensions.ServerControls" Assembly="BBNCExtensions" %&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Here you are basically registering the ServerControls and then adding the HTMLEditor custom control to your page. There are some configuration options for the HTMLEditor but I'll handle that in the code behind.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;HTMLControlEditor.ascx (Code Behind)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:verdana;"&gt;Imports BBNCExtensions&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Imports BBNCExtensions.Interfaces.Parts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Partial Public Class HTMLControlEditor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Inherits BBNCExtensions.Parts.CustomPartEditorBase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Public Overrides Function OnSaveContent(Optional ByVal bDialogIsClosing As Boolean = True) As Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dim oProperties As New Properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;With oProperties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;.html = HTMLEditor1.StorageHTML&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End With&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Me.Content.SaveContent(oProperties)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Return True&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Function&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Public Overrides Sub OnLoadContent()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dim oProperties As Properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If Not Page.IsPostBack Then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;oProperties = CType(Me.Content.GetContent(GetType(Properties)), Properties)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If Not oProperties Is Nothing Then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;With oProperties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;HTMLEditor1.StorageHTML = .html&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;HTMLEditor1.FeaturesMode = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End With&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Class&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;Properties.vb (Custom part properties class)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:verdana;"&gt;Public Class Properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Public html As String&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Class&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;So here we are really doing two things. The OnSaveContent() is used to take the HTML that is in HTMLEditor1 and save it to oProperties.html which is just a String. Then it saves all the oProperties for this custom part to be loaded later by the display.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In OnLoadContent() we are simply retrieving the previously saved values for this part and popping HTMLEditor1.StorageHTML. I'm also defining other properties for HTMLEditor1 here, specifically FeaturesMode = 1. This is a canned set of buttons that are available on the editor. Here is how those break out.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;1 = basic formatting and styling options&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;2 = more advanced options like links and photos.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;3 = everything available.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:95%;"&gt;&lt;span style="font-family:verdana;"&gt;Best option is to just play with the features you need for how you are using the HTMLEditor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;One thing to be cautious about though is that if you are planning on using the HTMLEditor on a custom part where non-admin will have access do NOT used FeaturesMode = 2. This will expose them to your NetCommunity images and all your content pages if they try to insert an image or a link. I'd like to see another option exposed in a later release that lets us control that with the API. Might be a good &lt;a href="http://blackbaudnetcommunity.uservoice.com/?"&gt;IdeaBank &lt;/a&gt;post :D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;HTMLControlDisplay.ascx (Design View)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:verdana;"&gt;&lt;%@ Control Language="vb" AutoEventWireup="false" CodeBehind="HTMLControlDisplay.ascx.vb" Inherits="HTMLControl.HTMLControlDisplay" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;%@ Register TagPrefix="bbnc" Namespace="BBNCExtensions.ServerControls" Assembly="BBNCExtensions" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-family:verdana;"&gt;Same deal here with the editor but the HTMLDisplay is just used to display the contents saved in the HTMLEditor control.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;HTMLControlDisplay.ascx (Code Behind)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:verdana;"&gt;Imports BBNCExtensions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Partial Public Class HTMLControlDisplay&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Inherits BBNCExtensions.Parts.CustomPartDisplayBase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;getProperties()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Private Sub getProperties()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dim oProperties As Properties 'class contating the availible properties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;oProperties = CType(Me.Content.GetContent(GetType(Properties)), Properties) 'this is a BBNC method&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If Not oProperties Is Nothing Then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;With oProperties&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;HtmlDisplay1.StorageHTML = oProperties.html&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End With&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End If&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;End Class&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-family:verdana;"&gt;Here we are just retrieving the stuff that was saved in the Editor and displaying it using HTMLDisplay1.storageHTML. Nothing too fancy.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;So that's pretty much it. It's really straight forward and again you can apply this to any of the other controls. If there is a specific control you want me to do a post on just drop me a line. Oh and for those of you that are too lazy to copy and paste this into your project, you can download the project &lt;a href="http://www.proc-tec.com/customparts/HtmlControl.zip"&gt;here&lt;/a&gt;. :D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Don't forget to &lt;a href="https://twitter.com/digitalslacker"&gt;follow me on Twitter&lt;/a&gt; and to &lt;a href="http://www.facebook.com/groups.php?ref=sb#/group.php?gid=12432433875"&gt;join the FaceBook group&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-7132953999614121346?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1ZRJJ2bLyGmn2dlbARxjqIL5KMk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1ZRJJ2bLyGmn2dlbARxjqIL5KMk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1ZRJJ2bLyGmn2dlbARxjqIL5KMk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1ZRJJ2bLyGmn2dlbARxjqIL5KMk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/WM6y3yq7des" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/7132953999614121346/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=7132953999614121346&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/7132953999614121346?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/7132953999614121346?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/WM6y3yq7des/code-smart-fast-working-with-custom.html" title="Code Smart &amp; Fast: Working with custom server controls in v5.5" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/10/code-smart-fast-working-with-custom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUINRnkzfSp7ImA9WxRQGUk.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-5906929862096042862</id><published>2008-10-13T19:56:00.005-04:00</published><updated>2008-10-13T20:19:57.785-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-13T20:19:57.785-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="developer challenge" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="naval academy" /><title>sorry for the silence...</title><content type="html">I know I have been neglecting my duties when it comes to timely blog posts. It's a busy time of year for us and I've been wrapping up a few major projects.&lt;br /&gt;&lt;br /&gt;Tomorrow we are slated to go live with our latest customization to NetCommunity, an application that handles our national membership. This has been in the works for several months. It's probably been one of our more challenging customizations but it's been fun at the same time.&lt;br /&gt;&lt;br /&gt;I've also finished up my entry for the &lt;a href="http://www.customizingnetcommunity.com/2008/09/blackbaud-developer-network-challenge.html"&gt;Blackbaud Developer's Contest&lt;/a&gt;. I'm not giving away any info on that one though. The winners will be announced at the Conference in Charleston. I'll do a post on the winner after that.&lt;br /&gt;&lt;br /&gt;Hopefully I'll have some time in the near future to do a post with some substance. In the mean time don't forget to follow me on &lt;a href="https://twitter.com/digitalslacker"&gt;Twitter&lt;/a&gt;  and join the &lt;a href="http://www.facebook.com/group.php?gid=12432433875"&gt;Facebook group&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-5906929862096042862?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g0JjNT9PLUcPdTIK73o28TxZBYg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g0JjNT9PLUcPdTIK73o28TxZBYg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g0JjNT9PLUcPdTIK73o28TxZBYg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g0JjNT9PLUcPdTIK73o28TxZBYg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/lbG7oHKkP6c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/5906929862096042862/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=5906929862096042862&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5906929862096042862?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5906929862096042862?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/lbG7oHKkP6c/sorry-for-silence.html" title="sorry for the silence..." /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/10/sorry-for-silence.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYBRHw6eCp7ImA9WxRSF0U.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-4184411009981205573</id><published>2008-09-18T19:45:00.003-04:00</published><updated>2008-09-18T19:55:55.210-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-18T19:55:55.210-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="v5.5" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>Upgrading to NetCommunity v5.5</title><content type="html">&lt;span style="font-family:arial;"&gt;Earlier this week we upgraded to NetCommunity v5.5. I wanted to throw together a quick post about that experience for those that haven’t gone down this road yet. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Overall I’d consider the upgrade a success and so far we're really happy with this version.  It took us about 2 hours plus a bit of tweaking here and there after the site was back up. Much of that time was spent on one issue we had with Friendly URLs. We had to call support to make those work. That actually ended up being our fault, not a problem in v5.5.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;We did manage to get the root URL working in so we no longer have /NetCommunity in all of our web addresses. This was important because it seemed a little silly for our Friendly URLs to be that long. Instead of http://www.usna.com/NetCommunity/Travel we now use http://www.usna.com/Travel. We also used IIS redirection to ensure that any existing links out on the net that had the old URL with /NetCommunity still worked. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The only other thing to watch out for is the new “Site Tracking” support. If you use Google Analytics, as most probably do, you’ll notice that there are some disadvantages to using this new method as opposed to putting the tracking script on the layouts. With the new method much of the data collected in Google Analytics seems ambiguous. Our “Content By Title” section showed all the hits as a title of “not set”. I did notice that there did seem to be much more data on the actual url link so some people might prefer the new system. I’d at the very least suggest setting up a separate Google Analytics account with a different tracking code to test before switching everything over. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Finally, TEST. If you do adequate testing and spend the necessary time preparing yourself, your staff and your constituents for an upgrade it WILL save you major headaches later. Typically we allow for about a month and a half of testing. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Blackbaud lets you setup your own test server at no extra cost. You really don’t need a power house server either. Just take a reasonably good desktop and pump up the ram. We use an old HP with a 2.53 processor and 4GB or ram. It’s slow, but it works. We setup The Raiser’s Edge and NetCommunity all on the same box then just restore the databases from production and fire off the upgrade. If after the upgrade you still aren’t comfortable or botch it you can always wipe it all out and do it again. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;We also like to give support a call about a week before the upgrade and try to find out if they know when the next patch is going to be released. It really sucks if you upgrade Tuesday and the next patch is released Wednesday.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So that’s it, I hope this helps those of you out that haven’t gone down this road yet. Expect some new posts soon that will dive a bit deeper into the weeds of v5.5 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Follow me on &lt;a href="https://twitter.com/digitalslacker"&gt;Twitter&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-4184411009981205573?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5j285rigR1PkKzAABRvsM77HFPk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5j285rigR1PkKzAABRvsM77HFPk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5j285rigR1PkKzAABRvsM77HFPk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5j285rigR1PkKzAABRvsM77HFPk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/36GYbSsA1c0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/4184411009981205573/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=4184411009981205573&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4184411009981205573?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4184411009981205573?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/36GYbSsA1c0/upgrading-netcommunity-v55.html" title="Upgrading to NetCommunity v5.5" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/09/upgrading-netcommunity-v55.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQNR3k7fSp7ImA9WxRSFUU.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-5841596188785467918</id><published>2008-09-16T13:47:00.003-04:00</published><updated>2008-09-16T13:49:56.705-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-16T13:49:56.705-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="developer" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="developer challenge" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Platform" /><title>Blackbaud Developer Network Challenge Opens Today</title><content type="html">&lt;span style="font-family: arial;"&gt;For all you developers out there that haven't heard about the Blackbaud Developer Network Challenge yet &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.blackbaud.com/default.aspx?pgpId=2531&amp;amp;PRID=275"&gt;here &lt;/a&gt;&lt;span style="font-family: arial;"&gt;is the Press Release.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i style="font-family: arial;"&gt;Blackbaud Developer Network Challenge Opens Today&lt;br /&gt;Contest will encourage peer judging of applications built on the NetCommunity Open Platform&lt;/i&gt;&lt;p style="font-family: arial;"&gt;  &lt;b&gt;Charleston, S.C. (September 16, 2008)&lt;/b&gt; – Blackbaud, Inc. (Nasdaq: BLKB) today announced the opening of its first Developer Network Challenge. The developer that creates the most compelling customization for Blackbaud NetCommunity will be awarded an iPhone, and will also win his or her organization a year’s free NetCommunity maintenance.&lt;/p&gt;&lt;p&gt;&lt;a style="font-family: arial;" href="http://www.blackbaud.com/default.aspx?pgpId=2531&amp;amp;PRID=275"&gt;Click here for the full press release&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-5841596188785467918?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TQ-Hvpm1XHcm7iewg1_5Kr85Jvc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TQ-Hvpm1XHcm7iewg1_5Kr85Jvc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TQ-Hvpm1XHcm7iewg1_5Kr85Jvc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TQ-Hvpm1XHcm7iewg1_5Kr85Jvc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/h6rMQsbi8-w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/5841596188785467918/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=5841596188785467918&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5841596188785467918?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5841596188785467918?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/h6rMQsbi8-w/blackbaud-developer-network-challenge.html" title="Blackbaud Developer Network Challenge Opens Today" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/09/blackbaud-developer-network-challenge.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYESX06cCp7ImA9WxdaGEU.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-5251512655551704011</id><published>2008-08-27T20:05:00.002-04:00</published><updated>2008-08-27T20:08:28.318-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-27T20:08:28.318-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="searchme.com" /><category scheme="http://www.blogger.com/atom/ns#" term="perspective" /><category scheme="http://www.blogger.com/atom/ns#" term="searching" /><category scheme="http://www.blogger.com/atom/ns#" term="innovative" /><title>Searching, a fresh perspective</title><content type="html">&lt;span style="font-family: arial;"&gt;This post is completely off topic but I hope some find it interesting. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I was recently clued into a new(ish) search engine via Twitter (thanks @starfocus) and wanted to share some thoughts about the refreshing approach being taken when it comes to finding things on the Interwebs. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Let me clarify here, I’m not calling this site a ‘Google Killers’, far from it. Google could do something like these or they could just buy them. What’s exciting, I think is that this search engine brings some very innovative and arguably long overdue approaches to the table. We take searching for granted because Google for the most part has defined or at least re-defined how we think about searching for things on the web. I’m not so sure a little creative competition won’t do everyone some good.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;The purpose of a search engine is to find what we are looking for on the web, right? Well Google and all the other search engines do that pretty well already so where can things be improved? I think there are really three areas; presentation, organization and sharing.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;So let’s have a look at &lt;a href="www.searchme.com"&gt;www.searchme.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Presentation:&lt;/span&gt;  Searchme: offers a strangely familiar (iTunes or Vista Aero anyone? ) display of your search results. You can view a thumbnail preview of each website before you click on it. There is a scroll bar at the bottom to advance further into the results and for those of us that still want (or need) our search results to be in text, you can open up a text results window.  The feature that I think stands out here is the autoplay option when searching for videos. You can get a quick thumbnail preview of any video results you search yields.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Organization:&lt;/span&gt; Enter ‘stacks’!  This is my favorite feature of searchme:. If you are anything like me you are hitting lots of pages when researching something on the web. You probably have 15 tabs open in FireFox and it doesn’t take long before you are disorganized. Stacks let you literally ‘toss’ or drag and drop various pages into a working or saved ‘stack’. You can then save that stack for later or delete it when you have finished with it. This is a great feature; sorry bookmarking just doesn’t cut it anymore. Oh, and if you close your browser, the stacks stay.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Sharing:&lt;/span&gt; Web 2.0 is this year’s buzzword so I guess we can only expect search engines to jump on that bandwagon too. The sharing tools in searchme: are up to par with what you’d expect these days. You can take a saved ‘stack’ and share it using traditional email or use a variety of social bookmarking services and throw it out on Digg or Facebook, you know the drill. It’s nice to have this feature baked into the search though so you don't need a 3rd party solution. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;All and all I’m pretty impressed. I’m not really sure about their business model yet and there isn’t much information in about us. There isn't really any advertising either. I still plan to use Google though: D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;That’s it for this one! Send your comments!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-5251512655551704011?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KF9GgoL5yvFXvrc6oEwLjyxqVUE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KF9GgoL5yvFXvrc6oEwLjyxqVUE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KF9GgoL5yvFXvrc6oEwLjyxqVUE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KF9GgoL5yvFXvrc6oEwLjyxqVUE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/EJd83LG-18g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/5251512655551704011/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=5251512655551704011&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5251512655551704011?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/5251512655551704011?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/EJd83LG-18g/searching-fresh-perspective.html" title="Searching, a fresh perspective" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/08/searching-fresh-perspective.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIMQXszcSp7ImA9WxdbEEs.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-3071829338929120006</id><published>2008-08-06T19:43:00.005-04:00</published><updated>2008-08-06T20:23:00.589-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-06T20:23:00.589-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="social networking" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="google analytics" /><category scheme="http://www.blogger.com/atom/ns#" term="recaptcha" /><title>First Look: NetCommunity v5.5</title><content type="html">&lt;span style="font-family:arial;"&gt;We upgraded our test environment to v5.5 the other day. It’s still early and I haven’t had a chance to jump into all the new features in any depth but I wanted to highlight some of the new features that I have had a chance to review. These aren’t in any particular order and I have left a few of the major features out, like Social Networking. I'm hoping to put out two more blog posts, one covering Social Networking specfically and another outlining the significant changes to the API.&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;One thing of note for those of you that have custom parts is that v5.5 uses a new version of the AJAXControlToolkit and BBNCExtensions in NetCommunity. Chances are that your existing custom parts probably use those DLLs so you’ll need to make sure you update your references, rebuild and redeploy your custom parts so they use the new DLLs when you upgrade.&lt;br /&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So what will I touch on in this first look?&lt;/span&gt; &lt;span style="font-family:arial;"&gt;&lt;br /&gt;•    Revamped administration pages&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;•    Friendly URLS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;•    reCaptcha&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:arial;"&gt;•    Site Tracking Code&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;br /&gt;Administration Pages&lt;/span&gt; &lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;The revamp of the administration page includes a new cleaner look as well as some pretty nice flow changes. You can now edit the stylesheets for a page or template and easily apply those changes right to the page. In previous versions you need to actually save and close before refreshing to view the changes made. They also moved the custom tags to the top which is the most logical place for it I think. &lt;/span&gt;  &lt;span style="font-family: arial;font-family:arial;" &gt;Another notable change is FireFox support for the admin pages. I’m an avid FireFox user and only switch over to IE when necessary so this is a nice change for me. Lastly, &lt;/span&gt;&lt;span style="font-family:arial;"&gt;the “remember me” functionality seems to be working properly now. I logged in last night and choose “remember me” and this morning I was still logged in. That’s a nice feature for administrators that are using the system on a regular basis.&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;&lt;span style="font-weight: bold;"&gt;Friendly URLs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;   A friendly url is a web address that is simplified like www.usna.com/givenow that redirects to any other url specified. In v5.5 native support for friendly or vanity urls has been added. This is great news for us because we have a custom solution we used to accomplish this. It's always good when a custom part can be retired because it's supported in the core product. One less application I need to support.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;&lt;span style="font-weight: bold;"&gt;reCaptcha&lt;/span&gt;&lt;br /&gt;For those that are unfamiliar with reCaptcha you can &lt;a href="http://recaptcha.net/learnmore.html"&gt;learn more here&lt;/a&gt;. A Captcha is a application that helps to ensure that individual filling out a form is in fact a real person and not a scripted bot. That is accomplished by forcing the user to decipher a series of characters and enter them into a text box before the form can be submitted. In v5.5 this feature is supported for most of the sensitive forms within NetCommunity. It can be turned off and on by each client so you aren't forced to enable it if you don't want to. If you choose to you'll need to setup an account and enter in two keys provided by reCaptcha into the NetCommunity admin.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Site Tracking Code&lt;/span&gt;&lt;br /&gt;Since we started using NetCommunity we have used &lt;a href="http://google.com/analytics"&gt;Google Analytics&lt;/a&gt; for stats tracking. This was typically accomplished by putting the tracking code some place on the layout pages your site used. This was a bit cumbersome if you had multiple layouts and if you created a new layout and forgot to add the code you were no longer getting accurate site traffic data. v5.5 adds native support for any site tracking code. In the admin you can simply enter in the code and it's automatically applied to all the pages on your site.&lt;br /&gt;&lt;br /&gt;So that's it for this one. As I said before I'm hoping to put out another post shortly covering the Social Networking piece added in v5.5 followed by one covering the API changes.&lt;br /&gt;&lt;br /&gt;As always if you have any questions please feel free to contact me on &lt;a href="http://www.twitter.com/digitalslacker"&gt;twitter&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: arial;font-family:arial;" &gt;&lt;a href="http://www.twitter.com/digitalslacker"&gt; here&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-3071829338929120006?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0-OXdFaAdUBr-35ubLQazRf5f-M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0-OXdFaAdUBr-35ubLQazRf5f-M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0-OXdFaAdUBr-35ubLQazRf5f-M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0-OXdFaAdUBr-35ubLQazRf5f-M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/FP5CeUgw4vs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/3071829338929120006/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=3071829338929120006&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3071829338929120006?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3071829338929120006?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/FP5CeUgw4vs/first-look-netcommunity-v55.html" title="First Look: NetCommunity v5.5" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/08/first-look-netcommunity-v55.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YFQXg6eip7ImA9WxdUFUU.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-6080218885080675706</id><published>2008-08-01T07:03:00.003-04:00</published><updated>2008-08-01T07:11:50.612-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-01T07:11:50.612-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="social networking" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="v5.5" /><title>RELEASE: Blackbaud NetCommunity v5.5</title><content type="html">&lt;span style="font-family: arial;"&gt;Well Blackbaud has released &lt;a href="http://www.blackbaud.com/NetCommunity"&gt;NetCommunity&lt;/a&gt; 5.5 late yesterday. It's not on the download page yet but I'm sure that's coming today.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2008/07/31/blackbaud-netcommunity-v5-5-release-news-part-3.aspx"&gt;Steve's latest post&lt;/a&gt; has a features overview and a link to the &lt;a href="http://www.blackbaud.com/default.aspx?pgpId=2531&amp;amp;PRID=267"&gt;press release&lt;/a&gt;. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Once I have a chance to download and test I'll be writing a brief review.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-6080218885080675706?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8DhOtiFAHFiVQHJ3Po18zf84Fdc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8DhOtiFAHFiVQHJ3Po18zf84Fdc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8DhOtiFAHFiVQHJ3Po18zf84Fdc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8DhOtiFAHFiVQHJ3Po18zf84Fdc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/PDN61tDl3lg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/6080218885080675706/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=6080218885080675706&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/6080218885080675706?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/6080218885080675706?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/PDN61tDl3lg/release-blackbaud-netcommunity-v55.html" title="RELEASE: Blackbaud NetCommunity v5.5" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/08/release-blackbaud-netcommunity-v55.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MASHs4eSp7ImA9WxdUE04.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-2443413606575325163</id><published>2008-07-29T09:26:00.003-04:00</published><updated>2008-07-29T09:50:49.531-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-29T09:50:49.531-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="v5.5" /><category scheme="http://www.blogger.com/atom/ns#" term="steve maclaughlin" /><title>Feature Review of NetCommunity v5.5</title><content type="html">&lt;span style="font-family: arial;"&gt;There isn't an established release date for NetCommunity v5.5 but I think we're getting close! It's an exciting upgrade and probably one of the bigger ones the NetCommunity product has seen. I'm personlly pretty excited about the API changes but this release is going to have lots of other non-API features in it. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;a href="http://www.blogbaud.com/blog/2006/12/13/steve-maclaughlin-internet-solutions-practice-manager/"&gt;Steve MacLaughlin&lt;/a&gt; just did a &lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2008/07/29/blackbaud-netcommunity-v5-5-release-news-part-2.aspx"&gt;blog post&lt;/a&gt; on some of the new items we can expect to see in v5.5. It's a pretty big list and includes some notables like eCards (&lt;a href="http://cbf.typepad.com/tech/"&gt;Michael Sola&lt;/a&gt; is happy!), Social Networking, Friendly URLs, Floating CSS Window and many more.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Read Steve's blog for the &lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2008/07/29/blackbaud-netcommunity-v5-5-release-news-part-2.aspx"&gt;full list&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-2443413606575325163?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-kPX-3mz-o83KeRcQB_wcdYgzpM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-kPX-3mz-o83KeRcQB_wcdYgzpM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-kPX-3mz-o83KeRcQB_wcdYgzpM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-kPX-3mz-o83KeRcQB_wcdYgzpM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/vbqMUaWjgKM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/2443413606575325163/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=2443413606575325163&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/2443413606575325163?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/2443413606575325163?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/vbqMUaWjgKM/feature-review-of-netcommunity-v55.html" title="Feature Review of NetCommunity v5.5" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/07/feature-review-of-netcommunity-v55.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4ERHY7eyp7ImA9WxdWF0o.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-8512368788897623156</id><published>2008-07-11T07:43:00.005-04:00</published><updated>2008-07-11T07:48:25.803-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-11T07:48:25.803-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="url" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="new" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><title>New Blog URL: customizingNetCommunity.com</title><content type="html">&lt;span style="font-family: arial;"&gt;Well I have taken the blog to the big leagues. I shelled out the $10 required by Blogger to give the blog it's own url!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;span style="font-family: arial;"&gt; The new url is &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.customizingNetCommunity.com"&gt;customizingNetCommunity.com&lt;/a&gt; &lt;br /&gt;&lt;span style="font-family: arial;"&gt;hopefully everything has propagated,&lt;br /&gt;The old url should redirect you to the new one&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-8512368788897623156?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gn1w2nQ-FiX8GCNA-i1xI7Ly4U8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gn1w2nQ-FiX8GCNA-i1xI7Ly4U8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gn1w2nQ-FiX8GCNA-i1xI7Ly4U8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gn1w2nQ-FiX8GCNA-i1xI7Ly4U8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/APvmUFYzWnw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/8512368788897623156/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=8512368788897623156&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/8512368788897623156?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/8512368788897623156?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/APvmUFYzWnw/new-blog-url-customizingnetcommunitycom.html" title="New Blog URL: customizingNetCommunity.com" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/07/new-blog-url-customizingnetcommunitycom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYDQX05cCp7ImA9WxdWF00.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-4804270851057423245</id><published>2008-07-10T07:17:00.008-04:00</published><updated>2008-07-10T11:19:30.328-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-10T11:19:30.328-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud User Society" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Platform" /><title>Review: The NetCommunity Open Platform</title><content type="html">&lt;span style="font-family:arial;"&gt;  Yesterday Blackbaud released &lt;/span&gt;&lt;a style="font-family: arial;" href="http://labs.blackbaud.com/netcommunity/open"&gt;The NetCommunity Open Platform (NCOP)&lt;/a&gt;&lt;span style="font-family:arial;"&gt;. It’s a comprehensive resource for developers that provides details about the NetCommunity API and other tools needed to get started creating custom parts. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  It’s been pointed out in the past but is worth pointing out again that the NetCommunity API has been open although largely unsupported for some time now. As the NetCommunity product has matured so has the capabilities of its API. The NCOP represents a continuing effort by Blackbaud to formalize resources available to developers that want to build custom parts in NetCommunity. Before Labs and the NCOP developers had to rely upon on trial and error, other developers, a few limited tools released by Blackbaud and more recently on &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.blackbus.org/"&gt;Blackbaud User Society&lt;/a&gt;&lt;span style="font-family:arial;"&gt; in order to learn how to build custom parts. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  Thanks to Michael Andrews and his team at Blackbaud for putting this resource together. It’s one of the better API documentations I have seen. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  The NCOP also outlined some of the upcoming API changes for v5.5 which is slated for release soon. There is a lot of new stuff in there and as a developer I’m pretty excited about what I’ll be able to do when v5.5 is released.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  For the non-technical readers this is where you can stop and send this link to your developer because we’re going to get in the weeds for a bit. &lt;a href="http://forums.blackbaud.com/blogs/connections/archive/2008/07/10/did-someone-say-open-platform.aspx"&gt;Steve MacLaughlin&lt;/a&gt; has posted some more info in his blog about NCOP for those interested.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;It looks like they have completely re-vamped the way the API is implemented. For those of you that just had visions of re-doing all of your current custom parts to work with this new model, relax! The good folks at Blackbaud still support the old API model so all your current stuff will still work. It also looks like they are going to just tag the old code with an ‘Obsolete’ warning when you build your project in Visual Studio. Backwards compatibility is key!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  The new model will provide the foundation for more structured future growth of the API. There are now basically two properties you need to worry about that have everything under them, API and Content. The API property is used to access the platform methods, services and settings. The Content property is used to access the content of your custom part. You can read through the details on the v5.5 changes &lt;a href="http://labs.blackbaud.com/NetCommunity/article?artid=591"&gt;here&lt;/a&gt;. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  The last component of the v5.5 changes I want to hit on is the formal addition of Custom Sever Controls. This is basically the ability to re-use some of the components of NetCommunity that already exist. This might include an ImageSelectButton that pops up the ImageLibrary and lets you choose an image to insert. It might also be PageLink selector or even a QueryPicker. As I understand it there were ways (unsupported) to accomplish some of this in the past but now that it’s in the API it’ll be much easier to do. What’s better than writing code that writes code? Writing code that re-uses code!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  Those are the highlights I think. I have not had an opportunity to get my hands on the new 5.5 API so once I do I’ll probably be able to provide some better specifics on all the new features. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  That’s it for this post. I know I keep promising another screen cast, those take a lot of time to create and I’m swamped right now but hopefully soon!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-4804270851057423245?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Eji0Vpxx9UH0W7biqgwE2bEOwMU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Eji0Vpxx9UH0W7biqgwE2bEOwMU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Eji0Vpxx9UH0W7biqgwE2bEOwMU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Eji0Vpxx9UH0W7biqgwE2bEOwMU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/2XdBp2eYn3A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/4804270851057423245/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=4804270851057423245&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4804270851057423245?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/4804270851057423245?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/2XdBp2eYn3A/review-netcommunity-open-platform.html" title="Review: The NetCommunity Open Platform" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/07/review-netcommunity-open-platform.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQGRnszeyp7ImA9WxdWFk4.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-937239638634973797</id><published>2008-07-09T15:01:00.006-04:00</published><updated>2008-07-09T15:38:47.583-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-09T15:38:47.583-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.5" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackbaud" /><category scheme="http://www.blogger.com/atom/ns#" term="platform" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="open" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="Open Platform" /><title>The NetCommunity Open Platform</title><content type="html">&lt;span style="font-family:arial;"&gt;Labs was just updated by Michael Andrews to include info on &lt;a href="http://labs.blackbaud.com/NetCommunity/Page.aspx?pid=228"&gt;The NetCommunity Open Platform&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I'm going to finish reviewing it tonight and hope to put out a review tomorrow. So far it looks interesting and I'm liking what I'm seeing. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Here's the &lt;/span&gt;&lt;a style="font-family: arial;" href="http://labs.blackbaud.com/NetCommunity/article?artid=579"&gt;link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-937239638634973797?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_ghiR_nABAHcBTQbCoCjjUK4H8s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_ghiR_nABAHcBTQbCoCjjUK4H8s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_ghiR_nABAHcBTQbCoCjjUK4H8s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_ghiR_nABAHcBTQbCoCjjUK4H8s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/IoompfekSFg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/937239638634973797/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=937239638634973797&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/937239638634973797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/937239638634973797?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/IoompfekSFg/netcommunity-open-platform.html" title="The NetCommunity Open Platform" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/07/netcommunity-open-platform.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YARXwzfip7ImA9WxdXF0Q.&quot;"><id>tag:blogger.com,1999:blog-2562394294264314194.post-3525443401897385094</id><published>2008-06-29T21:26:00.006-04:00</published><updated>2008-06-29T21:59:04.286-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-29T21:59:04.286-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="char norman" /><category scheme="http://www.blogger.com/atom/ns#" term="blackbus" /><category scheme="http://www.blogger.com/atom/ns#" term="NetCommunity" /><category scheme="http://www.blogger.com/atom/ns#" term="baudcast" /><category scheme="http://www.blogger.com/atom/ns#" term="blackbaud idea bank" /><title>Blackbaud NetCommunity ideabank</title><content type="html">&lt;span style="font-family:arial;"&gt;I know I haven't been posting as frequently as I usually do. We're heads down on a few projects but don't worry as we head into summer things will open up a bit and I should have some more time on my hands. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Wanted to post this for those that haven't heard about it yet.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The &lt;a href="http://blackbaudnetcommunity.uservoice.com/"&gt;Blackbaud NetCommunity ideabank&lt;/a&gt; was featured on the latest version (episode #10) of the &lt;a href="http://www.blackbaud.com/company/resources/podcasts/thebaudcast.aspx"&gt;Baudcast&lt;/a&gt; hosted by &lt;a href="https://twitter.com/chadnorman"&gt;Chad Norman&lt;/a&gt;. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;It's a tool that allows the public to suggest and vote on new features for Blackbaud NetCommunity.  &lt;/span&gt;&lt;span style="font-family:arial;"&gt;It's a pretty neat approach and lets Blackbaud get a feel for what enhacements are the most valuable to their customers. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;This is an approach that the &lt;a href="http://www.blackbus.org/ideas/"&gt;Blackbaud User Society Forum&lt;/a&gt; has done for a while now.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Expect another screen cast soon! I promise!&lt;br /&gt;In the mean time be sure to:&lt;br /&gt;&lt;a href="https://twitter.com/digitalslacker"&gt;Join My FaceBook Group&lt;/a&gt;&lt;a href="https://twitter.com/digitalslacker"&gt;&lt;br /&gt;Follow me on Twitter&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/in/digitalslacker"&gt;View my LinkedIn Profile&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;oh and dont' forget to VOTE on the latest poll ---&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2562394294264314194-3525443401897385094?l=www.customizingnetcommunity.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iyghbp9rF07L0KBPd27lyv3xdo4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iyghbp9rF07L0KBPd27lyv3xdo4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iyghbp9rF07L0KBPd27lyv3xdo4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iyghbp9rF07L0KBPd27lyv3xdo4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/customizingnetcommunity/eDVC/~4/StmOg3D2vqA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.customizingnetcommunity.com/feeds/3525443401897385094/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2562394294264314194&amp;postID=3525443401897385094&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3525443401897385094?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2562394294264314194/posts/default/3525443401897385094?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/customizingnetcommunity/eDVC/~3/StmOg3D2vqA/blackbaud-netcommunity-ideabank.html" title="Blackbaud NetCommunity ideabank" /><author><name>Garrett</name><uri>http://www.blogger.com/profile/15687258078570556346</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://1.bp.blogspot.com/_rCBVAoW7emM/TJC1geahrfI/AAAAAAAALzE/BiWzJHEUCUo/S220/current_profile.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.customizingnetcommunity.com/2008/06/blackbaud-netcommunity-ideabank.html</feedburner:origLink></entry></feed>

