<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zen and the Art of Nonprofit Technology &#187; Consulting</title>
	<atom:link href="http://zenofnptech.org/category/consulting/feed" rel="self" type="application/rss+xml" />
	<link>http://zenofnptech.org</link>
	<description>Thoughtful and sometimes snarky perspectives on nonprofit technology</description>
	<lastBuildDate>Tue, 31 Aug 2010 18:06:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What Drupal and Salesforce have taught me about coding</title>
		<link>http://zenofnptech.org/2010/06/what-drupal-and-salesforce-have-taught-me-about-coding.html</link>
		<comments>http://zenofnptech.org/2010/06/what-drupal-and-salesforce-have-taught-me-about-coding.html#comments</comments>
		<pubDate>Wed, 30 Jun 2010 16:42:20 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[salesforce]]></category>

		<guid isPermaLink="false">http://zenofnptech.org/?p=672</guid>
		<description><![CDATA[I&#8217;ve been spending a fair bit of time in the last couple of years learning to code in a new way. It reminds me of a transition I made in coding from having written stand-alone applications for varied computers, to writing code for the web. When I was in college, grad school and early in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending a fair bit of time in the last couple of years learning to code in a new way. It reminds me of a transition I made in coding from having written stand-alone applications for varied computers, to writing code for the web. When I was in college, grad school and early in my academic career (this dates me &#8211; from the early 80s to early 90s), I spent a lot of time writing stand-alone applications, mostly in Pascal and C. The shift from that kind of code, to writing for the web was a lesson in protocols, constraints, and different ways of troubleshooting.</p>
<p>The transition from writing free-form web applications, to writing modules for Drupal, or APEX customizations for Salesforce, is another set of lessons in protocols and constraints. First, it&#8217;s not enough to understand the syntax and form of the language (this is <strong>especially</strong> true for APEX &#8211; and beware the required test coverage!) One has to understand how the surrounding application works &#8211; what APIs or methods one can use, and how. And unlike long standing languages, there aren&#8217;t lots of detailed cookbooks and that sort of thing lying around &#8211; a lot of it is learning from other folks, as well as just learning by trial and error.</p>
<p>And, in my small forays into learning frameworks like CakePHP, Ruby On Rails, and others, it seems like these days, coding for the web is many lessons in constraints &#8211; which is a good thing, I think. Even though it feels like beating my head against a wall, it&#8217;s nice to know that I won&#8217;t &#8220;dump core&#8221; and break Salesforce (although I for sure have broken Drupal on occasion!)</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2010/06/what-drupal-and-salesforce-have-taught-me-about-coding.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why use contributed Salesforce modules for Drupal?</title>
		<link>http://zenofnptech.org/2010/03/why-use-contributed-salesforce-modules-for-drupal.html</link>
		<comments>http://zenofnptech.org/2010/03/why-use-contributed-salesforce-modules-for-drupal.html#comments</comments>
		<pubDate>Thu, 25 Mar 2010 00:26:27 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[salesforce]]></category>

		<guid isPermaLink="false">http://zenofnptech.org/?p=618</guid>
		<description><![CDATA[Lobo&#8217;s comment on my post yesterday prompted me to complete this blog entry that I&#8217;ve been ruminating on for a while. I wrote a blog entry a while back on the state of Drupal/Salesforce integration. What I didn&#8217;t say is that a number of shops that have done Drupal/SF integration for production sites chose not [...]]]></description>
			<content:encoded><![CDATA[<p>Lobo&#8217;s <a href="http://zenofnptech.org/2010/03/the-easier-it-looks-the-more-expensive-it-will-be-or-how-to-avoid-clusterfrack-projects.html/comment-page-1#comment-7470">comment on my post yesterday</a> prompted me to complete this blog entry that I&#8217;ve been ruminating on for a while. I wrote a <a href="http://zenofnptech.org/2009/12/drupal-and-salesforce.html">blog entry</a> a while back on the state of Drupal/Salesforce integration. What I didn&#8217;t say is that a number of shops that have done Drupal/SF integration for production sites chose not to use the <a href="http://drupal.org/project/salesforce">contributed modules</a> &#8211; they built (or are building) their own custom Salesforce/Drupal integration modules.</p>
<p>A few months ago, in preparation for a couple of projects, and a big push into this area for our company, I was faced with a strategic choice &#8211; go it alone, and build our own integration module for client projects,  or plunge into using and working with the contributed salesforce modules. Truth is, it wasn&#8217;t really a choice for me &#8211; I&#8217;ve got using and contributing back to open source projects in my DNA somehow. Although we certainly could have chosen, like others, to go our own way, we have committed ourselves to using, and contributing to the modules on drupal.org.</p>
<p>What we lose:</p>
<ul>
<li>Complete control over development process and direction</li>
<li>Not having to fix other people&#8217;s bugs in order for stuff to work</li>
</ul>
<p>What we gain:</p>
<ul>
<li>Not having to reinvent a number of wheels</li>
<li>An easier upgrade path</li>
<li>Build on the work of others</li>
<li>Collaborate and learn</li>
</ul>
<p>The work done so far on the modules is really solid &#8211; and it&#8217;s getting better. There is a great <a href="http://drupal.org/user/384578">new maintainer</a>, and increasing activity and contributions. There are also a number of other module integrations (like <a href="http://drupal.org/project/uc_salesforce">Ubercart</a>, <a href="http://drupal.org/project/sf_webform">Webform</a>, and <a href="http://drupal.org/project/parser_salesforce">FeedAPI</a>) that are moving forward. Integrations with Views and Actions are also moving being considered (it&#8217;s instructive to look at the <a href="http://drupal.org/project/issues/salesforce?categories=All">issues queue</a>). This is stuff that would be hard to match, and makes building integrations for different kinds of sites easier.</p>
<p>So beyond just my own personal preference, I think that there is much benefit, both for our clients, and for us as a company, in hitching our wagon to theses contributed modules instead of going it alone.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2010/03/why-use-contributed-salesforce-modules-for-drupal.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The easier it looks, the more expensive it will be (or, how to avoid clusterfrack projects)</title>
		<link>http://zenofnptech.org/2010/03/the-easier-it-looks-the-more-expensive-it-will-be-or-how-to-avoid-clusterfrack-projects.html</link>
		<comments>http://zenofnptech.org/2010/03/the-easier-it-looks-the-more-expensive-it-will-be-or-how-to-avoid-clusterfrack-projects.html#comments</comments>
		<pubDate>Tue, 23 Mar 2010 23:11:10 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Database technology]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Nonprofit Tech]]></category>
		<category><![CDATA[Technology Zen]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://zenofnptech.org/?p=609</guid>
		<description><![CDATA[As most of you know, I&#8217;m a very long time veteran of web application building. I&#8217;ve been involved in web application development basically since they started &#8211; when a cgi-bin folder with some perl scripts to process simple forms was the norm. Until just a few years ago, there was very little sophistication about the [...]]]></description>
			<content:encoded><![CDATA[<p>As most of you know, I&#8217;m a very long time veteran of web application building. I&#8217;ve been involved in web application development basically since they started &#8211; when a cgi-bin folder with some perl scripts to process simple forms was the norm. Until just a few years ago, there was very little sophistication about the user experience in web applications &#8211; what mattered most was functionality. and to make sure there weren&#8217;t too many errors when users did unexpected things.</p>
<p>I&#8217;ve considered myself pretty successful at both helping clients navigate the tough waters of web development projects, as well as accomplishing web projects for them. Recently, though, I had two projects that ended up, for wont of a better term, clusterfracks. And I&#8217;ve spent a lot of time lately trying to figure out what lessons I need to learn from those projects &#8211; what can I take away from them so I don&#8217;t make the same mistakes again. They were both custom web applications, both projects that I was a strategic, rather than engineering, partner on. Both projects were attempting to accomplish pretty sophisticated database functionality (such as case management). Functionality I knew how to get done, because I&#8217;d accomplished it before &#8211; so I had a very good feeling for what kind of code it would take to accomplish the task (and, ergo cost and time.) But what I hadn&#8217;t taken into consideration is how slick, AJAXy, easy to navigate, and easy to understand user interfaces people have gotten used to in the last few years. And, frankly, have come to expect. And how unwilling people are to sacrifice that for raw functionality.</p>
<p>I did a lot of self-examination: where did I go wrong? What could I have done differently? Was it the client? The developers? Me? I realized a fairly simple truth. It was all three.  In reality, I should have looked at the budgets of those projects, and looked at the clients straight in the eye and said, &#8220;double, or triple the budget at least, or don&#8217;t do the project.&#8221; And walked away if they insisted. The vendors should have bid triple what they did, and had more user interface expertise on board. The clients should not have expected to get slick 2009 functionality for a mid 5-figure budget.</p>
<p><strong><em>The easier a user interface is to use, the more money and time it took to create.</em></strong> It&#8217;s that simple. What most nonprofit decision makers don&#8217;t completely realize is that the interfaces they work in every day when they shop,  or tweet and facebook, or use other online tools, are the product of millions and millions of dollars of venture capital, or, in some cases, hundreds of thousands of person hours of work in open source projects (or some combination of both.) Ground-up custom applications, even when written in great frameworks like Ruby on Rails or CakePHP, which save all sorts of development time, just are not going to have the user experience people are getting more and more used to without very serious investment of time and expertise. In addition, most small development shops don&#8217;t have the user interface expertise on hand to accomplish that task, even with a hefty budget.</p>
<p>So the lessons:</p>
<p>1) If you are embarking on a custom development project (such as a case management, for example) exhaust <em><strong>every</strong></em> possible option of using and customizing/modifying existing tools (Salesforce, CiviCRM, SugarCRM, other open source tools) before you begin to consider custom development from scratch.</p>
<p>2) If you have a budget of less than $100,000, go back, and <strong>stay</strong>, at step 1. I know this is high, but I&#8217;m serious. Obviously, simpler projects won&#8217;t need a budget of this sort. But simpler projects generally don&#8217;t need custom databases.</p>
<p>3) If you&#8217;ve got the cash to spend, and have exhausted all other options, when choosing a vendor, make sure the vendor you choose has UE expertise on hand. Look at other custom database work they&#8217;ve done. Dig in. Make sure it has the ease of user experience that you are expecting.</p>
<p>4) Remember the mantra: <strong><em>the easier it is to use, the more expensive it is to build.</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2010/03/the-easier-it-looks-the-more-expensive-it-will-be-or-how-to-avoid-clusterfrack-projects.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Specify Story, not details</title>
		<link>http://zenofnptech.org/2009/08/specify-story-not-details.html</link>
		<comments>http://zenofnptech.org/2009/08/specify-story-not-details.html#comments</comments>
		<pubDate>Wed, 19 Aug 2009 19:42:41 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology Zen]]></category>
		<category><![CDATA[nptech]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=552</guid>
		<description><![CDATA[I&#8217;ve been a fan of user stories for several years now. User stories are a way to describe a set of functionalities of an application in a way that is focused on results &#8211; it&#8217;s easy to connect to mission. An example from an events management application:
The organization should be able to create several different [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a fan of user stories for several years now. User stories are a way to describe a set of functionalities of an application in a way that is focused on results &#8211; it&#8217;s easy to connect to mission. An example from an events management application:</p>
<blockquote><p>The organization should be able to create several different kinds of events, and determine for each kind of event which detailed information will be taken. Those events can be displayed in a list or calendar format. Users can register for events, and pay using a credit card.</p></blockquote>
<p>There are many ways to describe this story &#8211; it certainly can be a lot more detailed, but what&#8217;s clear is the result of this functionality. And, of course, user stories are great for agile development process.</p>
<p>Developers would determine how much this function would cost (based on our knowledge of the tools we use, and the time it takes using those tools to generate this sort of functionality), and clients would know exactly what they are getting from a functionality standpoint. When this functionality is complete, everyone is happy. The developers get reasonable compensation for a job well done, and the clients get the mission-based functionality they asked for.</p>
<p>And it would avoid a situation which I have become recently far too familiar with &#8211; vendors who underbid projects, and then feel the need to resort not to the intent of the contract, but the letter. Everyone knows it is utterly impossible to specify every detail in the letter of a contract &#8211; sometimes letter of the contract, unfortunately, details things like fields and queries, not functionality. The letter of a contract will be, almost by definition unless based on functionality, an inadequate representation of the final result needed. In this case, no one really wins. The clients either don&#8217;t get the functionality they expected, or they pay extra for it, and they leave the project with a bad taste in their mouth about the vendors, which will only come around to hurt the vendors later.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2009/08/specify-story-not-details.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Newly discovered project management tool: Redmine</title>
		<link>http://zenofnptech.org/2009/07/newly-discovered-project-management-tool-redmine.html</link>
		<comments>http://zenofnptech.org/2009/07/newly-discovered-project-management-tool-redmine.html#comments</comments>
		<pubDate>Thu, 02 Jul 2009 18:11:42 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Nonprofit Tech]]></category>
		<category><![CDATA[nptech]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=529</guid>
		<description><![CDATA[Any consulting shop that does significant amounts of implementation and development (as we do) needs a project management and ticketing tool. Basecamp seems to be a standard that many people have reached for. We were using Intervals for a while, which is really a fabulous tool if you do a lot of hourly consulting. We [...]]]></description>
			<content:encoded><![CDATA[<p>Any consulting shop that does significant amounts of implementation and development (as we do) needs a project management and ticketing tool. <a href="http://basecamphq.com">Basecamp</a> seems to be a standard that many people have reached for. We were using <a href="http://getintervals.com">Intervals</a> for a while, which is really a fabulous tool if you do a lot of hourly consulting. We also have been using Google spreadsheets for some elements of project management.</p>
<p>All tools have their strengths and weaknesses. And, in addition, the best tool does nothing without good human project management skills using it. As a shop that practices Agile development (we use an adaptation of scrum methodology that seems to work for a shop that does multiple projects with small teams,) finding a good tool that facilitates instead of hobbles Agile was critical for us.</p>
<p>We found, and have chosen to use <a href="http://redmine.org">Redmine</a> for our project management/ticketing system. You can think of it as a multi-project version of <a href="http://trac.edgewall.org">Trac</a>, which is a fabulous ticketing/wiki system that we were initially going to go with. Redmine has the elements of Trac that we liked, with the added ability to track multiple projects. Like Basecamp, Redmine has document storage and messaging systems. It doesn&#8217;t have milestones per se, but it does allow you to see tasks in calendar and Gantt views, which is very helpful. Unlike Basecamp, you can add custom fields to tickets, users and other features. Having spent many hours in Basecamp, I actually like Redmine much better. It does even do time tracking, which we won&#8217;t use, but is nice to know is there. And the wiki is nice. Basecamp&#8217;s Writeboards seem so much more like an add on than integrated.</p>
<p>It&#8217;s a Ruby on Rails application, and that was actually kind of fun to finally get to install and play with RoR a tiny bit. And it&#8217;s great that it&#8217;s free and open source. Although that wasn&#8217;t an absolute requirement for us, it is most definitely a plus, given so much of our work is implementing open source web tools. And it&#8217;s nice to save a few bucks per month.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2009/07/newly-discovered-project-management-tool-redmine.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Be like a three year-old</title>
		<link>http://zenofnptech.org/2009/05/be-like-a-three-year-old.html</link>
		<comments>http://zenofnptech.org/2009/05/be-like-a-three-year-old.html#comments</comments>
		<pubDate>Mon, 04 May 2009 04:52:43 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology Zen]]></category>
		<category><![CDATA[nptech]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=518</guid>
		<description><![CDATA[I don&#8217;t have kids, but I do know how young kids ask questions. They are innocent, and free of assumptions, and keep asking &#8220;why?&#8221; In the end, the poor adults either get tired of the questions, or realize that there are assumptions they&#8217;ve been making for all this time that might actually be worth questioning.
Human [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t have kids, but I do know how young kids ask questions. They are innocent, and free of assumptions, and keep asking &#8220;why?&#8221; In the end, the poor adults either get tired of the questions, or realize that there are assumptions they&#8217;ve been making for all this time that might actually be worth questioning.</p>
<p>Human processes mold around software. We see this all the time. A CRM gives you these 5 canned reports, and you get used to making do with what&#8217;s there. A legacy client database requires a certain order of data entry, and your intake forms have been produced to copy that order. Your email software has particular limitations, and you find behavioral workarounds.</p>
<p>What&#8217;s also true in the realm of customized software, is that software is molded around people. You put in your RFP that a package spit out data in X,Y and Z ways because your ED is used to data in that form (maybe because a package they had at their previous organization had those canned reports.) You have a requirement that data be entered into the system in one particular way, probably because that&#8217;s the way you&#8217;ve always done it. Sometimes, you feel the need to replicate a process that the person 3 administrative assistants ago put in place that was molded around their particular limitations, just because that&#8217;s what you know.</p>
<p>When you are undergoing the process of creating or implementing a new system of any sort, whether it be a CMS for a website, a CRM, some internal system, it is a really good exercise to be like a 3 year-old, and keep asking &#8220;why?&#8221; Why do we need this feature? Why will this report be important? Why should the software work this way? Once you peel the layers down to the bottom, you&#8217;ll either have &#8220;we don&#8217;t know&#8221; or &#8220;because we believe it will help us meet our mission in this specific way.&#8221;  Then you know what you should take, and what you can leave behind.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2009/05/be-like-a-three-year-old.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exciting changes afoot&#8230;</title>
		<link>http://zenofnptech.org/2009/04/exciting-changes-afoot.html</link>
		<comments>http://zenofnptech.org/2009/04/exciting-changes-afoot.html#comments</comments>
		<pubDate>Thu, 02 Apr 2009 03:57:06 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Database technology]]></category>
		<category><![CDATA[Nonprofit Tech]]></category>
		<category><![CDATA[civcrm]]></category>
		<category><![CDATA[convio commonground]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[nptech]]></category>
		<category><![CDATA[salesforce]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=472</guid>
		<description><![CDATA[I have some exciting news. For the last few months, I have been working on a new collaboration called OpenIssue, which is a growing, diverse, self-reflective and constantly-learning team. We are focused on delivering quality web technology solutions to nonprofit organizations and social enterprises.
As you know, I have built a long-time expertise in open source [...]]]></description>
			<content:encoded><![CDATA[<p>I have some exciting news. For the last few months, I have been working on a new collaboration called <a href="http://openissue.com">OpenIssue</a>, which is a growing, diverse, self-reflective and constantly-learning team. We are focused on delivering quality web technology solutions to nonprofit organizations and social enterprises.</p>
<p>As you know, I have built a long-time expertise in open source software and web applications, particularly Content Management Systems (CMS) and online database systems, including CRM. Thomas Groden, my new business partner, has expertise in Software-as-a-Service Constituent Relationship Management Systems (CRM), as well as much more broad expertise in technology infrastructure.</p>
<p>All technology implementors have to choose their tools (unless they run a very large shop) and we have decided to focus on implementation of both Salesforce.com and CiviCRM as CRMs, and Drupal as a CMS. We are keenly interested in building on our expertise to integrate these open platforms in really rich ways, to allow organizations to create great online applications.</p>
<p>I&#8217;m excited to be a part of a team &#8211; I&#8217;ve been a soloist for a while, and it&#8217;s nice to build collaborations, and work together with people with shared ideals on larger projects than I&#8217;d be able to take on alone. And I&#8217;m really excited by the set of technologies we&#8217;re working on, and the kinds of applications we&#8217;ll be building with these technologies.</p>
<p>And you can follow us <a href="http://twitter.com/openissue">on twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2009/04/exciting-changes-afoot.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drupal Themeing, and other projects</title>
		<link>http://zenofnptech.org/2008/11/drupal-themeing-and-other-projects.html</link>
		<comments>http://zenofnptech.org/2008/11/drupal-themeing-and-other-projects.html#comments</comments>
		<pubDate>Fri, 14 Nov 2008 04:51:47 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Web/Tech]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=359</guid>
		<description><![CDATA[I&#8217;m learning Drupal bit by bit &#8211; one of the first tasks was to learn how to make a new theme. It&#8217;s one of those things which is actually fairly straightforward-seeming &#8230; until you hit a snag. And then it&#8217;s opaque.
One thing I learned is that it is incredibly sensitive to typos. One space accidentally [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m learning Drupal bit by bit &#8211; one of the first tasks was to learn how to make a new theme. It&#8217;s one of those things which is actually fairly straightforward-seeming &#8230; until you hit a snag. And then it&#8217;s opaque.</p>
<p>One thing I learned is that it is incredibly sensitive to typos. One space accidentally inserted between the &#8220;&lt;?&#8221; and the &#8220;php&#8221; led to a completely blank page. Ah well. I&#8217;m certainly learning what mistakes can lead to what kinds of issues, which is good. Eventually that becomes second nature.</p>
<p>But, in any event, by the end of an hour or so of hacking, I&#8217;d turned a template that I found online at <a href="http://www.openwebdesign.org/">Open Web Design</a> into a Drupal template. I felt accomplished! I&#8217;m going to do a few more, and see how sophisticated with it I can get.</p>
<p>One thing I ran into (and haven&#8217;t been able to solve yet) is that it&#8217;s not easy to have navigation that requires more than just the standard &lt;ul&gt;&lt;li&gt; tags. Adding &lt;span&gt; tags, for instance (which makes possible some more interesting looking navigation buttons) seems, at least at first, far from trivial.</p>
<p>I&#8217;m making a list of little(ish) projects that I want to do &#8211; sort of like problems I think I want to know how to solve.</p>
<ul>
<li>Drupal and google docs single sign on. There is already a SSO Module for Drupal 5.x, and someone submitted a patch for it, but it&#8217;s still up for review. I&#8217;d also have to cough up $50/year to get a google account that has the SSO API, but it might be worth it.</li>
<li>Drupal sidebar connecting with the NPR API &#8211; perhaps to provide a targeted news stream?</li>
<li>Doing a google map mashup of data in Drupal</li>
<li>Working with getting flickr photostreams to show in Drupal</li>
</ul>
<p>I&#8217;m still looking for a good project to try out in Cake. Unfortunately, the module <a href="http://drupal.org/project/drake">Drake</a>, which is meant to be a bridge allowing you to run Cake applications within Drupal, seems moribund. There is only a development snapshot for the 5.x branch, and no one seems to be picking it up for 6.x. Sigh. There is, for sure, another whole blog entry about Drupal modules.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2008/11/drupal-themeing-and-other-projects.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cake vs. Symfony</title>
		<link>http://zenofnptech.org/2008/11/cake-vs-symfony.html</link>
		<comments>http://zenofnptech.org/2008/11/cake-vs-symfony.html#comments</comments>
		<pubDate>Thu, 06 Nov 2008 05:47:35 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=353</guid>
		<description><![CDATA[In my new explorations of PHP web application development, it seemed a good idea to get a look at both CakePHP and Symfony. Both of them seem to be PHP&#8217;s answer to Ruby on Rails.
The approaches are similar and different to each other. I set up both on my laptop, and tried out some really [...]]]></description>
			<content:encoded><![CDATA[<p>In my new explorations of PHP web application development, it seemed a good idea to get a look at both <a href="http://cakephp.org/">CakePHP</a> and <a href="http://www.symfony-project.org/">Symfony</a>. Both of them seem to be PHP&#8217;s answer to Ruby on Rails.</p>
<p>The approaches are similar and different to each other. I set up both on my laptop, and tried out some really simple app development. In Cake, the database build is separate from the application building (you do it yourself), whereas in Symfony, you use Symfony to build the database with schema files written in <a href="http://en.wikipedia.org/wiki/YAML">YAML</a>. Then, you build forms and such using the schema as a foundation.</p>
<p>They both use the <a href="http://en.wikipedia.org/wiki/Model_view_controller">MVC</a> pattern, and both use object oriented PHP, which is great. I got a lot further with Cake in one evening of playing with both than I did with Symfony. At this point, I really prefer Cake &#8211; it feels like it jives with my own coding sensibilities better. I also don&#8217;t like the overhead of learning YAML. I can imagine, though, that the Symfony approach can be powerful.</p>
<p>Looking at <a href="http://www.ohloh.net">Ohloh</a>, Cake is more popular than Symfony (on Ohloh, who knows about in general), but Symfony has a lot more developers (81 vs 17). They both have good documentation and active communities.</p>
<p>For now, unless something strange happens, I&#8217;ll settle on Cake &#8211; although I&#8217;ll not be spending too much time on it, since I&#8217;m working hard to grok Drupal. But perhaps a cool project will manifest, and I can use it.</p>
<p><em><strong>Update: </strong>I learned that Yahoo and delicious have a huge investment in Symfony (which, I guess, might be why they have so many more developers.) </em></p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2008/11/cake-vs-symfony.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>It&#8217;s the economy &#8230;</title>
		<link>http://zenofnptech.org/2008/11/its-the-economy.html</link>
		<comments>http://zenofnptech.org/2008/11/its-the-economy.html#comments</comments>
		<pubDate>Mon, 03 Nov 2008 19:22:16 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=349</guid>
		<description><![CDATA[As I said last week, today is my day to host the Carnival of Nonprofit Consultants. I chose this as my question of the week: &#8220;Is your work changing because of the economy? How? What adjustments are you making?&#8221;

Jane, at FIO Partners, talks about how important it is to focus on the value that consultants [...]]]></description>
			<content:encoded><![CDATA[<p>As I said last week, today is my day to host the <a href="http://www.nonprofitmarketingguide.com/blog/carnival-of-nonprofit-consultants/">Carnival of Nonprofit Consultants</a>. I chose this as my question of the week: &#8220;Is your work changing because of the economy? How? What adjustments are you making?&#8221;</p>
<ul>
<li>Jane, at FIO Partners, talks about how important it is to <a href="http://fiopartners.typepad.com/perspectives/2008/11/the-economic-downturn-the-importance-of-value.html">focus on the value</a> that consultants provide to their clients.</li>
<li>The Nonprofits Assistance Fund blog talks about how during uncertain times, organizations should <a href="http://www.nonprofitsassistancefund.org/blog/2008/10/23/start-your-turnaround-strategies-today/">think about moving into &#8220;turnaround mode.&#8221;</a></li>
</ul>
<p>Somewhat tangentially related:</p>
<ul>
<li>Although they didn&#8217;t say this was related to the economy, Strategynut gives <a href="http://strategynut.com/?p=9">seven tips for building trust </a>with your consulting clients.</li>
<li>A Small Change blog talks about <a href="http://www.asmallchange.net/annual-board-solicitations/">annual board solicitations</a>.</li>
<li>Donor Power blog asks whether <a href="http://www.donorpowerblog.com/donor_power_blog/2008/10/does-brand-kill.html">brand kills fundraising</a>? Answer: no.</li>
</ul>
<p>I have been doing a lot of thinking myself about the economic meltdown, and what it means personally for me as a consultant. I&#8217;ve talked a little before about <a href="http://www.zenofnptech.org/2008/10/next-up.html">some changes I&#8217;m making</a>, both because of personal interest as well as what I feel is changes in the wind in terms the kinds of new priorities that might be emerging.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2008/11/its-the-economy.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
