So, Jodie’s started a blog. World, prepare yourself!
- Authenticate Plone users against data stored in Salesforce.com
- Store new Plone users in Salesforce.com
- Access user profile data stored in Salesforce.com
SalesforceConnector does this by taking advantage of Salesforce.com’s powerful web services API, which allows external applications to easily access and maniuplate Salesforce data. We also used Simon Fell’s product “Beatbox” which provides a Python wrapper for the Salesforce API.
SalesforceConnector still has a few issues that we intend to resolve before cutting a 1.0 release in late October, but it is suitable for testing and experimentation. It uses a lot of leading-edge Plone technology including PlonePAS, formlib and Zope3 views, so be sure to brush up on these before diving in. 😉
My colleague Steve Andersen recently penned a short article entitled “Some Observations on Nonprofit Software” that lays out a few of the core assumptions we hold about how software tools for the nonprofit sector can and should play nice together.
The core of the argument goes like this:
- Missions are serviced only by engaging constituents to action
- Engagement activities aren’t unique to nonprofits, so the tools aren’t either
- The best way to build software for nonprofits is to find tools that successfully addresses most of your needs and then add the nonprofit-specific functionality
- Software targeted at a larger market than nonprofits will improve faster than software specifically for the nonprofit market
- Software that has open Application Programming Interfaces makes the “build-on-top” model work
- There is a market for nonprofit-specific software that serves a defined function and is accessible via robust APIs
(The article supports comments, so you can leave them there if you like)
A while back, I promised to write a bit more about some of the practices we use here at ONE/Northwest to collaborate amongst our staff of ~13 scattered across three offices. Here’s a first installment.
Building awareness and transparency
For our first few years, we were 4- 5 people crammed into about 800 square feet with no doors and no walls. So it was easy for each of us to be aware of what the others were up. Perhaps a little too easy; my former colleague Eva, who sat two fee away from for 8 or 9 hours a day, used to call me her “day spouse.”
Now that we’re larger, simply maintaining a solid awareness of what we’re all up to is a big challenge. And it’s absolutely critical, because there’s very little work we do that doesn’t require collaboration amongst two or more people. Even worse, we’re constantly changing and improving *how* we do things, which means that we need to rapidly spread new ideas throughout our organization.
Here are two things we do to promote a culture of transparency and awareness:
1) Weekly plans.
At the beginning of each week, each of us takes 15-30 minutes beforetackling that pile of email to write up a short plan for the week ahead. Our plans are all in the form of a table with the following columns:
Project | Moving Part | Outcome | Staff Involved | Priority | Completed?
The purpose of this plan is to for each of us to reflect a bit on what we need to accomplish this week and who we need to work with in order to get it done. We then publish our plans on our internal wiki site and circulate them to all staff via email.
Weekly plans have turned into a great focusing device for us indvidually, but they also help us maintain “team awareness” that’s critical to letting us tackle complex, fast-moving projects together.
2) Today Messages
The Weekly Plan’s little sister is the Today Message. At the end of each day, we take about five or ten minutes to record our major tasks for the day in our time tracking system (which is powered by DotProject). We click a little button in DotProject, and it generates a short email that summarizes our day in bullet points. We then email that around, thereby providing our teammates with a quick summary of what happened in our lives that day.
Again, it’s simple, fast, and high value.
We’ve become really addicted to Skype — free, online phone calls and instant messaging. Unlike most of its peers, Skype is cross platform, requires zero setup and is extremely easy to use. We use it to send each other instant messages, and as a substitute for the telephone. Not only does it save us a bundle on inter-office long distance calls, it makes it really easy for us to ask each other quick questions without the interruption of phone call or the clutter of email.
We also use Skype a lot to communicate with our far-flung network of consultants and peers.
We use Basecamp, an inexpensive web-based project management tool as a lightweight project management (task tracking) tool. It’s quick and simple, great for short-term projects with multiple people including some folks from outside the office. It’s not great for complex, long-term projects.
We keep a lot of our long-term information, including our time tracking data, in DotProject, a powerful, flexible open-source project management tool. Its UI is a little clunky, but it’s got a great model for tracking time.
We use Salesforce.com as our internal database of people and organizations. Salesforce has some amazing reporting tools, so we actually use it to build detailed reports on our DotProject task data.
I don’t like to brag, but… actually sometimes I really do. 😉
I’m really proud and excited to be able to announce the launch of ONE/Northwest’s largest and most complex web project yet — www.sightline.org, the new website of Sightline Institute, the sustainability think-tank formerly known as Northwest Environment Watch. (And our downstairs neighbors, I might add.)
The site looks pretty snazzy, of course (thanks to the graphic design work of Pat Snavely and Sightline volunteers and the CSS lovin’ of our indispensible consultant Trey Beck) and it’s got a ton of amazing content about what it’s gonna take to build a more sustainble future for our region. And of course, behind the polished look and the sparkling prose is a powerful dose of Plone.
Here’s a quick rundown on some of the more wonktastic bits:
- A passel of custom content types, which give Sightline the ability to seamlessly handle multiple versions of maps, graphic images and publications.
- Complex custom layouts based on database queries, alongside a sophisticated navigation scheme.
- A full-featured multi-author blog, the content from which Sightline features alongside longer more “formal” pieces.
- “Premium” content for registered users only (hey, gotta offer something shiny to get folks to cough up their email addresses!), powered by Plone’s best-of-breed workflow engine.
- Site member data is stored on-the-fly into the WhatCounts email broadcasting platform via their web services API, which lets Sightline send out targeted email updates to site members with content that can be customized based on member interests.
- We’re even using PlonePortlets, which gives the Sightline website team the ability to drag-and-drop sidebar elements into position. That, combined with Plone’s already-legendary usability, makes the daily routine of writing and posting content to the site a pleasure rather than a chore.
- An added bonus: we now offset the greenhouse gas emissions of our web servers by purchasing Green Tags, so Sightline is able to push those pixels without warming the globe too much.
All of this web wonkery is pretty neat. But what’s even more exciting to me is the fact that Sightline’s new website is almost literally the beating heart of the organization.
Being a thinktank is all about communicating effectively, and Sightline’s new website is their main communications channel to the media, to regional decisionmakers and to the public at large. Sightline.org provides a beautiful and powerful showcase for some of the best thinkers and writers in the Northwest environmental movement. I’m extremely proud of the work they’re doing, and of ONE/Northwest’s role in helping them do it bigger, faster and louder than ever before.
Finally, I need to end this post with a hearty shout out to my colleague Andrew Burkhalter, who poured his heart and soul into this project over the past few months. Sightline.org was (is!) a massive project with a thousand little fussy details, and Andrew did an amazing job of pushing the tools right out to the bleeding edge to deliver. I’m humbled and awed by his talent.
As my colleague Steve Andersen also reports, ONE/Northwest has received a $25,000 grant from the Salesforce.com Foundation to fund the integration of Plone with Salesforce.com. This will allow folks with Plone-powered websites to share data about people, organizations, etc. with the Salesforce.com database platform. You can read more details on the ONE/Northwest website.
As you might expect, we’re all pretty excited. Plone and Salesforce.com are both industrial strength, easy-to-use applications with incredibly strong communities behind them and bright futures ahead. Both are widely used in the nonprofit sector — and beyond. And both have deeply embedded assumptions about the importance of “playing nice” with other applications, which is what makes this kind of across-the-internet integraion possible.
Our current plan is for an October final release, with several interim milestones along the way. We’ll be working with Enfold Systems, who are top-tier Plone consultants (and friends), to make sure the code is written right.
We haven’t yet set up any kind of collaboration space for the project (since it just became really real yesterday!), but if you’re interested in participating or in tracking it closely, leave a comment below and we’ll be in touch soon.
There were those who said it couldn’t be done. There were more who said it shouldn’t. But we took their advice and ignored it with all the gusto we could muster.
We finally flipped the switch today on the new, Plone-powered ONE/Northwest website.
It’s a got a lovely new design, a bunch of new content (and most of the same old stuff you love). But more importantly, it’s now powered by the best open-source content management system out there, and it gives us a solid platform for doing some serious refacoring of our content over the next few months.
This is just the beginning. Look for us to roll out a steady stream of improvements over the next few months. One great way to keep up with new content is to subscribe to our RSS feed of new articles. If you’re more email-oriented, you can subscribe to ONEList, our monthly email blast of goodness.
Buy me a beer and I’ll tell you all it is to redo your own website when you’re scrambling to launch sites for clients.Â 😉
It’s been in the works for a couple of months, and I’m incredibly excited that the first Seattle Plone Bootcamp is finally upon us.
This Monday through Friday, over 40 folks will gather at University of Washington for a full week of intensive training on how to use Plone to develop and deliver amazing websites for nonprofits, business, government and education.
Our trainer will be Joel Burton, Plone consultant/trainer extraordinaire and President of the Plone Foundation.Â (The Plone Foundation is a nonprofit that holds Plone’s intellectual property and “protects and promotes Plone” and helps provide long-term legal and institutional stability for the Plone community.)
We’ll be covering everything from customizing Plone’s look-and-feel to developing new add-on Products for Plone.
We had a very late cancellation this weekend, so if you’d like to get a seat, drop me a line ASAP (jon at onenw.org).Â Scholarship funding may be available.
On Tuesday, my colleagues Andrew Burkhalter, Jon Baldivieso and I are heading down to New Orleans (!) where we’ll be attending Plone Symposium 2006, the annual gathering of the North America Plone community.
This will be the second annual Plone Symposium, and the third major Plone community event in New Orleans, and, most significantly (to me) my first big Plone event.
We’re giving a tutorial on Wednesday afternoon about our experiences implementing Plone for grassroots environmental nonprofits, in which we’ll share a bunch of the tips and tricks we’ve accumulated over the past two years and 50+ nonprofit websites we’ve launched using Plone.
There’s so much I’m looking forward to: meeting all of the Plone folks whom I’ve previously only known by IRC nickname; getting to see New Orleans first-hand; meeting Plone users and developers from outside of my comfortable little nonprofit technology bubble. It’s going to be a great week.
If you’re going to be in town for the Nonprofit Technology Conference later this month, please swing ONE/Northwest for the open house we’re hosting on Wednesday, March 22nd, 5-8pm.
There’ll be food, drink and lots of interesting folks. And, if you’re lucky, a nice sunset over the Olympics.
Please RSVP so we can be sure not to run out of comestibles.
Reading Zack Rosen’s assertion that building applications inside Drupal-the-framework makes more sense than loose integration of complementary applications triggered some thinking that’s been rattling around in my head for a while.
I think that the next few years are going to bring tremendous challenges for applications that do not easily communicate with other applications that are “outside their platform” i.e are written using a different language/framework, run on a different server, etc.
I think the most powerful path forward over the long haul is internet-based integration between great applications that were designed from the ground up to allow for it.Â
In other words, web services APIs are going to become increasingly more important, and the particular application frameworks less so.Â This the “small pieces, loosely joined” model, to echo the phrase that others have appropriated from Dave Weinberger’s influential book.
There are some great communities and significant resources behind very cool projects that provide great functionality that I really want to be able to tap. I don’t want to have either persuade them all to develop in a single platform (it’s just not going to happen) or try to duplicate all of their functions in whatever platform I’m most comfortable in. (Which, truth be told, is “none of them.”)
My colleagues here at ONE/Northwest and I would much rather focus on integrating best-of-breed applications that have strong web services APIs and are designed around the assumption that external applications are first-class citizens of their ecosystems. (Damn, that’s a lot of buzzwords.)
At the end of the day, why should I have to care if an application is based on Python, Zope, PHP, Rails, Django, or some technology I’ve never heard of? Why should I have to run all my applications off a single server? That’s not scalable. We now have a whole set of standards and technologies to let applications communicate with each other over the internet.
“Web services” is one of those complex, slippery terms that means lots of different things to lots of different people. To me, in this context, it means applications that share data with other applications over the internet. The more of your application’s guts it can expose to the outside world, the more powerful your web services API.
Some applications that I think are really moving in the right direction with web services support are:
- Democracy In Action — powerful API, alas, not yet well documented. Little known fact: the smart guys at Enfold Systems have releaesd a Python wrapper for the Democracy in Action API, which (supposedly) makes integration with Plone possible. Haven’t tried it yet myself. But I’m looking forward to it.
- Salesforce.com. Holy cow, these folks really get it. I’ve heard that half of their traffic is through their web services API. This is how a relationship management database should be — accessible by most any external application.
- WhatCounts. These guys do our email blasting. Lots of folks do email blasting, some probably just as well as WhatCounts. But what sets WhatCounts apart from the pack fo us is the fact that they have strong APIs. This lets us do cool stuff like pull in names from Salesforce, or inject new subscribers from Plone, or pull in content from a Plone site. (Well, technically pulling in content from the outside doesn’t use their web services API. But the point is that WhatCounts can pull in data from outside and let other apps push data in.)
- Another, less strictly “web services” example is Plone’s new PlonePAS framework. Basically, it’s a framework for authenticating users and retrieving user data from any old data source you’d care to write a plugin for. We’re going to try to use it to integrate Salesforce.com and Plone.
- The whole open-source GIS software ecosystem, most especially including MapServer. My next-door neighbor, Chris Davis of CommEn Space, has shown me some really mindblowing stuff with maps that dynamically draw in data from all over the internet, thanks to open data standards and web services.
Can you see an advocacy software ecosystem here yet? I can.
And let’s not forget all the “Web 2.0” applications out there that are getting so much hype these days. One important thing about the most exciting of these tools such as Flickr and Del.icio.us is that they can be written to and read from by outside applications via web services APIs.Â (Amazon has done amazing stuff here, too, albeit without getting much “Web 2.0” credit for it.)
This is where it starts to get cool. The days of monolithic application stacks that try to do everything are fading fast. A new “network-centric” software ecosystem is starting to bloom.
And the best part: nobody has to “deeply partner” or adopt a single platform to make it work. They just have to focus on building great web services APIs so that other applications can meet them halfway. That’s not easy, but it’s surely easier than getting everyone to adopt the same platform.
Some software tools that I really hope build strong web services APIs as they roll out their next releases include:
- Green Media Toolshed
- CiviCRM (their web services API work seems to have stalled out in favor work on a PHP API that only talks to a PHP application (like Drupal) installed on the same server. Hopefully their focus will soon return to playing with the outside world, too.)
- Custard Melt
- All of those nonprofit online donation tools that I am too tired to list right now. You know who you are.
- And, yes, Drupal, too. 😉
I’m probably overlooking some other apps that ought to be listed here. Feel free to suggest them. It’s late.
Today is one of the most important days in the history of the Northwest environmental movement.Â Today is the day that the BC government announced the final deal to protect over 1.8 million hectares of British Columbia’s Great Bear Rainforest.
Many of our friends in BC have spent the past 10 years working on this. It’s been a long, tough battle.Â But today is a day to celebrate the power of people working together to build a more prosperous, more sustainable world for us all.
I just heard that CommEn Space Executive Director (and ONE/Northwest next-door neighbor) Chris Davis will be a guest tomorrow morning on Steve Scher’s show “Weekday” on our local NPR affiliate, KUOW. The show airs from 9:00-11:00 PST, and during the 10:00 hour they’ll be talking about mapping. If you’re interested, you can listen live on the web at http://www.kuow.org or catch an archived version later in the week at http://www.kuow.org/weekday.asp
Update: I’m listening to it now, and can I just say that Chris has got a great radio voice.
Several folks have asked via email, so I guess it’s worth posting for the world that, yes, I’ll be attending the NTEN Nonprofit Technology Conference this March here in Seattle, along with my colleagues Gideon Rosenblatt, David Averill and a Player To Be Named Later.
We’re all excited to welcome so many of old and new friends to Seattle.Â We’ll be hosting an “unofficial” happy hour at our offices (about three blocks from the conference) on the first night, opposite the science fair.Â So if getting pitched by the vendors isn’t your cup of tea, please come kick back a cold one with us.Â Details to be announced.
See you soon!
My colleague Steve Andersen, who started at ONE/Northwest back in July as our Database Program Manager, has been blogging about the process he’s used to evaluate database/CRM platforms and to make the decision to focus our consulting practice on the Salesforce.com platform.
Well worth a read. I was a part of the decisionmaking process, and I still learned a ton from reading Steve’s writeups.
I’m off to beautiful Cortes Island, BC for [Web of Change](http://www.webofchange.com). Looking forward to seeing Jason, Philip, Jodie and all the other smart, fun folks who are dreaming big schemes about how to save the world.
See you Monday.
[Plone Conference 2005](ploneconf2005.bluedynamics.net/) kicked off today in Vienna, Austria. I wish that wasn’t so far away. But I’m looking forward to a full report from [Brian](http://www.ragingweb.com) when he gets back.
In the meantime, I’ll content myself with ONE/Northwest’s latest string of Plone website launches:
* Oregon League of Conservation Voters and the [OLCV Education Fund](http://www.olcveducationfund.org) — check out those rounded corners!
* [Audubon Portland](http://www.audubonportland.org/)
* [Earth Share of Oregon](http://www.earthshare-oregon.org)
* [Network of Oregon Watersheds](http://www.oregonwatersheds.org/)
You’d almost think we were “ONE/Oregon.” 😉
My brilliant colleagues at ONE/Northwest and our talented collaborators at [LightSky Designs](http://www.lightsky.com) and [RagingWeb](http://www.ragingweb.com) just helped Snow Leopard Trust launch their new website.
It’s a beautiful site, with a ton of great content and some eye-popping photos of these magnificent cats and the communities they live among. Some notable features from a technical point of view:
* Like all of the websites we do, Snowleopard.org is powered by [Plone](http://www.plone.org), the most powerful and easy-to-use open-source content management system around. Plone makes it easy for Snow Leopard Trust staff to maintain a large, complex site.
* This was our first major site with “full-on” e-commerce functionality. Snow Leopard Trust helps build sustainable economies in the communities that live in snow leopard country, and they sell a bunch of beautiful handicrafts through their [new online store](https://www.snowleopard.org/shop). We implemented the store with [ZenCart](http://www.ragingweb.com), a popular open-source e-commerce applicaiton, which were able to seamlessly integrate with the main Plone-powered site using [Zope’s MySQL database adapter](http://www.zope.org/Products/Zope3-Packages/mysqldbda/folder_contents&e=10342).
* We built a simple [e-card feature](http://www.snowleopard.org/photos/ecard/eCard_view) that lets site visitors send online cards built around some of Snow Leopard Trust’s incredible photos.
* We also helped Snow Leopard Trust put their photos to good use by building a simple [slideshow module](http://www.snowleopard.org/search?SearchableText=photo+album&x=0&y=0). We adapted Plone’s default ATPhotoAlbum functionality and cross-fertilzed that with slideshow features from Oxfam America’s Plone-powered site.
As with many projects, the requirements changed and expanded over the 12 months that elapsed between our first conversation and this week’s launch. Fortunately, Plone’s [Archetypes framework](http://plone.org/documentation/archetypes/) and ATContentTypes made it easy for us to accomodate Snow Leopard Trust’s evolving ambitions and increasing sophistication even as the project was already underway.
Check it out. It’s a beatiful site that really showcases what can happen when you put best-of-breed tools into the hands of people who are doing great work on the ground.
ONE/Northwest, along with our friends at Grist, Eco Encore, ActionStudio, Sustainable Style and Sustainable Industries Journal were featured in a Seattle P-I front-page-of-the-local-section article today entitled Seattle’s green Web sites: Laugh or the planet gets it!
Not the greatest article in the world — they did a nice job of covering Grist, and gave Eco Encore a good little plug, but they spelled our name wrong, and misidentified our ED Gideon Rosenblatt as our founder.
But hey, any press is good press, right?