Uncategorized

One click PayPal donations with CiviCRM

Nathan Kinkade, November 9th, 2009

About a month ago CC launched its annual Fall fundraising campaign. Along with it we also rolled out a streamlined donation process. I wrote about this on the CiviCRM blog, and also wrote up some documentation on the CC Wiki. This new donation method required some custom code, and leveraging an existing CiviCRM script written by Donald Lobo.

No Comments »

CC @ Mozilla Service Week

Nathan Yergler, September 9th, 2009

Next week is Mozilla Service Week and Creative Commons is participating by hosting a week long help desk in IRC. You can find more details on our earlier blog post or in the wiki. Several CC staff members and community volunteers will be available during the week to answer questions about using CC licenses and the associated tools. We’ll be answering questions about:

  • General CC help
  • CC technology (ccREL and software projects)
  • Where and how to publish CC works
  • Where and how to find CC works
  • CC in education and science

If you’d like to help out and educate others about using CC licenses and tools, you can sign up on the wiki page.

No Comments »

Updates to CC Network OpenID Provider

Nathan Yergler, April 13th, 2009

We received a couple bug reports over the weekend about the CC Network OpenID provider. Users were seeing a situation where they were asked to log into the CC Network with a username that was similarto their’s, but not quite right — specifically, the final character was omitted. When they put in their correct username and password they were just redirected to the login screen again and again.

After some digging we arrived at Issue 308. The problem occurs when a non-compliant OpenID-enabled site asks for the OpenID URL and the user supplies something that should work, but isn’t canonical. For example, my CC Network profile is at https://creativecommons.net/nathan/. I should be able to use any of the following as my OpenID and have the site get to the canonical version:

  • creativecommons.net/nathan
  • http://creativecommons.net/nathan
  • http://creativecommons.net/nathan/
  • https://creativecommons.net/nathan

The process of getting from one of these to the canonical version is called normalization.

So if an OpenID enabled site (such as, say, sourceforge.net or intensedebate.com) doesn’t do normalization, the user ends up asking to be validated for some URL other than their own canonical identity. And our server kicks that back as an invalid OpenID URL. Intense Debate seems to be aware of the issue; someone already reported it on their Get Satisfaction forum.

We briefly considered working around this bug (and it is a bug) but ultimately decided against it. It didn’t “smell” right and after some thought we realized that it could cause users more problems down the road. For example, if we implemented the proposed fix (making the trailing slash optional, which would have fixed it in most cases, it appears), a user could end up logging in at a broken site with the URL https://creativecommons.net/foo. If that site later fixed their code to correctly perform normalization, the user would suddenly be asking to validate a different URL — https://creativecommons.net/foo/. I suppose a site that has this bug and needs to fix it could normalize all the OpenID URLs stored in their database before pushing out the patch.

Instead we went ahead and added an error screen so that instead of the completely frustrating never-ending login loop, you at least get a hint that something’s wrong (and how to fix it).

The moral of the story? If you run into a problem logging into an OpenID-enabled site, first make sure you’re using your “real” URL (and if you still have a problem, at least with your CC Network ID, please report it).

No Comments »

Enumeration descriptions in CC Web Services

Nathan Yergler, April 2nd, 2009

We had a request come in from a developer using the CC web services for better contextual information about the choices users make when selecting a license. In particular, they wanted to present users with information about what “ShareAlike” means. As I dug into it I realized that the existing <description> we provided for the questions themselves are… well, bad. I can only imagine how hard it’d be to craft a user interface using those as help text.

I just pushed an update to the development version of the API that adds <description> elements to the individual <enum> elements. These map to the help pop-ups we use on the main license chooser. If all seems well we’ll push this down to 1.5 as well.

I should also note that this update includes two new, very nice (for me) improvements:

  • I finally landed Frank’s test suite work from last summer. We had intended to replace the whole API with a leaner version, but that’s still in the works. So in the interim, we have a test suite and I’m not afraid of change anymore (on this project at least).
  • I’ve updated the documentation to use Sphinx. ReStructured Text is the secret weapon of many a Python project; Sphinx makes it even more powerful, providing a set of directives and tools to generate something that looks, well, at least decent.
No Comments »

CC Technology Summit 3: Turin, Italy

Nathan Yergler, March 29th, 2009

As you may have see on the blog or one of the mailing lists, we’ve announced the third CC Technology Summit. The CFP is currently open (presentations due April 24) and full details are in the wiki.

No Comments »

LicenseChooser 0.96 released: Fixes Share-Alike help text

asheesh, March 16th, 2009

We just noticed that LicenseChooser.js 0.95 and earlier had the wrong help
text for “Share Alike”. Due to a copy and pasting error, if you hold your
mouse over “Require Share Alike” icon in the old demos (e.g.
http://labs.creativecommons.org/demos/jswidget/tags/0.95/example_web_app/), you will see a copy of the help text that corresponds to “Prohibit Commercial Use”.

Eek.

LicenseChooser.js 0.96, as you can see at http://labs.creativecommons.org/demos/jswidget/tags/0.96/example_web_app/, fixes this problem.

No Comments »

Banshee – Now with Creative Commons support! (devel)

Greg Grossmeier, January 14th, 2009

Great news from Gabriel Burt, lead developer for the Open Source media player Banshee:


(click for larger version)

Search based on the license of a song/album with direct support of displaying CC license logos!

More details available on Gabriel’s blog post.

This feature is slated to be in Banshee 1.6 but you can play with Gabriel’s development branch which has this feature thanks to the beauty of git.

git clone http://banshee-project.org/~gburt/banshee.git

Technical notes of the feature: Gabriel wrote his own parser for extracting the license information from the files. That was needed because there is currently not a Mono port of liblicense, a library which reads and writes license metadata to a wide variety of files. But now if anyone wants to help out and do the port to Mono you have an example of how to access this information via Mono.

Lets keep this ball rolling and get license read/write support in more applications!

No Comments »

New validator released!

asheesh, January 6th, 2009

This past summer, Hugo Dworak worked with us (thanks to Google Summer of Code) on a new validator. This work was greatly overdue, and we are very pleased that Google could fund Hugo to work on it. Our previous validator had not been updated to reflect our new metadata standards, so we disabled it some time ago to avoid creating further confusion. The textbook on CC metadata is the “Creative Commons Rights Expression Language”, or ccREL, which specifies the use of RDFa on the web. (If this sounds like keyword soup, rest assured that the License Engine generates HTML that you can copy and paste; that HTML is fully compliant with ccREL.) We hoped Hugo’s work on a new validator would let us offer a validator to the Creative Commons community so that publishers can test their web pages to make sure they encode the information they intended.

Hugo’s work was a success; he announced in August 2008 a test version of the validator. He built on top of the work of others: the new validator uses the Pylons web framework, html5lib for HTML parsing and tokenizing, and RDFlib for working with RDF. He shared his source code under the recent free software license built for network services, AGPLv3.

So I am happy to announce that the test period is complete, and we are now running the new code at http://validator.creativecommons.org/. Our thanks go out to Hugo, and we look forward to the new validator gaining some use as well as hearing your feedback. If you want to contribute to the validator’s development or check it out for any reason, take a look at the documentation on the CC wiki.

1 Comment »

ionicer: Making Subversion and git extra friendly

asheesh, December 2nd, 2008

We’ve discovered that some of our websites, in particular those that rely on MySQL, are very sensitive to spikes in disk I/O load. Right now, we do run some non-interactive services on the same machines as some of our websites.

Subversion and git in particular seem to cause long-duration high disk load, which causes Nathan Kinkade to get paged when e.g. wiki.creativecommons.org takes too long to load. We have found that using ionice to set background activities to “idle” priority is very useful in avoiding sending text messages to NK.

However, ionice can only be run by root, meaning regular users can’t even request the system be more gentle. So I wrote a simple tool, “ionicer,” that is a setuid-root C tool that sets its parent process’s IO priority to idle.

You can check it out in my gitweb.

I then used dpkg-divert to replace /usr/bin/svnserve and /usr/bin/git with simple shell wrappers that call ionicer before calling the real binaries.  So the call path goes:

  • user connects with svn+ssh to code.creativecommons.org
  • user logs in with an SSH key and executes “svnserve.”
  • svnserve is really a shell script. /bin/bash runs a script which does two things:
    1. Runs ionicer, which changes the shell to I/O priority class idle, and
    2. Executes svnserve.real with the same arguments as were passed into the wrapper.

Ta-da!

No Comments »

Updating Pootle, with Mozilla’s help

asheesh, November 25th, 2008

We use Pootle for handling http://translate.creativecommons.org/, the site where our international affiliates and other CC community members can help us out by translating CC content into other languages. Currently we only request translations this way for core CC infrastructure like the license choose.

For a few months, I had been working on a replacement for Pootle that better-fit our needs. Mozilla, as it happens, has similar issues, and when I recently investigated, I found that they were working on improvements to Pootle. So enough working alone; we’ll work with them! Their project to improve Pootle is called “Verbatim,” and I encourage all interested in web-based translation software to read more at that link.

Nathan Yergler and I sent an email to our international affiliates email list, and since I have a lot to do before tomorrow, I’ll let it speak for itself:

Read More…

No Comments »
Page 1 of 3123»