Latest Links: August 11, 2009

ApacheConUS 2009 registration open, sign up now!

Apache 10th anniversary logo

The early-bird special ends on August 14, so you'd better get moving.

Sign up for ApacheCon US by 14 August and save up to $500!

This year's ApacheCon US promises to deliver our most extensive program to date, and largest anticipated gathering of the global Apache community to celebrate the ASF's milestone 10th Anniversary. The San Francisco Bay Area is where the very first ASF official user conference was held, and we hope that you will join us in celebrating the ASF's success!

Apache members, code contributors, users, developers, system administrators, business managers, service providers, and vendors will convene 2-6 November in Oakland, California, for a week of training, presentations, sharing and hacking. ApacheCon US 2009 features new content tracks, MeetUps, and GetTogethers, as well as a number of events open to the public free of charge, such as the Hackathon and 2-day BarCampApache, in appreciation of their support over the past decade.

Be sure to register by 14 August to save up to $500! To sign up, visit http://www.us.apachecon.com

I'll be there and speaking on the topic of What's New in Roller 5.0. I also plan to attend the Social and Widgets Meetup with folks from Shindig, SocialSite and Wookie. I hope to see you there.


Social data flow

Every time I find something that I want to share with others online, I have to think about how I want to share and whom I want to share it with. Perhaps I've created too much complexity for myself. This diagram below illustrates the situation. It's my social data flow diagram. [Read More]

BarCampRDU

barcamprdu logo

As you might know, I'm involved with organizing BarCampRDU again this year, doing the sponsor-wrangling and attendee registration duties. It's been a lot easier and stress-free than last year because I've been through it once before and so has most of the committee. No matter the stress-level, the end-result is well worth the effort.

Wrangling sponsors was surprisingly easy, even with a bad economy. Basically, all I have to do is chase 'em down, convince them to sponsor, make sure they pay and then ensure that they're recognized on the blog, t-shirt, signage and during the event. Event registration was easy too as we used Eventbrite, which is free for free events like BarCampRDU. My only complaint is there's no automated way for an attendee to cancel a ticket and no automated way to do a waiting-list.

Most of the remaining work was done by my wife Andi and our friend Alicia Weller. Andi took care of vendor selection and coordination and Alicia took up volunteer coordination and t-shirts. I think you're going to like what Alicia did with the t-shorts; very nice colors this time.

What's a little nerve-wracking about running a BarCamp is the estimations you have to make. Once it's time to order t-shirts, food and drink we have a fixed budget but the number of attendees can vary wildly. Last year, we had 250 registered attendees and only 140 showed up. We can't assume we'll have the same registered/attended ratio this year because we've been sending out a lot more email reminders. Anyhow, long story short: we did our best but if everybody currently registered shows up, some folks are not going to get a t-shirt and a lunch.

At this point, all we can really do is enjoy the show and I'm really looking forward to it. This year, I'm going to pitch a session on OpenSocial. Here's the write-up from the proposed session page:

A quick intro to OpenSocial explaining what it is, how it works and why it matters using these What's up with OpenSocial slides. Then a group discussion.on.

It's just about time to head down to the pre-party at Flying Saucer. I hope to see you there.


Month of blogging

Crammed into one post...

After a month of blog neglect, my automatic Latest Links from my Delicious.com account started to pile up. Back in the glory days of this blog, I blogged about things instead just saving links or tweeting about them. I realized that, by adding some commentary/opinion for each, I could turn a month's worth of links into a month's worth of blog posts and thus gain total absolution for my sin of going a full month without a post. So that's what I did.  [Read More]

SLA

I think can stand behind a Service Level Agreement (SLA) of one blog post per month. Oh look, it's August 1st. I'm done for the month.

;-)

Scaling Agile with C/ALM

IBM Rational has just released a 64-page book on Collaborative Application Life-cycle Management (C/ALM) that explains in detail how Rational's Jazz-based tools fit together to support the full software development and delivery life-cycle.

You can get the book at InfoQ. Registration is required (and free):

Scaling Agile with C/ALM
by Carolyn Pampino, Erich Gamma and John Wiegand
cover of book

I'm finding this book very useful because I'm still coming up to speed with Jazz and Jazz's notion of "Data integration via linked artifacts across repositories using RESTful interfaces." The book shows how Jazz works in practice with examples that illustrate how a requirement can be linked to work-items, source code change-sets and tests. Products covered are: Team Concert, Requirements Composer and Quality Manager.

Scaling Agile with C/ALM also explains how Open Services for Life-cycle Collaboration (OSLC) fits into the picture. The OSLC project is working to standardize the RESTful interfaces needed to integrate development tools. Once vendors adopt these interfaces, it will be much easier to mix and match For example, if Atlassian JIRA supported OSLC, you could use it instead of Team Concert's built-in issue tracking.

See also: Ask Jazz Technical Lead Erich Gamma.


BarCampRDU coming up soon, still needs sponsors

BarCampRDU 2009 is rapidly approaching (August 8, 2009) and the event is sold out with 250 registered attendees. Problem is, we're only about halfway to our funding goal. I guess it could be the economy or maybe it's event overload; doesn't it seem like we had a heckuva lot of tweetup-camp-athons around here lately?

Either way, we're not ready to give up yet. We're doing another call for sponsors and trying to open up as many sponsor opportunities as possible. Check out the BarCampRDU blog for more information.


re: Science for the Curious Photographer

picture of the CD

To follow-up on my previous post on the topic: my father is starting to publish excerpts from his book Science for the Curious Photographer on Luminous Landscape.

His first piece is titled The Quest for Good Photographs and How the Brain Perceives Images and it's one of my favorite parts.

By the way, he's still trying to figure out the best way to publish the book.


Latest Links: OpenSocial and OSLC


Wisdom of Twitter: Wave's impact on enterprise collab

Wondering how Google Wave will impact the enterprise collaboration market? Look no further than the great collected wisdom of Twitter. Given that X equals Lotus Notes, Microsoft Sharepoint or Microsoft Exchange we have:

  • #googlewave will be major competition for X
  • #googlewave will drive positive change in X
  • #googlewave is X 2.0
  • #googlewave is X done right
  • #googlewave is X for 2009
  • #googlewave is X for 2010
  • #googlewave looks like X on the web
  • #googlewave is what X never became
  • #googlewave is the final nail in the coffin of X
  • #googlewave will destroy X
  • #googlewave will kill X, death to X!
  • #googlewave flatters X by imitation
  • #googlewave is just hosted version of X
  • #googlewave is a custom version of X, good for SEO

How can industry analysts survive with people giving away this stuff for free?


RSC 2009: connecting developers and community

RSC logo

I've attended every JavaOne since 2004, but this year I've got new job and a new conference to attend. This year I'll be traveling to Orlando, FL and attending the Rational Software Conference also known as #rsc2000 in the twit'o'sphere.

I'm not going to be giving a talk, but I will be manning a demo pedestal and showing some of what I've been working on in my first couple of months at IBM: working on getting Rational Team Concert and other Jazz-based products to work well with Lotus Connections, IBM's social software suite which includes communities, forums, blogs, bookmarking, social networking and wikis (coming soon in Connections 2.5).

Connections logo

Why would you want to use Team Concert with Connections? It's all about connecting developers to community, helping developers use social software tools to inform, share and collaborate with the wider community of people that support, manage, sell and use the software.

Jazz logo

The tentative plan that we've outlined for all (registered users) to see on the Jazz.net is all about making it easy to setup and integrate community infrastructure for a new software project.

For example, wouldn't it be nice if, when you setup a new project in Team Concert you'd have the option of setting up an integrated Lotus Connections community complete with a project blog, discussion forum, wiki space and shared bookmarks? Shouldn't those blogs, forums and wikis be searched when you do a project search and shouldn't it be dead-simple to fire-off a blog entry or forum post to start a community conversation about a work-item or any other Team Concert artifact? We think so and we think that's just a start; there's lots more we can do.

If you're going to be at RSC 2009, please stop by and say hi. I'll be on duty from 5-8PM on Monday and most of the day Tuesday. Whether you're there or not, if you've got ideas about developer tool and social software integration, I'd love to hear from you.


First impressions

I've been at IBM for one month now and I'm just now starting to settle in and make some progress. I'm going to try to work some blogging back into my schedule and tell you about what I'm doing at work. For starters, here's a quick summary of my first impressions. [Read More]

BarCamp RDU registration open and tickets going fast

Word went out this morning via Twitter and other places but I'm just now getting to it here on my blog. Sorry folks, but you're the last to know. Like I said, they're going fast. At this point there are about 50 spots left. More than enough for all of my readers! Here's the registration link:

http://barcamprdu2009.eventbrite.com/


SocialSite@Apache

I took a break from blogging during my first couple of weeks at IBM. My blog broke and it took me a while to find the time and motivation to fix it, but now it's time to return. I think. I have been doing some internal blogging at IBM, but so far it's been mostly boring stuff: status reports and the like.

What I want to talk about today is Project SocialSite. Since my last post, where I mentioned that Sun is willing to contribute SocialSite to Apache, I did some work to move things along. I wrote an Apache Incubator proposal, started a discussion and this week calling for a vote on the proposal. Here are the relevant links:

Proposal: Apache SocialSite

Discussion and vote thread on the Incubator General mailing list

Subscripton info for the Incubator mailing lists

If you want to support the project, and especially if you're on the Incubator's Project Management Committee, now's the time to do so.


The future of Project SocialSite: Apache?

Since January, the future of https://socialsite.dev.java.net">Project SocialSite has been in the hands of the SocialSite community. During that time, I continued working on the project almost because I think it's got great potential and I would really like to see it live on in some form. That's also why I continued to talk to Sun about the project.

Today, I'm very happy to announce that Sun Microsystems is willing to contribute Project SocialSite to the Apache Software Foundation. It's not clear whether SocialSite should be contributed into Shindig or as a new incubator project, but either way I think this is the best thing for the project and will give it the best possible chances for building a thriving community. I've started some discussions about this on Apache-private mailing lists and I'll let you know what happens next.

This post brings to an end my series of posts about Shindig for blogs and wikis. Here are links to the earlier posts:

By the way, I delivered my Shindig talk just a couple of minutes ago. It was well-attended and I think it went pretty well. You can find the slides online at the ApacheCon EU 2009 site here: http://www.eu.apachecon.com/c/aceu2009/sessions/184">Shindig for Blogs and Wikis. Now back to your regularly scheduled programming...


OAuth everywhere (continued)

In my earlier OAuth everywhere post I explained at a high level "how I got a Roller Gadget working, one that uses OAuth to call Roller and enables Roller to use OAuth to call back to the social network." I ended with some unanswered questions. In those post I'll answer those questions with source code, screenshots and more. [Read More]

Socialsite on rollerweblogger.org

The value of Project SocialSite is that it allows you to add social networking features, including the ability to run OpenSocial gadgets, to existing web sites and have those sites all using the same "social graph" of data about people and relationships. To demonstrate this, I've deployed SocialSite to my site, http://rollerweblogger.org, and finally implemented those things I described in my August 2008 Social Roller post.

My site includes a blog and a wiki, Roller and JSPWiki, so it's a pretty good candidate for demonstrating how SocialSite. It's not perfect because it's got only a very small number of users, less than a dozen and because it's private; you have to login to see the social features. It'll have to do. In this post, I'll explain the steps you have to take to add SocialSite to a multi-application web site and I'll illustrate the steps with examples and screenshots from my work on this site.

[Read More]

OAuth for ROME Propono

ROME logo

Yesterday I wrote about OAuth support in the upcoming Roller 5.0 release. Today I'm following up with a post about OAuth support in ROME Propono.

As you may remember, ROME Propono is a subproject of ROME, the Java-based RSS/Atom feed library. ROME Propono includes an AtomPub server library and an AtomPub client. I added OAuth support to the AtomPub client and in this post, I'll show how you can use it to post to the Roller 5.0-dev (i.e. the snapshot build that I made available yesterday).

ROME 1.0 and coming soon: ROME Propono 1.0

In case you haven't already heard, thanks to the recent hard work of Nick Lothian, ROME 1.0 is now available. You can find downloads at rome.dev.java.net and a list of changes in the Change Log there. To celebrate this momentous event, I'm planning on releasing ROME Propono 1.0 as well, and in preparation, I've made a release candidate available. The new Propono includes ROME 1.0 and support for OAuth. You can get it via the links below:

rome-propono-1.0RC1.tar.gz (2.0 mb)

rome-propono-1.0RC1.zip (3 mb)

Posting to Roller via AtomPub and OAuth

To use the Propono AtomPub client, you place the Propono jars in your Java VM classpath and then call the AtomClientFactory to get started, as described in the ROME Propono 1.0 Javadocs.

Below is a Groovy example that shows how to post a blog entry to Roller via AtomPub and OAuth. You can get the consumer key, secret and URLs you need to call your instance of Roller from the OAuth Credentials page in the Roller admin interface.


  import com.sun.syndication.propono.atom.client.*
  import com.sun.syndication.feed.atom.*

  def authStrategy = new OAuthStrategy(
    "roller",                               // username
    "55132608a2fb68816bcd3d1caeafc933",     // consumer key
    "bb420783-fdea-4270-ab83-36445c18c307", // consumer secret
    "HMAC-SHA1",                            // key type
    "http://blogs.example.com/roller-services/oauth/requestToken",
    "http://blogs.example.com/roller-services/oauth/authorize",
    "http://blogs.example.com/roller-services/oauth/accessToken")

  // get the AtomPub service
  def appService = AtomClientFactory.getAtomService(
    "http://blogs.example.com/roller-services/app", authStrategy)

  // find workspace of my blog
  def blog = appService.findWorkspace("Blogging Roller")

  // find collecton that will accept entries
  def entries = blog.findCollection(null, "application/atom+xml;type=entry")

  // create and post an entry
  def entry = entries.createEntry()
  entry.title = "TestPost"
  def content = new Content()
  content.setValue("This is a test post. w00t!")
  entry.setContent([content])
  entries.addEntry(entry)

If you have questions or feedback about ROME Propono 1.0 RC1, please post them to the ROME dev mail list and I'll do my best to respond there.


OAuth for AtomPub in Roller

powered by Roller badge

Over the past month or so I've been adding OAuth support to just about every open source project that I can commit to. I added OAuth support to Roller so that you can now use OAuth to protect Roller's AtomPub server and other things. I also added OAuth support to ROME Propono's AtomPub client so you can now use Propono to post to Roller (more about that later). Here's a quick overview of how OAuth in Roller works.

NOTE that this post applies to Roller 5.0, which has not yet been officially released.

Setting up OAuth for AtomPub in Roller

If you want to use OAuth with AtomPub on your Roller site, go to the Server Admin page and find the Web Services section, enable AtomPub and specify 'oauth' as the authentication mechanism, like so:

OAuth config in Roller 5.0-dev

Getting your OAuth key, secret and URLs

Once you've done the setup, you'll find an OAuth Credentials link on the Roller Main Menu page, which will lead you a page like the one below showing your OAuth consumer key & secret and, if you are a site admin user, the site-wide key & secret. Currently, there's only one set of site-wide credentials; I plan to fix that.

OAuth keys page in Roller 5.0-dev

Of course, those aren't my real keys. You'll want to keep your OAuth keys secret as they can enable anybody to access your Roller account via AtomPub.

Want to try it yourself?

I mentioned that Roller 5.0 has not yet been released and that's true. There's still a lot of work to be done on 5.0, but that doesn't mean you can't get your hands on the code and binaries now. To make it easy, I've made an unofficial snapshot version of Roller 5.0-dev available for testing purposes only. It's what I'm running on my site. You can get it here in two flavors:

apache-roller-5.0-dev-20090321-SNAPSHPOT.tar.gz (31 mb)

apache-roller-5.0-dev-20090321-SNAPSHPOT.zip (31 mb)

The instructions in the old Roller 4.0 installation guide should work fine, so follow them to install and configure the 5.0-dev SNAPSHOT. Please send questions and feedback to either the Roller dev mail list and I'll do my best to respond there.

You'll also need an OAuth capable AtomPub client. More on that topic tomorrow...

« Previous page | Main | Next page »