<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>IT / Web &#187; Uncategorized</title>
	<atom:link href="http://insidenorthpoint.org/it/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://insidenorthpoint.org/it</link>
	<description>A look inside Information Technology at North Point</description>
	<pubDate>Tue, 16 Aug 2011 15:06:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Fonts and Dynamic CSS Files</title>
		<link>http://insidenorthpoint.org/it/2011/08/16/google-fonts-and-dynamic-css-files/</link>
		<comments>http://insidenorthpoint.org/it/2011/08/16/google-fonts-and-dynamic-css-files/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 15:06:02 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=616</guid>
		<description><![CDATA[<p>We recently had to figure out how to use google fonts for a specific page on one of our sites. We did not want to load in a CSS file that would only be needed on one page, so we had to find a way to dynamically load the CSS and thought we&#8217;d share the solution. The script snippet that google included didn&#8217;t work for some reason (perhaps some conflicts with existing scripts on the site), so we found a jQuery solution to load a CSS file when you don&#8217;t want to add code to the &lt;head&gt; for the entire site.</p>
<p><code><br />
&lt;script type="text/javascript"&gt;<br />
/* &lt;![CDATA[ */<br />
var link = $("&lt;link&gt;");<br />
link.attr({<br />
        type: 'text/css',<br />
        rel: 'stylesheet',<br />
        href: 'http://fonts.googleapis.com/css?family=Architects+Daughter'<br />
});<br />
$("head").append( link ); <br />
/* ]]&gt; */<br />
&lt;/script&gt;<br />
</code><br />
Go here (<a href="http://www.google.com/webfonts"><span class="s1">http://www.google.com/webfonts</span></a>) to select the font(s) you want to add, then it gives you the standard &lt;link&gt; you can add to your page if you want it in the head. But if you need to add that inside the &lt;body&gt;, use the above code and just replace the href attribute with the link google gives you.</p>
<p>Then just use CSS as normal:</p>
<p><code><br />
.classWithGoogleFont {<br />
     font-family: 'Architects Daughter', cursive;<br />
}<br />
</code><br />
Enjoy!</p>
]]></description>
			<content:encoded><![CDATA[<p>We recently had to figure out how to use google fonts for a specific page on one of our sites. We did not want to load in a CSS file that would only be needed on one page, so we had to find a way to dynamically load the CSS and thought we&#8217;d share the solution. The script snippet that google included didn&#8217;t work for some reason (perhaps some conflicts with existing scripts on the site), so we found a jQuery solution to load a CSS file when you don&#8217;t want to add code to the &lt;head&gt; for the entire site.</p>
<p><code><br />
&lt;script type="text/javascript"&gt;<br />
/* &lt;![CDATA[ */<br />
var link = $("&lt;link&gt;");<br />
link.attr({<br />
        type: 'text/css',<br />
        rel: 'stylesheet',<br />
        href: 'http://fonts.googleapis.com/css?family=Architects+Daughter'<br />
});<br />
$("head").append( link ); <br />
/* ]]&gt; */<br />
&lt;/script&gt;<br />
</code><br />
Go here (<a href="http://www.google.com/webfonts"><span class="s1">http://www.google.com/webfonts</span></a>) to select the font(s) you want to add, then it gives you the standard &lt;link&gt; you can add to your page if you want it in the head. But if you need to add that inside the &lt;body&gt;, use the above code and just replace the href attribute with the link google gives you.</p>
<p>Then just use CSS as normal:</p>
<p><code><br />
.classWithGoogleFont {<br />
     font-family: 'Architects Daughter', cursive;<br />
}<br />
</code><br />
Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2011/08/16/google-fonts-and-dynamic-css-files/feed/</wfw:commentRss>
		</item>
		<item>
		<title>No Is The New Yes</title>
		<link>http://insidenorthpoint.org/it/2010/10/23/no-is-the-new-yes/</link>
		<comments>http://insidenorthpoint.org/it/2010/10/23/no-is-the-new-yes/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 12:23:28 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=562</guid>
		<description><![CDATA[<p>This simple statement was just a small part of one of the talks during last week&#8217;s <a href="http://refreshcache.com/" target="_blank">(refresh)cache</a> conference, an unofficial conference for the Arena developer community. Jon Edmiston, one of the original Arena developers from <a href="http://ccvonline.com/" target="_blank">CCV</a>, gave  a talk on strategy, and this short phrase has stuck with me so I thought I&#8217;d share it.</p>
<blockquote><p>&#8220;No&#8221; is the new &#8220;yes.&#8221;</p></blockquote>
<p>This is one of those principals that is not new and is fairly obvious, but somehow we don&#8217;t think about it as we make everyday decisions. The gist of the statement was that every time we say &#8220;no&#8221; to something, we&#8217;re also saying &#8220;yes&#8221; to something else. We are constantly making decisions about where we will spend our resources - time, money, &amp; energy - and we only have a finite amount to spend. None of us likes to say &#8220;no&#8221; to our ministry partners, but if we view it through the lens of &#8220;no, and here&#8217;s what we&#8217;re saying &#8216;yes&#8217; to&#8221; we can get on the same page about what we&#8217;re doing as a ministry.</p>
<p>Again, this is certainly not new information, but the corollary of this principal is what has really got me thinking. If the above is true, then when we say &#8220;yes&#8221; to something we&#8217;re also saying &#8220;no&#8221; to something else. So every time we agree to work on a project, build something, or spend our resources on a ministry initiative, we&#8217;re likely saying &#8220;no&#8221; to another idea.</p>
<p>The other part that has stuck in my head is that this is as <em>true at home as it is at work</em>.</p>
<p>I guess it all boils down to <strong>stewardship</strong> - we are stewards of our own time and energy and also of our team&#8217;s resources, and we are accountable for those resources. So we&#8217;re going to be thinking about how we can apply these principals to our decision making process so that we can utilize our resources to better help fulfill our ministry&#8217;s mission.</p>
<p><a href="http://insidenorthpoint.org/it/2010/10/23/no-is-the-new-yes/#respond">How are you managing your limited resources?</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This simple statement was just a small part of one of the talks during last week&#8217;s <a href="http://refreshcache.com/" target="_blank">(refresh)cache</a> conference, an unofficial conference for the Arena developer community. Jon Edmiston, one of the original Arena developers from <a href="http://ccvonline.com/" target="_blank">CCV</a>, gave  a talk on strategy, and this short phrase has stuck with me so I thought I&#8217;d share it.</p>
<blockquote><p>&#8220;No&#8221; is the new &#8220;yes.&#8221;</p></blockquote>
<p>This is one of those principals that is not new and is fairly obvious, but somehow we don&#8217;t think about it as we make everyday decisions. The gist of the statement was that every time we say &#8220;no&#8221; to something, we&#8217;re also saying &#8220;yes&#8221; to something else. We are constantly making decisions about where we will spend our resources - time, money, &amp; energy - and we only have a finite amount to spend. None of us likes to say &#8220;no&#8221; to our ministry partners, but if we view it through the lens of &#8220;no, and here&#8217;s what we&#8217;re saying &#8216;yes&#8217; to&#8221; we can get on the same page about what we&#8217;re doing as a ministry.</p>
<p>Again, this is certainly not new information, but the corollary of this principal is what has really got me thinking. If the above is true, then when we say &#8220;yes&#8221; to something we&#8217;re also saying &#8220;no&#8221; to something else. So every time we agree to work on a project, build something, or spend our resources on a ministry initiative, we&#8217;re likely saying &#8220;no&#8221; to another idea.</p>
<p>The other part that has stuck in my head is that this is as <em>true at home as it is at work</em>.</p>
<p>I guess it all boils down to <strong>stewardship</strong> - we are stewards of our own time and energy and also of our team&#8217;s resources, and we are accountable for those resources. So we&#8217;re going to be thinking about how we can apply these principals to our decision making process so that we can utilize our resources to better help fulfill our ministry&#8217;s mission.</p>
<p><a href="http://insidenorthpoint.org/it/2010/10/23/no-is-the-new-yes/#respond">How are you managing your limited resources?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2010/10/23/no-is-the-new-yes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>One Crazy Summer</title>
		<link>http://insidenorthpoint.org/it/2010/10/11/one-crazy-summer/</link>
		<comments>http://insidenorthpoint.org/it/2010/10/11/one-crazy-summer/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 14:24:45 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=557</guid>
		<description><![CDATA[<p>Now that summer is over and Fall has arrived, we wanted to share a little bit about what we&#8217;ve been up to. One of the things we talk about at North Point is determining our strengths and trying to maximize those strengths, both individually and in our teams; well, clearly blogging isn&#8217;t one of our team&#8217;s strengths. It&#8217;s certainly not from a lack of things to share, so we are going to try to ramp things back up and (hopefully) reopen the conversation. Thanks for reading&#8230;</p>
<p><span id="more-557"></span>To start off, we&#8217;d like to highlight some of the sites and systems we&#8217;ve been working on for the past three months:</p>
<ul>
<li><a href="http://www.arenachms.com/" target="_blank">Arena ChMS</a> - We&#8217;ve been continuing to tweak, stabilize and improve our new church management system. Any migration from a system that was used for over 10 years will come with it&#8217;s growing pains, and we&#8217;ve certainly had our challenges as we&#8217;ve incorporated Arena into our daily and weekly work processes. We&#8217;re on the cusp of getting the base system to a place where we can begin adding a lot of features and functionality to it, so we&#8217;re excited about the coming months.</li>
<li><a href="http://store.northpoint.org" target="_blank">store.northpoint.org</a> - In August we launched our new web store, based on <a href="http://www.magentocommerce.com/" target="_blank">Magento</a>. This was another large migration from an existing system and product that was used for several years, and we&#8217;ve gotten through the big challenges and are excited about the flexibility and opportunities our new platform gives us.</li>
<li><a href="http://upstreetkids.org/fbc" target="_blank">Family Birthday Celebration</a> - We partnered with <a href="http://eyespeak.com/" target="_blank">eyespeak</a> to build a site and registration system for UpStreet. This site is based on <a href="http://cakephp.org/" target="_blank">Cake PHP</a> and walks parents through the baptism process for their elementary-aged children. Check out <a href="http://insidenorthpoint.org/kids/2010/10/07/new-family-birthday-celebration-website/">this post</a> on our kids blog for more details.</li>
<li><a href="http://kidstuf.com" target="_blank">kidstuf.com</a> - We also launched a new website for KidStuf based on WordPress, again in partnership with eyespeak.</li>
<li><a href="http://driveconference.com" target="_blank">driveconference.com</a> - Last week we launched a new site for our Drive Conference. We tried out something new for this site and it worked very well: our events team worked with a designer to create the new look, and we used <a href="http://psd2html.com" target="_blank">psd2html.com</a> to convert his photoshop design files into xhtml. We also opened up a new registration system for the event, this time partnering with <a href="http://www.memberclicks.com/" target="_blank">memberclicks</a> on a hosted platform.</li>
<li>Short Term Finance Groups - We once again partnered with eyespeak to build an online registration system for a new type of small group at our three campuses. This Fall we launched a six-week finance small group, and we built a map-based group finder using Cake PHP for the registration and back-end administration.</li>
<li>Oh, and we also re-organized our IT team to better serve our customers. More on that later&#8230;</li>
</ul>
<p>How was your summer?</p>
]]></description>
			<content:encoded><![CDATA[<p>Now that summer is over and Fall has arrived, we wanted to share a little bit about what we&#8217;ve been up to. One of the things we talk about at North Point is determining our strengths and trying to maximize those strengths, both individually and in our teams; well, clearly blogging isn&#8217;t one of our team&#8217;s strengths. It&#8217;s certainly not from a lack of things to share, so we are going to try to ramp things back up and (hopefully) reopen the conversation. Thanks for reading&#8230;</p>
<p><span id="more-557"></span>To start off, we&#8217;d like to highlight some of the sites and systems we&#8217;ve been working on for the past three months:</p>
<ul>
<li><a href="http://www.arenachms.com/" target="_blank">Arena ChMS</a> - We&#8217;ve been continuing to tweak, stabilize and improve our new church management system. Any migration from a system that was used for over 10 years will come with it&#8217;s growing pains, and we&#8217;ve certainly had our challenges as we&#8217;ve incorporated Arena into our daily and weekly work processes. We&#8217;re on the cusp of getting the base system to a place where we can begin adding a lot of features and functionality to it, so we&#8217;re excited about the coming months.</li>
<li><a href="http://store.northpoint.org" target="_blank">store.northpoint.org</a> - In August we launched our new web store, based on <a href="http://www.magentocommerce.com/" target="_blank">Magento</a>. This was another large migration from an existing system and product that was used for several years, and we&#8217;ve gotten through the big challenges and are excited about the flexibility and opportunities our new platform gives us.</li>
<li><a href="http://upstreetkids.org/fbc" target="_blank">Family Birthday Celebration</a> - We partnered with <a href="http://eyespeak.com/" target="_blank">eyespeak</a> to build a site and registration system for UpStreet. This site is based on <a href="http://cakephp.org/" target="_blank">Cake PHP</a> and walks parents through the baptism process for their elementary-aged children. Check out <a href="http://insidenorthpoint.org/kids/2010/10/07/new-family-birthday-celebration-website/">this post</a> on our kids blog for more details.</li>
<li><a href="http://kidstuf.com" target="_blank">kidstuf.com</a> - We also launched a new website for KidStuf based on WordPress, again in partnership with eyespeak.</li>
<li><a href="http://driveconference.com" target="_blank">driveconference.com</a> - Last week we launched a new site for our Drive Conference. We tried out something new for this site and it worked very well: our events team worked with a designer to create the new look, and we used <a href="http://psd2html.com" target="_blank">psd2html.com</a> to convert his photoshop design files into xhtml. We also opened up a new registration system for the event, this time partnering with <a href="http://www.memberclicks.com/" target="_blank">memberclicks</a> on a hosted platform.</li>
<li>Short Term Finance Groups - We once again partnered with eyespeak to build an online registration system for a new type of small group at our three campuses. This Fall we launched a six-week finance small group, and we built a map-based group finder using Cake PHP for the registration and back-end administration.</li>
<li>Oh, and we also re-organized our IT team to better serve our customers. More on that later&#8230;</li>
</ul>
<p>How was your summer?</p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2010/10/11/one-crazy-summer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Triage</title>
		<link>http://insidenorthpoint.org/it/2010/06/25/triage/</link>
		<comments>http://insidenorthpoint.org/it/2010/06/25/triage/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 19:15:28 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=552</guid>
		<description><![CDATA[<p>We are now live on our new <a href="http://arenachms.com/" target="_blank">Arena Church Management System</a>!</p>
<p>As we prepared for our rollout, we knew we needed to find a way to make certain that the ministry teams at all our campuses had the support they needed to hit the ground running on our new system. Yes, we did spend time <a href="http://insidenorthpoint.org/it/2010/05/14/training/">training</a> and preparing, but the real test is when the system is live and you have to get your job done because Sunday is coming!</p>
<p>We ended up setting up &#8220;Triage Rooms&#8221; at each campus for our first two weeks of production on Arena. Yes, we realize that for many of you this brings to mind images of M*A*S*H and a bloody operating room, but we called them that anyway! <img class="alignright size-medium wp-image-553" src="http://insidenorthpoint.org/it/files/2010/06/photos-from-mash-300x218.jpg" alt="MASH" width="300" height="218" />We found a central location that was convenient for the teams at that campus, stocked those rooms with candy and snacks, and manned each one with members of our team so that we could provide face-to-face support. We do have some unique challenges because of the size of our staff and the fact that we are separated geographically, so being onsite allowed us to provide a personal touch, which went a long way to providing a comfort level to our ministries. We didn&#8217;t know how effective this would be, but it ended up being a huge success!</p>
<p>A lot of work certainly went into getting us to this point, and we look at this as just the beginning. Now that we&#8217;ve built the foundation (yes, we still have a few &#8220;punch list&#8221; items to take care of), we are excited about adding on to that foundation to provide new tools, sites, and systems to the ministries at our campuses. This is one of the (if not <em>the</em>) biggest technology projects we&#8217;ve ever undertaken, and using these triage rooms helped us provide the support and customer service our ministry partners needed to be able to confidently do their jobs using the new system.</p>
<p><a href="/it/2010/06/25/triage/#respond">How do you support your church when you make a big change?</a></p>
]]></description>
			<content:encoded><![CDATA[<p>We are now live on our new <a href="http://arenachms.com/" target="_blank">Arena Church Management System</a>!</p>
<p>As we prepared for our rollout, we knew we needed to find a way to make certain that the ministry teams at all our campuses had the support they needed to hit the ground running on our new system. Yes, we did spend time <a href="http://insidenorthpoint.org/it/2010/05/14/training/">training</a> and preparing, but the real test is when the system is live and you have to get your job done because Sunday is coming!</p>
<p>We ended up setting up &#8220;Triage Rooms&#8221; at each campus for our first two weeks of production on Arena. Yes, we realize that for many of you this brings to mind images of M*A*S*H and a bloody operating room, but we called them that anyway! <img class="alignright size-medium wp-image-553" src="http://insidenorthpoint.org/it/files/2010/06/photos-from-mash-300x218.jpg" alt="MASH" width="300" height="218" />We found a central location that was convenient for the teams at that campus, stocked those rooms with candy and snacks, and manned each one with members of our team so that we could provide face-to-face support. We do have some unique challenges because of the size of our staff and the fact that we are separated geographically, so being onsite allowed us to provide a personal touch, which went a long way to providing a comfort level to our ministries. We didn&#8217;t know how effective this would be, but it ended up being a huge success!</p>
<p>A lot of work certainly went into getting us to this point, and we look at this as just the beginning. Now that we&#8217;ve built the foundation (yes, we still have a few &#8220;punch list&#8221; items to take care of), we are excited about adding on to that foundation to provide new tools, sites, and systems to the ministries at our campuses. This is one of the (if not <em>the</em>) biggest technology projects we&#8217;ve ever undertaken, and using these triage rooms helped us provide the support and customer service our ministry partners needed to be able to confidently do their jobs using the new system.</p>
<p><a href="/it/2010/06/25/triage/#respond">How do you support your church when you make a big change?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2010/06/25/triage/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Training</title>
		<link>http://insidenorthpoint.org/it/2010/05/14/training/</link>
		<comments>http://insidenorthpoint.org/it/2010/05/14/training/#comments</comments>
		<pubDate>Fri, 14 May 2010 19:52:29 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[arena]]></category>

		<category><![CDATA[chms]]></category>

		<category><![CDATA[church management]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=530</guid>
		<description><![CDATA[<p>We recently finished a series of training days for our staff where we did preliminary training on our new Arena Church Management System. Everything we do seems to bring its own set of lessons to learn from, and this was no different. Here are some things that we discovered (or re-discovered) about training:</p>
<ul>
<li>As much as we technologists might like playing around with computer systems, and as excited as we might be about launching something new, not everyone feels that way. It&#8217;s important to keep in mind that we very likely might be in the minority when it comes to this, so we should remember that in our delivery, planning, etc., and not assume that others are as geeky as we are.</li>
<li>It&#8217;s important to try to be as specific as you can, with realistic examples and exercises. It&#8217;s hard enough to remember your training once you start using a new system or application in earnest, but if the exercises were more theoretical than practical it will be even harder.</li>
<li>As much as we&#8217;d like to think we can train everyone so that they can hit the ground running once a new system is implemented, that&#8217;s just not reality. Our own experience supports this fact. There&#8217;s always a ramp-up time of regular usage before someone is truly comfortable using something new. This certainly doesn&#8217;t mean that we shouldn&#8217;t train people; rather that we should realize that formal training is just one piece of the puzzle. We are planning some follow-up targeted training, video screencasts, and other ideas to provide ongoing training for our staff.</li>
<li>Make it fun. We&#8217;re firm believers in the <a href="http://www.thefuntheory.com/" target="_blank">Fun Theory</a> around here, and while we might think a full day of computer training is fun, not everyone does. So come up with something that can make training fun - we played trivia games after each break (What does the word <em>Arena</em> mean in Latin, and why?) and incorporated some small prizes.</li>
<li>Have good snacks! We had soft pretzels, ice cream, and other goodies for our afternoon breaks, plus an assortment of candy, gum, fruit, etc., for the entire day. Everyone enjoyed getting to eat some candy they hadn&#8217;t had since they were kids (chewy sweet tarts, anyone?)</li>
</ul>
<p style="margin-top:20px"><a href="/it/2010/05/14/training/#respond">So what do you do to train your users?</a></p>
]]></description>
			<content:encoded><![CDATA[<p>We recently finished a series of training days for our staff where we did preliminary training on our new Arena Church Management System. Everything we do seems to bring its own set of lessons to learn from, and this was no different. Here are some things that we discovered (or re-discovered) about training:</p>
<ul>
<li>As much as we technologists might like playing around with computer systems, and as excited as we might be about launching something new, not everyone feels that way. It&#8217;s important to keep in mind that we very likely might be in the minority when it comes to this, so we should remember that in our delivery, planning, etc., and not assume that others are as geeky as we are.</li>
<li>It&#8217;s important to try to be as specific as you can, with realistic examples and exercises. It&#8217;s hard enough to remember your training once you start using a new system or application in earnest, but if the exercises were more theoretical than practical it will be even harder.</li>
<li>As much as we&#8217;d like to think we can train everyone so that they can hit the ground running once a new system is implemented, that&#8217;s just not reality. Our own experience supports this fact. There&#8217;s always a ramp-up time of regular usage before someone is truly comfortable using something new. This certainly doesn&#8217;t mean that we shouldn&#8217;t train people; rather that we should realize that formal training is just one piece of the puzzle. We are planning some follow-up targeted training, video screencasts, and other ideas to provide ongoing training for our staff.</li>
<li>Make it fun. We&#8217;re firm believers in the <a href="http://www.thefuntheory.com/" target="_blank">Fun Theory</a> around here, and while we might think a full day of computer training is fun, not everyone does. So come up with something that can make training fun - we played trivia games after each break (What does the word <em>Arena</em> mean in Latin, and why?) and incorporated some small prizes.</li>
<li>Have good snacks! We had soft pretzels, ice cream, and other goodies for our afternoon breaks, plus an assortment of candy, gum, fruit, etc., for the entire day. Everyone enjoyed getting to eat some candy they hadn&#8217;t had since they were kids (chewy sweet tarts, anyone?)</li>
</ul>
<p style="margin-top:20px"><a href="/it/2010/05/14/training/#respond">So what do you do to train your users?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2010/05/14/training/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Moving 0s and 1s</title>
		<link>http://insidenorthpoint.org/it/2010/03/26/moving-0s-and-1s/</link>
		<comments>http://insidenorthpoint.org/it/2010/03/26/moving-0s-and-1s/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 17:11:08 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[arena]]></category>

		<category><![CDATA[data]]></category>

		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=470</guid>
		<description><![CDATA[<p><img class="alignleft size-full wp-image-474" src="http://insidenorthpoint.org/it/files/2010/03/istock_datamigration.jpg" alt="Moving Data" width="300" height="225" />We have several big projects currently underway that have underscored the importance of accurate and complete data. For the past several months we have spent a lot of effort ensuring that our member and group data will be migrated correctly into our new <a href="http://arenachms.com/" target="_blank">Arena Church Management System</a>. We&#8217;re also migrating to a new e-Commerce site based on <a href="http://www.magentocommerce.com/" target="_blank">Magento</a>, and we&#8217;ve been working recently on migrating our customer, product, and order data.</p>
<p>The process we&#8217;ve gone through has confirmed a couple of things for our team:</p>
<ul>
<li><strong>Data migration isn&#8217;t the most exciting task</strong> - unlike new site designs or cool apps, no one tweets about how smoothly a data migration goes.</li>
<li><strong>It&#8217;s not as simple as it seems</strong> - especially when you&#8217;re moving from old systems with non-relational databases.</li>
<li><strong>The devil&#8217;s in the details</strong> - mapping the major fields is usually straightforward, but then there&#8217;s always that &#8220;oh yeah, we also need to have this attribute in our new system&#8221; that you have to account for.</li>
<li><strong>It&#8217;s important</strong> - I know we would all rather spend time thinking about the front-end design, new features and functionality, etc., but that shiny new site will get pretty ugly pretty quickly if it doesn&#8217;t work because the customer or user data isn&#8217;t there.</li>
</ul>
<p>So the main lesson we&#8217;ve learned is that we need to set aside sufficient time and energy to ensure that the underlying data for our sites and systems is complete and accurate.</p>
<p><a href="/it/2010/03/26/moving-0s-and-1s#comments">Exciting, huh?</a></p>
]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-474" src="http://insidenorthpoint.org/it/files/2010/03/istock_datamigration.jpg" alt="Moving Data" width="300" height="225" />We have several big projects currently underway that have underscored the importance of accurate and complete data. For the past several months we have spent a lot of effort ensuring that our member and group data will be migrated correctly into our new <a href="http://arenachms.com/" target="_blank">Arena Church Management System</a>. We&#8217;re also migrating to a new e-Commerce site based on <a href="http://www.magentocommerce.com/" target="_blank">Magento</a>, and we&#8217;ve been working recently on migrating our customer, product, and order data.</p>
<p>The process we&#8217;ve gone through has confirmed a couple of things for our team:</p>
<ul>
<li><strong>Data migration isn&#8217;t the most exciting task</strong> - unlike new site designs or cool apps, no one tweets about how smoothly a data migration goes.</li>
<li><strong>It&#8217;s not as simple as it seems</strong> - especially when you&#8217;re moving from old systems with non-relational databases.</li>
<li><strong>The devil&#8217;s in the details</strong> - mapping the major fields is usually straightforward, but then there&#8217;s always that &#8220;oh yeah, we also need to have this attribute in our new system&#8221; that you have to account for.</li>
<li><strong>It&#8217;s important</strong> - I know we would all rather spend time thinking about the front-end design, new features and functionality, etc., but that shiny new site will get pretty ugly pretty quickly if it doesn&#8217;t work because the customer or user data isn&#8217;t there.</li>
</ul>
<p>So the main lesson we&#8217;ve learned is that we need to set aside sufficient time and energy to ensure that the underlying data for our sites and systems is complete and accurate.</p>
<p><a href="/it/2010/03/26/moving-0s-and-1s#comments">Exciting, huh?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2010/03/26/moving-0s-and-1s/feed/</wfw:commentRss>
		</item>
		<item>
		<title>To Upgrade or Not To Upgrade&#8230;</title>
		<link>http://insidenorthpoint.org/it/2010/02/05/to-upgrade-or-not-to-upgrade/</link>
		<comments>http://insidenorthpoint.org/it/2010/02/05/to-upgrade-or-not-to-upgrade/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 14:54:27 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=347</guid>
		<description><![CDATA[<p>If you&#8217;re anything like us, you&#8217;ve got more than enough work to keep your team busy. The appetite for web sites and applications continues to grow at a frenetic pace, and the ministry teams we support have no shortage of great ideas. And, of course, we all love to work on projects that come with new challenges, cutting-edge technologies, and high impact. Yet, in the midst of all of this activity, we cannot neglect the technology infrastructure that allows us to provide these great services to our ministries and their audience.</p>
<p>One particular challenge that we&#8217;ve been discussing lately is upgrades. There are many different schools of thought on this one - some could be considered &#8220;early adopters&#8221;, choosing to upgrade their systems with every new release. This is attractive in that you&#8217;re always up-to-date should any problems with your infrastructure arise, and you get the new features as soon as they come out. On the other end of the spectrum, there are those that never upgrade unless they encounter a problem - &#8220;if it ain&#8217;t broke, don&#8217;t fix it.&#8221;</p>
<p>One of the by-products of our organization&#8217;s strategy to be a &#8220;<a href="http://insidenorthpoint.org/media/2009/05/21/house-of-brands-vs-branding-house/">House of Brands</a>&#8221; is that we have a lot of different sites running on a variety of platforms, so we&#8217;ve recently started putting together a strategy for how and when to upgrade our systems. This includes the following, to name a few:</p>
<ul>
<li>Operating Systems for our web servers and database servers (Red Hat Linux and Windows Server)</li>
<li>Database Systems (MySQL and Microsoft SQL)</li>
<li>WordPress, WordPress MU, and Expression Engine content management systems</li>
<li>Church Management Systems</li>
<li>Java and .NET</li>
<li>jQuery</li>
</ul>
<p>We&#8217;re more than a little overdue to implement a proactive strategy around how we want to keep these systems up-to-date, but we are working on it and getting better. Whether you have one site or many to manage, it is prudent to sit down and figure out what strategy fits your organization best.</p>
<p><a href="http://insidenorthpoint.org/it/2010/02/05/to-upgrade-or-not-to-upgrade/#comments">What&#8217;s your upgrade strategy?</a></p>
]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re anything like us, you&#8217;ve got more than enough work to keep your team busy. The appetite for web sites and applications continues to grow at a frenetic pace, and the ministry teams we support have no shortage of great ideas. And, of course, we all love to work on projects that come with new challenges, cutting-edge technologies, and high impact. Yet, in the midst of all of this activity, we cannot neglect the technology infrastructure that allows us to provide these great services to our ministries and their audience.</p>
<p>One particular challenge that we&#8217;ve been discussing lately is upgrades. There are many different schools of thought on this one - some could be considered &#8220;early adopters&#8221;, choosing to upgrade their systems with every new release. This is attractive in that you&#8217;re always up-to-date should any problems with your infrastructure arise, and you get the new features as soon as they come out. On the other end of the spectrum, there are those that never upgrade unless they encounter a problem - &#8220;if it ain&#8217;t broke, don&#8217;t fix it.&#8221;</p>
<p>One of the by-products of our organization&#8217;s strategy to be a &#8220;<a href="http://insidenorthpoint.org/media/2009/05/21/house-of-brands-vs-branding-house/">House of Brands</a>&#8221; is that we have a lot of different sites running on a variety of platforms, so we&#8217;ve recently started putting together a strategy for how and when to upgrade our systems. This includes the following, to name a few:</p>
<ul>
<li>Operating Systems for our web servers and database servers (Red Hat Linux and Windows Server)</li>
<li>Database Systems (MySQL and Microsoft SQL)</li>
<li>WordPress, WordPress MU, and Expression Engine content management systems</li>
<li>Church Management Systems</li>
<li>Java and .NET</li>
<li>jQuery</li>
</ul>
<p>We&#8217;re more than a little overdue to implement a proactive strategy around how we want to keep these systems up-to-date, but we are working on it and getting better. Whether you have one site or many to manage, it is prudent to sit down and figure out what strategy fits your organization best.</p>
<p><a href="http://insidenorthpoint.org/it/2010/02/05/to-upgrade-or-not-to-upgrade/#comments">What&#8217;s your upgrade strategy?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2010/02/05/to-upgrade-or-not-to-upgrade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bombarded with questions? So are we.</title>
		<link>http://insidenorthpoint.org/it/2009/12/07/bombarded-with-questions-so-are-we/</link>
		<comments>http://insidenorthpoint.org/it/2009/12/07/bombarded-with-questions-so-are-we/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 16:21:47 +0000</pubDate>
		<dc:creator>Amber</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=330</guid>
		<description><![CDATA[<p>Being a &#8220;mega-church&#8221; has it&#8217;s perks&#8230;cool buildings, great music, great messages, and thousands of people to join in community with.</p>
<p>But, being a &#8220;mega-church&#8221; also has its issues.</p>
<p>One of the biggest issues that our Web Team faces is being bombarded with &#8220;How did you do _____?&#8221; questions. Please don&#8217;t misunderstand me here, we LOVE helping other church leaders find their way in the crazy World Wide Web, but literally answering 50-100 phone calls and emails a week regarding <em>&#8220;How&#8217;d ya do that?&#8221;</em> was getting a bit much.</p>
<p>Now, this may seem simple to you (and why we haven&#8217;t done this sooner, I&#8217;ll never know!), but we have created a FAQs page to direct people to when they have specific questions. This page will be available very soon, and we will be happy to point everyone to it! I will even be changing my voice mail to say the following:</p>
<p><em>You have reached Amber Castleberry with North Point Ministries. If you have a question regarding how our Web Team has created or designed any portion of our website, please go to this URL _________ where you will most likely find your question (and many more) answered. All other inquiries, please leave a message. Thanks, and have a great day!</em></p>
<p>&#8211;</p>
<p>Please check back soon to find our shared FAQs page. And, if you have a question&#8230;feel free to drop one in the comments section - it may just end up being answered very soon!</p>
]]></description>
			<content:encoded><![CDATA[<p>Being a &#8220;mega-church&#8221; has it&#8217;s perks&#8230;cool buildings, great music, great messages, and thousands of people to join in community with.</p>
<p>But, being a &#8220;mega-church&#8221; also has its issues.</p>
<p>One of the biggest issues that our Web Team faces is being bombarded with &#8220;How did you do _____?&#8221; questions. Please don&#8217;t misunderstand me here, we LOVE helping other church leaders find their way in the crazy World Wide Web, but literally answering 50-100 phone calls and emails a week regarding <em>&#8220;How&#8217;d ya do that?&#8221;</em> was getting a bit much.</p>
<p>Now, this may seem simple to you (and why we haven&#8217;t done this sooner, I&#8217;ll never know!), but we have created a FAQs page to direct people to when they have specific questions. This page will be available very soon, and we will be happy to point everyone to it! I will even be changing my voice mail to say the following:</p>
<p><em>You have reached Amber Castleberry with North Point Ministries. If you have a question regarding how our Web Team has created or designed any portion of our website, please go to this URL _________ where you will most likely find your question (and many more) answered. All other inquiries, please leave a message. Thanks, and have a great day!</em></p>
<p>&#8211;</p>
<p>Please check back soon to find our shared FAQs page. And, if you have a question&#8230;feel free to drop one in the comments section - it may just end up being answered very soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2009/12/07/bombarded-with-questions-so-are-we/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sidebar Feeds and Ajax</title>
		<link>http://insidenorthpoint.org/it/2009/10/04/sidebar-feeds-and-ajax/</link>
		<comments>http://insidenorthpoint.org/it/2009/10/04/sidebar-feeds-and-ajax/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 19:38:49 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[ajax]]></category>

		<category><![CDATA[feed]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=234</guid>
		<description><![CDATA[<p><img src="http://insidenorthpoint.org/it/files/2009/10/coffeecup_feed_512x512-300x300.png" alt="coffeecup_feed_512x512" width="300" height="300" class="alignleft size-medium wp-image-285" />We seem to be getting more and more requests to include RSS feeds from various blogs or social networking sites (mostly Twitter) on our various sites, so we have spent a little time checking out many of the plugins and source code that&#8217;s available all over the web. For the most part these plugins work perfectly, but when the RSS feed site is having issues (not that Twitter ever has any), some of these plugins don&#8217;t behave very well. Most of them are contacting the RSS feed using server-side code, and when the feed is slow or throws an error it sometimes causes the page not to load. This caused us major headaches when our site monitoring systems were looking at a page that contained one of these plugins.</p>
<p>So the obvious answer is to use Ajax and load the feed asynchronously. jQuery makes loading in xml or json data super simple.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">   $.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://feedurl.com/feed.rss&quot;</span><span style="color: #339933;">,</span> 
            <span style="color: #009900;">&#123;</span> <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;value&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> 
            functionThatDisplaysFeed <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Or use the <strong>.getJson</strong> jQuery method to fetch json data and use that. The <em>functionThatDisplaysFeed</em> should simply read the returned data, which for an RSS feed is XML, and figure out what to do with it on the screen. </p>
<p>But here&#8217;s the problem &#8230; your browser won&#8217;t let you do this if the feed is not coming from the same domain as your web page. To get around this you must implement a server-side proxy that will read the feed and return the contents in some fashion to the browser. We found a free downloadable RSS aggregator proxy called <a href="http://simplepie.org/">SimplePie</a> - just following a couple of the examples to create our own version that also caches the feed was pretty easy. Here&#8217;s the new jQuery:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">    $.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'rss/rss_proxy.php'</span><span style="color: #339933;">,</span>
             <span style="color: #009900;">&#123;</span> feed<span style="color: #339933;">:</span> <span style="color: #3366CC;">'http://twitter.com/statuses/user_timeline/buckheadchurch.rss'</span><span style="color: #339933;">,</span> limit<span style="color: #339933;">:</span> <span style="color: #CC0000;">5</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	     <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#bcblogfeed&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In this instance we had the rss_proxy.php file do the heavy lifting on parsing the XML feed and creating the HTML, but we could have just as easily passed the XML back to the browser and done that in jQuery. Here are the key lines in our PHP proxy:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">// invoke the SimplePie library - $feedParam &amp; $limit are passed in to the rss_proxy.php as get parameters
$feed = new SimplePie();
if (get_magic_quotes_gpc()) $feedParam = stripslashes($feedParam);
$feed-&gt;set_feed_url($feedParam);
$feed-&gt;set_item_limit($limit);
$feed-&gt;init();
$feed-&gt;handle_content_type();
&nbsp;
// go through the returned data and pull out the information you want from the feed
if ($feed-&gt;data) {
   foreach($feed-&gt;get_items(0,$limit) as $item) {
      // use the SimplePie API to pull information out of the item object
      &lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_permalink</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
           <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_title</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/a&gt;
           &lt;span class=&quot;rss-date&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'j M Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/span&gt;
   }
}</pre></div></div>

<p><a href="http://insidenorthpoint.org/it/2009/10/04/sidebar-feeds-and-ajax/#comments">Comment</a> if you&#8217;d like to see the full code or have any questions.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="http://insidenorthpoint.org/it/files/2009/10/coffeecup_feed_512x512-300x300.png" alt="coffeecup_feed_512x512" width="300" height="300" class="alignleft size-medium wp-image-285" />We seem to be getting more and more requests to include RSS feeds from various blogs or social networking sites (mostly Twitter) on our various sites, so we have spent a little time checking out many of the plugins and source code that&#8217;s available all over the web. For the most part these plugins work perfectly, but when the RSS feed site is having issues (not that Twitter ever has any), some of these plugins don&#8217;t behave very well. Most of them are contacting the RSS feed using server-side code, and when the feed is slow or throws an error it sometimes causes the page not to load. This caused us major headaches when our site monitoring systems were looking at a page that contained one of these plugins.</p>
<p>So the obvious answer is to use Ajax and load the feed asynchronously. jQuery makes loading in xml or json data super simple.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">   $.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;http://feedurl.com/feed.rss&quot;</span><span style="color: #339933;">,</span> 
            <span style="color: #009900;">&#123;</span> <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;value&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> 
            functionThatDisplaysFeed <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Or use the <strong>.getJson</strong> jQuery method to fetch json data and use that. The <em>functionThatDisplaysFeed</em> should simply read the returned data, which for an RSS feed is XML, and figure out what to do with it on the screen. </p>
<p>But here&#8217;s the problem &#8230; your browser won&#8217;t let you do this if the feed is not coming from the same domain as your web page. To get around this you must implement a server-side proxy that will read the feed and return the contents in some fashion to the browser. We found a free downloadable RSS aggregator proxy called <a href="http://simplepie.org/">SimplePie</a> - just following a couple of the examples to create our own version that also caches the feed was pretty easy. Here&#8217;s the new jQuery:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">    $.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'rss/rss_proxy.php'</span><span style="color: #339933;">,</span>
             <span style="color: #009900;">&#123;</span> feed<span style="color: #339933;">:</span> <span style="color: #3366CC;">'http://twitter.com/statuses/user_timeline/buckheadchurch.rss'</span><span style="color: #339933;">,</span> limit<span style="color: #339933;">:</span> <span style="color: #CC0000;">5</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	     <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#bcblogfeed&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'slow'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In this instance we had the rss_proxy.php file do the heavy lifting on parsing the XML feed and creating the HTML, but we could have just as easily passed the XML back to the browser and done that in jQuery. Here are the key lines in our PHP proxy:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">// invoke the SimplePie library - $feedParam &amp; $limit are passed in to the rss_proxy.php as get parameters
$feed = new SimplePie();
if (get_magic_quotes_gpc()) $feedParam = stripslashes($feedParam);
$feed-&gt;set_feed_url($feedParam);
$feed-&gt;set_item_limit($limit);
$feed-&gt;init();
$feed-&gt;handle_content_type();
&nbsp;
// go through the returned data and pull out the information you want from the feed
if ($feed-&gt;data) {
   foreach($feed-&gt;get_items(0,$limit) as $item) {
      // use the SimplePie API to pull information out of the item object
      &lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_permalink</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
           <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_title</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/a&gt;
           &lt;span class=&quot;rss-date&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$item</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'j M Y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/span&gt;
   }
}</pre></div></div>

<p><a href="http://insidenorthpoint.org/it/2009/10/04/sidebar-feeds-and-ajax/#comments">Comment</a> if you&#8217;d like to see the full code or have any questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2009/10/04/sidebar-feeds-and-ajax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Counting Down with jQuery</title>
		<link>http://insidenorthpoint.org/it/2009/08/28/counting-down-with-jquery/</link>
		<comments>http://insidenorthpoint.org/it/2009/08/28/counting-down-with-jquery/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 20:20:03 +0000</pubDate>
		<dc:creator>Russell</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://insidenorthpoint.org/it/?p=261</guid>
		<description><![CDATA[<p>We seem to be getting more and more requests recently for countdown timers on our websites, whether it&#8217;s counting down to the next <a href="http://kidstuf.com/kidstuflive" target="_blank">KidStuf Live</a>, the next Drive Conference, or the next service for <a href="http://northpointonline.tv/" target="_blank">North Point Online</a>. If you&#8217;ve ever had to deal with calendars and dates you know that creating something automated can become pretty complex. In this post I hope to help you with some of the lessons we&#8217;ve learned by building some of these countdown timers.<a href="http://insidenorthpoint.org/it/files/2009/08/picture-1.png"><img class="alignright size-full wp-image-265" src="http://insidenorthpoint.org/it/files/2009/08/picture-1.png" alt="npo-countdown" width="252" height="252" /></a></p>
<p>First, an outstanding jQuery plugin that gives you the capability of having a running timer on your site can be found at <a href="http://keith-wood.name/countdown.html" target="_blank">http://keith-wood.name/countdown.html</a>. This very flexible plugin allows you to easily create a timer - just pass in the date you want to countdown to and the name of the div, and you&#8217;ve got yourself a countdown. There are great options to customize the layout and labels, and to setup actions or callbacks for when the timer hits zero. The link above is full of examples that you can use for your site.</p>
<p>On the server side we have used the PHP DateTime class to build some algorithms that contain the logic required to determine the dates to countdown to. For North Point Online, this is fairly simple since it&#8217;s every week at 6pm. For KidStuf it becomes a bit more complicated since it&#8217;s the first Sunday of every month. And, of course, there are the exceptions that must be accounted for, like KidStuf in September - we&#8217;re having it the week after Labor Day weekend, so there had to be a fairly straightforward way to override the date. The main functions we use from the DateTime class are <em>format</em> and <em>modify.</em></p>
<p>So this is all well and good until you run up against time zones. In the case of North Point Online it was critical to get this right since it&#8217;s a live environment that people can watch from anywhere. The event happens at 6pm Eastern Daylight Time, but our servers are in Central Time. And we have had viewers from as far away as Australia, and since the jQuery plugin runs on the browser, this all has to work from the user&#8217;s time zone. So we had to translate from Eastern to Central on the server, then to the client&#8217;s time zone on the browser, and make sure all of this was counting down to the same exact time so that people can tune in when the broadcast begins. And if that&#8217;s not enough, don&#8217;t forget that JavaScript uses 0-based months but PHP does not.</p>
<p><a href="http://insidenorthpoint.org/it/2009/08/28/counting-down-with-jquery/#comments">Let us know</a> if you&#8217;re interested in any of the gory details.</p>
]]></description>
			<content:encoded><![CDATA[<p>We seem to be getting more and more requests recently for countdown timers on our websites, whether it&#8217;s counting down to the next <a href="http://kidstuf.com/kidstuflive" target="_blank">KidStuf Live</a>, the next Drive Conference, or the next service for <a href="http://northpointonline.tv/" target="_blank">North Point Online</a>. If you&#8217;ve ever had to deal with calendars and dates you know that creating something automated can become pretty complex. In this post I hope to help you with some of the lessons we&#8217;ve learned by building some of these countdown timers.<a href="http://insidenorthpoint.org/it/files/2009/08/picture-1.png"><img class="alignright size-full wp-image-265" src="http://insidenorthpoint.org/it/files/2009/08/picture-1.png" alt="npo-countdown" width="252" height="252" /></a></p>
<p>First, an outstanding jQuery plugin that gives you the capability of having a running timer on your site can be found at <a href="http://keith-wood.name/countdown.html" target="_blank">http://keith-wood.name/countdown.html</a>. This very flexible plugin allows you to easily create a timer - just pass in the date you want to countdown to and the name of the div, and you&#8217;ve got yourself a countdown. There are great options to customize the layout and labels, and to setup actions or callbacks for when the timer hits zero. The link above is full of examples that you can use for your site.</p>
<p>On the server side we have used the PHP DateTime class to build some algorithms that contain the logic required to determine the dates to countdown to. For North Point Online, this is fairly simple since it&#8217;s every week at 6pm. For KidStuf it becomes a bit more complicated since it&#8217;s the first Sunday of every month. And, of course, there are the exceptions that must be accounted for, like KidStuf in September - we&#8217;re having it the week after Labor Day weekend, so there had to be a fairly straightforward way to override the date. The main functions we use from the DateTime class are <em>format</em> and <em>modify.</em></p>
<p>So this is all well and good until you run up against time zones. In the case of North Point Online it was critical to get this right since it&#8217;s a live environment that people can watch from anywhere. The event happens at 6pm Eastern Daylight Time, but our servers are in Central Time. And we have had viewers from as far away as Australia, and since the jQuery plugin runs on the browser, this all has to work from the user&#8217;s time zone. So we had to translate from Eastern to Central on the server, then to the client&#8217;s time zone on the browser, and make sure all of this was counting down to the same exact time so that people can tune in when the broadcast begins. And if that&#8217;s not enough, don&#8217;t forget that JavaScript uses 0-based months but PHP does not.</p>
<p><a href="http://insidenorthpoint.org/it/2009/08/28/counting-down-with-jquery/#comments">Let us know</a> if you&#8217;re interested in any of the gory details.</p>
]]></content:encoded>
			<wfw:commentRss>http://insidenorthpoint.org/it/2009/08/28/counting-down-with-jquery/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

