Thursday, April 3, 2014

New Name and New Editor Demo

In case you missed the announcement at the Connexions Conference this week, Connexions has been renamed to OpenStax CNX!  We have also renamed this blog to OpenStax CNX Developer Blog. You can visit us at The renaming give us a unique presence on the web and helps us build a family of OpenStax sites to provide open options for education.  Our other sites are available from

At the 2014 conference, we released a beta version of our new editor. It can be found at Log in using your CNX, Facebook, Twitter or Google accounts and give the new editor a try.  We would love to hear your feedback as we continue to work on it.  It is definitely beta software so expect to find bugs.  We will continue to update it we get ready for the public release at the end of June.

This blog has been dormant for the past few months which is not good.  Our plan is to start posting regularly again since we have lots of cool code happening in the OpenStax College textbooks and in the rewrite of OpenStax CNX.

Wednesday, April 17, 2013

Connexions Conference Sprints

We are holding 2 days of Sprints on April 24 and 25 following the 2013 Connexions Conference which is on April 23.  The sprints are an opportunity for you to work directly with the Connexions team, contribute your time and effort to Connexions and to have fun.  You don't need to attend both days.  Show up and leave as you like.  We have tasks for all skill levels and you don't need to be a programmer. 

The list of tasks is on Trello. 

 Just click on a card (white box) to see the details of each task.  If you are attending the conference, we hope you will stay for the Sprints.  If you are in Houston, but not attending the conference, you are welcome to join us at the Sprints.

Thursday, July 26, 2012

Jenkins forces reinstall of server images on Rackspace

This is much more DevOps than Dev, but it is important as well ! One difficulty we have doing remote development with a team spread over at least a million cities (I haven't actually counted) is that the local development LAN for Bob is frankly inaccessible for Alice and Charlie. Maintaining n-1 VPN links is just going to drive us all mad.
So the simple solution is to rent a couple of cloud servers and host the development builds on there. The cost is pretty minimal, and it seemed good - until I realised that Jenkins, our friendly Continuous Integration Butler, was unable to re-install a cloud server from an image. Or rather it *could* - but Jenkins did not know when the server was rebuilt, and the server itself, which could signal jenkins, would have no state, so could not signal jenkins with *why* it had been rebuilt. So, Pantry Bell ( We simply run a webserver, that when called (perhaps from one Jenkins job) will force a re-imaging of a Rackspace server. This has a simple callback in rc.local (wget`hostname`) So - a server forces a rebuild, on successful rebuild, the server calls home, and then the "real" jenkins job can be triggered using the Jenkins API calls. Amazingly enough it works, has trivial security, no REST compliance but it works

Tuesday, July 24, 2012

OpenStack and Rackspace

OpenStack and Rackspace

I suspect that if you find this as exciting as I do, one or both of us need to go out looking for a life. However, OpenStack is nearly here, and Connexions is in the Early Access Program. WooHoo.

OpenStack is in the frankly hilariously named Essex release, and is a collaboration between NASA (yes!) and Rackspace (and now 150 other companies) all of whom bascially want some of Jeff Bezos’ AWS lunch.

Now, I am currently trying to get Jenkins to nicely play with my cloud servers (see Pantry Bell) and it will use the pythonic nova Real Soon Now.

But the real pull is that we will be using rackspace to integrate all the different components involved in the new system, early as possible. The system currently builds the repository and the (old) editor, and I am working on bringing in the new Aloha editor and the webview asap. The sooner we see everything working together the sooner we shall find those great moments of code serendipity.

We have an opportunity as a bunch of Open Source developers to use the first real F/OSS cloud based offering and even influence a little part of its development. I am excited to see where it will go, and excited to see if it can provide measurable benefits to Connexions, either in development simplicity or sysadmin time savings. Interesting Times are ahead.

The Usual Suspects

Starting Blogging !

This is the first of hopefully a regular series of blogs from the developers behind Connexions.


Connexions provides free (beer and speech) educational resources to students and teachers around the world. It has developed over ten years a eco-system of authoring tools, repository and means to serve the textbooks, exercises, snippets of knowledge to 2 million people a month.

And they are building a major update of that code.

And its all Open Source - and being developed right in front of your eyes. (Mail us if you want to join in.)

And thats what we are doing here ...

The people

(If your gravatar is not here, please let me know the right email address to use)

Jessica Burnett Paul Brian Ed Woodward
Philip Schatz Michael Mulich Marvin Reimer
Ross Reedstrom

Google Summer of Code Students

Debajyoti Datta Saket Choudray Alasdair Corbett
Yanchai Ye

The code:

The plan

I am hoping we can link to the specs, and have the developers involved in each component post about their updates or changes on a regular basis.

We shall see, as the old man said.

Friday, February 3, 2012

Connexions Development Update 2-3-2012

Well, the dream of posting a weekly update is not working out.  Things are very busy here and it is a challenge to find the time to write this post.  I am committed to writing an update periodically so I'm going to modify my plan to make this bi-weekly.


  • The Physics rendering in Prince XML is complete except for some math issues.  The code is on the development server and should move to production soon with Sociology.
  • Our current focus is on getting the Sociology rendering tested and released.  The current release date is Feb. 8th or 9th.
  • There are several Math issues in the Physics book.  Some of the problems were caused by the Word importer, some by the original structure of the math in the Word documents and others are font issues.  When the Physics book is migrated to production, we will run a script to clean up some of the import problems to minimize the need for human intervention.  Some of the font issues will not be able to be resolved because the Stix fonts do not have the needed font.  An example is an italicized delta.
CNX Conference Preparation
  • We have over 50 people signed up for the Sprints!  We are very excited about this.  As best we can tell, about 30 of these will be developers/coders/designers.  With this many people involved, we are going to make a huge effort to have clear easy install instructions for the various options.  Next week, we will be testing everything and finalizing the instructions.
  • Once the instructions are complete, we will post the link on the Rhaptos list so you can install Rhaptos or anything else you might need prior to arriving at the conference.
  • Many thanks to all that are planning to Sprint with us!
  • We released the latest version of the OERPub API last week.  It will be used during the Conference Sprints by the sprinters working on content.
HTML Editor Discussion
  • We have had a little time to continue our discussion in house regarding a new editor for Connexions.
  • Most of the discussion has been Microdata vs Microformats.  Neither has much traction in the wild.  
  • CSS3 seems to have support for Microdata which would allow us to use it to decorate semantic elements.  Microformats also have CSS support.
  • There has also been discussion on which editor to select.  TinyMCE and Aloha have been our focus.
  • TinyMCE has a nice UI, but does not support all of HTML5.
  • Aloha supports all of HTML5, but has an odd UI.  The UI is not bad, just takes a little getting use to.  The demos on Aloha's site are very specific so we need to install it and play with the configurations of the UI.
  • I'm sure the editor will be discussed at the conference so let us know your thoughts if you are attending. 

Friday, January 20, 2012

Connexions Dev Update for Jan. 20, 2012

Lots of info to share since last week's update was missed.


  • We tested the Physics book PDF generation and the Word Importer changes in QA last week.    The code was using FOP and Docbook to create more professional looking PDFs.  Our plan was to release this code and in a couple of weeks release the Prince XML version of the PDF generation.  The urgency was caused by the lack of harddrive space on the development server where the content is being created.  We have now fixed the space issue so it was decided not to release the FOP version of the PDF code.  We are focused on the new Prince XML version.
  • Documentation - We have some new styles needed for the Sociology book to our documentation of the new markup.
  • Coding is continuing on the PrinceXML version of the PDF.  You can see a sample of the Sociology layout at  It has Physics content, but the color scheme of Sociology.
  • Some minor issues have been brought up by our content team regarding Math display in the Physics book.  Some of this will be fixed in the Prince XML code, but others will have to be fixed when we do the migration to production by tweaking the MathML generated by the Word Importer.
CNX Conference Preparation

  • As the CNX Conference approaches, we are preparing for the sprints that will happen after the conference.
  • The Bug List for the Sprint has been completed.
  • Documentation for the Sprint has started.
Donate Button Change

  • The donate button now has a minimum donation of $1.  The original minimum was $10. We hope this will lead to more donations.
iPhone App

  • An Apple Developer Program for iOS was finally purchased last week.  It has taken months for all the documentation problems to get ironed out.
Consortium Tech Committee Meeting

  • The Connexions Consortium Tech Committee held its monthly meeting last week.
  • Discussions included current Connexions dev work, OERPub API update, Sprint topics and other member updates.  Check the minutes for more details.
  • We are currently testing a new release of the OERPub API which uses Sword to add and modify Connexions content.
  • The latest release allows users to add content to a Lens, add Featured Links to a module and to create a collection in a Workspace or Workgroup.  The code should be released early next week.
  • The latest documentation for the API is at
HTML Editor Discussion
  • We have been talking within our team and on the Rhaptos list about the possibility of using HTML5 Microdata in the new WYSIWYG editor to document non-HTML elements in CNXML in the editor.
  • HTML5 has some traction because of support from, but it also has problems such as very limited browser support.
  • The thread on the Rhaptos list has more information.