Tuesday, September 6, 2011

PDF Generation Updated

Last week, we released an update to our PDF generation code.  The update was coded as part of the College Open Textbook project.  The update moved some special PDF features that were only in the Collaborative Statistics PDF to all PDFs. 

The two main visible PDF changes are:
  • The numbering of Exercises and Examples inside of a section now take the section number as part of their numbering.  For example, if a group of 3 Exercises are in section 2.4, the Exercises will be numbered 2.4.1, 2.4.2 and 2.4.3.  Previously, the Excercises would have been numbered 2.1, 2.2 and 2.3.
  •  Sections marked as Homework now have a page break before them.  This allows the user to print out the Homework without any of the text of the book being printed.  There is a side effect of adding more pages to some collections.

Existing PDFs were not updated to use this new formatting.  They will be updated as they are republished by the authors.  If you enjoy browsing LaTeX, feel free to check out the new code.

Tuesday, July 19, 2011

Connexions Featured in Google Open Source Blog

The Google Open Source blog is featuring organizations participating in Google Summer of Code 2011. Connexions was featured in the July 15th blog post.

Friday, May 20, 2011

Connexions Sprint at Plone Symposium East

We are holding a coding sprint as part of the Plone Symposium East. Developers from across the globe have come together to improve Plone, the software Connexions is built on, and to improve Connexions itself. We will be working today and tomorrow if you want to join us. Info about the sprint is at rhaptos.org. Click on one of the links at the top of the page for details.











Coders gather to discuss sprint options.




Connexions Sprint participants at work. We have developers from US, South Africa, Sweden, Mexico, the UK and Vietnam working on Connexions today. Most are in the room, but some are working with us remotely.

Friday, May 13, 2011

New Release of Connexions for Android

Version 1.5 of Connexions for Android has been released. It contains cosmetic and usability changes along with a bug fix. The changes include:
  • Search is now a popup window instead of a separate tab. This makes search quickly and easily available on every screen. I also removed the Google search. Only Connexions search is used now.
  • The app is a little more colorful and better looking.
  • Added option menus to all of the views. List views previously only had context (long press) menus. The long press menus are still there and necessary for some operations.
  • The Lens tab is now the Content tab. Added Connexions Featured Content to the Content tab to allow new users to quickly find something to view. I will probably add the new content feed to this tab at some point.
  • Added a one time popup Toast message that explains a little about using the app. It is only displayed the first time a user opens the app after installing it.
  • Fixed a bug that caused the app to force close when the orientation was changed when viewing a list of lens items.
I made most of these changes after reading the Apple User Interface Guidelines in anticipation of writing an iPhone app for Connexions. The previous versions of the Android app were made with functionality in mind, not looks. If you have tried the app in the past and were unimpressed, please try it again and give us some feedback. I want to continue to improve it.

As always, the code is open source and is in our repository. You can download the app directly from Connexions or from the Android Market. If you try the app and find it useful, please leave a comment in the Android Market.

Wednesday, April 20, 2011

Version 1.4 of Connexions for Android Released

Version 1.4 of Connexions for Android was released today. It adds 2 new features and fixes a file downloading bug. The new features are a File Management screen that can be used to open or delete downloaded PDF or EPUB files and Pinch and Zoom was added to the web view for devices with Android 2.1 or above. The bug fix corrected a problem with phones rebooting while downloading a large PDF or EPUB file.

As always, the code is open source and is in our repository. You can download the app directly from Connexions or from the Android Market. If you try the app and find it useful, please leave a comment in the Android Market.

Tuesday, April 5, 2011

Connexions Adds Like and Tweet Buttons

Last week, we released the addition of Like and Tweet buttons to all Connexions content. I thought I would share some of the details of coding the change. When we first discussed adding the buttons, we all thought it was going to be a quick and easy addition. Just grab the button code off Twitter and Facebook, tweak it a bit and off we go. We were very wrong.

Facebook changed how they display links while we were in the middle of developing the change. They started pulling some of the content for a thumbnail of the text instead of just displaying the title. Because of the way we structure our content, Facebook was pulling the definition of a EPUB file that we have embedded for a help popup for every piece of content that was "liked". To get around this, we added the content summary or abstract to a META tag in the content header. There were some additional problems with embedded CNXML in some of the collection summaries which were solved by creating a new function to provide a plain text version, and using that for the meta tag contents.

Thinking the buttons were ready to go, we started testing the devset. All went well until we tested in Internet Explorer 8. The addition of the Tweet button caused IE8 to no longer render math. The problem was caused by the JavaScript from Twitter creating an iFrame for the Tweet button interacting poorly with other javascript on the page. Rearrange where various bits were called lead to results ranging from nothing on the page rendering to any one functionality being missing (math, twitter, dynamic menus, etc.) The ultimate solution was to create the iFrame ourselves instead of letting Twitter's code handle it.

Many thanks to our developers, Phil and Max and our sys admin, Ross who worked to get this done.

Monday, March 28, 2011

Apply for Google Summer of Code Projects


Starting today, students can apply for Google Summer of Code projects. Connexions has been selected as a participating organization and we have 2 projects students can apply for. The deadline for applications is Friday, April 8. Get your application in today!

Friday, March 18, 2011

Connexions Accepted into Google Summer of Code 2011

We are proud to announce that Connexions has been selected as a participant in the Google Summer of Code (GS0C) 2011. We will be looking for some great upperclassmen or grad students to help us complete our two GSoC projects. Our projects involve using Google Docs as an editor for Connexions and enhancing our author profiles. Students can review GSoC projects and apply at the Google Summer of Code site. Thanks to all that had a hand in Connexions being selected.

Tuesday, March 15, 2011

Consortium Technology Committee -- Working on focus and plan for the year

The Connexions Consortium has a technology committee charged with the technical direction, planning, and development of the Rhaptos software that powers Connexions and Enterprise Rhaptos.

The committee met just before Connexions Conference 2011 in February to start putting together a development plan for the next year.
To start the process, we had everyone around the room suggest things that are strategically important for Connexions and Rhaptos. After a bit of discussion and consolidation we ended up with 11 focus areas and then had people “pitch” them to the group, explaining who they would benefit and how they would help achieve the Connexions/Rhaptos mission. The committee then voted on our top three focus areas. These focus areas are by no means exclusive or exhaustive. They just give the committee concrete goals to work on as a group. The following three areas had the most energy and we will be following up with each.
  1. Strengthening the Development Community, with an emphasis on upgrading to Plone 4 to expand the base of developers available.
  2. Creating APIs -- In order for members and others to build things that are not tightly integrated into Rhaptos, we need to have well defined APIs (application programming interfaces).
  3. Authoring: Authors and educators need easier authoring tools in order to share their OER (open education resources).
Do you have specific suggestions, additions, comments? Do you want to participate more actively with the committee? Please comment here, or email cnx at cnx.org with your feedback.

Thursday, March 3, 2011

First Weekly Plone 4 Sprint A Success

We put a call out to the Rhaptos developer community for help with migrating Connexions to Plone 4 and the response has been tremendous. We held the first of the weekly all day Sprints yesterday. The Connexions development team worked with developers in South Africa, the UK and the USA to get Connexions on Plone 4. We had multiple check-ins to our version control and made progress on
  • Account Creation
  • Login
  • Search
  • Workspaces
  • Unicode Problems
  • Content Rendering
We also ended up with some great documentation on how to get our Plone 4 devset running on Ubuntu. Huge thanks to all that participated. We will be holding the sprint every Wednesday until May 18. Join us!

Wednesday, February 23, 2011

Introducing Ted Creighton

“I am pleased to introduce Consortium technology committee member, Ted Creighton, professor and NCPEA publications director. Ted brings a valuable community and educator focus to the technology committee, always looking at technical features through the eyes of end users"
Kathi Fletcher -- Technology Director and Project Manager at Connexions
Ted is currently the Director of the National Council of Professors of Educational Administration (NCPEA) Publications and the NCPEA Connexions Project. He is also a former Executive Director of NCPEA, and is currently a professor of educational leadership at Virginia Tech. Ted was instrumental in partnering with Rice Connexions as NCPEA began to publish CNX modules in 2006. The purpose in their alliance with Connexions was to establish their “knowledge base” in an Open Education Resource portal with free access to their colleagues across the globe. The CNX modules have always been peer-reviewed, and collected in the NCPEA Connexions Lens, and now they are also published in the International Journal of Educational Leadership Preparation (IJELP), the official publication of the NCPEA Connexions Project and available at: http://www.ncpeapublications.org.

Tuesday, February 22, 2011

New Release of Connexions for Android

Today, we released version 1.3.1 of Connexions for Android. It has a small, but important change. It is now using the new mobile web version of Connexions to view content. Previously, the app was forcing our regular web page view into a column to display on small devices. It was usable, but you had to adjust each page to center it, etc. The mobile version looks great on all the devices it has been tested on. Many thanks to Roche Compaan and Mark Horner for making the mobile version possible.

As always, the code is open source and is in our repository. You can download the app directly from Connexions or from the Android Market. If you try the app and find it useful, please leave a comment in the Android Market.

Friday, February 18, 2011

Code Sprint Bug Fixes Released

Today we released corrections for 10 bugs. The 10 bugs were fixed by volunteers at the Code Sprint held last week as part of the Connexions Conference. The Code Sprint brought together over 25 volunteers from 10 organizations to work on new designs, documentation, upgrading to Plone 4, bug fixes and new editor ideas. These tickets were fixed by both veteran and beginning developers. The best part of testing and releasing the bug fixes was that we found no defects in the Sprint code. You can see the details of the tickets on our release page. Thanks to all that participated in the Sprint. You don't have to wait for a Sprint to help with coding or documentation at Connexions. If you are interested, contact us at techsupport@cnx.org.

Monday, February 7, 2011

More information about the upcoming Connexions sprint

We can’t wait to see you Thursday, February 10th at the Connexions/Rhaptos sprint, following the 3rd annual Connexions conference. We will have work for Connexions enthusiasts whether you are a brand new developer, an experienced Connexions developer, a user experience expert, a content project manager, or an author aspiring to improve the Connexions workflow and documentation.

Location and time: The Sprint will begin at 9am on Thursday, February 10th and meet at Rice University in Duncan Hall in room 3076. The room is on the third floor in the same area as the conference. See the following for a campus map, http://conference.cnx.org/travel.shtml) Come by between 8:30 and 9 for some bagels and coffee.

Sprint Topics: We will be sprinting on at least the following topics and we will have a time at the beginning for others to advertise additional topics.
  • Bugs (code): For developers new to Connexions and Rhaptos, we will have a set of bugs to work on and we will have experienced developers to help. Ed Woodward, Connexions Development Manager will coordinate the Code Bugs sprint.
  • Bugs (usability and documentation): For user experience designers, students, and non-developers, we have a set of bugs that present usability design challenges and documentation tasks.
  • Authoring editors (code and usability): There are two editor prototypes, a specification for creating an offline HTML->CNXML editor, and a design to add an image and media uploader to the current web editor. Developers, user experience professionals and students, and authors will all be useful in this sprint.
  • Plone 4 Migration: (code) At the Plone conference in Bristol last year, consortium member, Roché Compaan, led a sprint to upgrade the Connexions plone infrastructure to Plone 4. We will continue the work from that sprint.
  • Topics you bring: Moodle integration, perhaps? Others?
For developers: We will be using VirtualBox to install Connexions/Rhaptos images for development.
Connexions and Rhaptos code base currently use a Debian Linux and some of the tools use system level libraries. The easiest way for new developers to get involved is to install the software on a virtual machine. We recommend that all developers install VirtualBox and for the sprint we will be providing machine with all of the system dependencies and with the Rhaptos code.

Instructions for installing VirtualBox and downloading the Rhatpos images can be found here: https://trac.rhaptos.org/trac/rhaptos/wiki/HoustonSprintDocumentation. We recommend that you install VirtualBox before arriving at the Sprint if you have time to do so. The Connexions images are made to go version 4 or higher. Details about installing VirtualBox are given in the documentation link above.

Online and remote participation: We will use the twitter hash tag, #cnxsprint to match the conference twitter hash, #cnxconf. We will also have a developer chat room open.
To connect to our chat room during the conference
  1. Have an existing jabber id (a gmail address works too)
  2. Using a standalone jabber app (ie Pidgin, Adium) "Join an existing group chat"
  3. Enter "sprint" for the name and "chat.cnx.org" for the server and join

Friday, February 4, 2011

Version 1.3 of Connexions for Android Released

We have released an update to Connexions for Android. The details are on the Connexions blog. If you have an Android device, give it a try. If you find it useful, leave a comment on the Android Market.

Tuesday, February 1, 2011

Connexions Makes the Switch to MathJax

Today, we updated Connexions to use MathJax to display MathML. MathJax is a JavaScript library that can render MathML across all browsers. This is allowing us make several improvements:
  • Support Math display and module editing in Chrome and Safari.
  • Remove the requirement of the MathPlayer plugin for Internet Explorer.
  • Remove all of the warning messages regarding math not rendering correctly in certain browsers.
MathJax has a nice feature that opens a "zoom box" when users click on math. You can see an example in the screenshot with this post. The switch to MathJax also included an upgrade to our content MathML to presentation MathML conversion stylesheet. We are now using the latest from the W3C along with some improvements of our own.

Along with the MathJax change, we have fixed several defects. Two of the defects are worth mentioning.
  • Adobe based ebook readers (Original B&N Nook, Entourage Edge, etc.) will now render math correctly. We embedded the needed math fonts in our EPUBs.
  • We removed original authors from the author role on derived copies. This was a big source of confusion for authors. The original authors are still listed when a derived copy is published, they are just not included in the author role of the derived copy.
You can see the full list of corrected defects in our release notes. Please let us know what you think of the new math either in the comments or at cnx@cnx.org.

Sunday, January 30, 2011

Connexions/Rhaptos Sprint February 10th, Houston TX

Calling all developers. Come join us after the Connexions Conference 2011 , for a coding sprint, on February 10th from 9 AM to 3 PM in Houston at Rice University. We will have a mix of expert Rhaptos/Connexions developers, Plone and Zope developers, and new developers, just getting started with Rhaptos. We will be continuing the Plone 4 upgrade sprint started in Bristol under the direction of Upfront Systems. For new developers, we will have some juicy bugs to tackle with the help of expert partners. And for both developers and designers, we will be working with some prototype editors for creating Connexions content. User experience practitioners are welcome also. In addition to the editors, we will have usability bugs to decipher and solve.

If you can't make it to Houston, but would like to participate remotely, we will have an IRC chat
and a Skype voice session set up.

Please let us know by emailing cnx@cnx.org, if you would like to participate and we will send instructions late this week about a few things you can set up before the sprint to get ready.

Hope to see you Thursday after next!

Wednesday, January 12, 2011

Introducing J. Cameron Cooper

“I am pleased to introduce Consortium technology committee member, Cameron Cooper, independent consultant and Plone expert. Cameron knows Connexions software extremely well. He was Connexions System Architect for several years and we are extremely lucky to have his continued participation in the Connexions Consortium technical committee. His expertise was instrumental in the development of strategically important new Connexions features, including the collection composer, the print-on-demand system, and lenses, the post-publication, quality-review system critical in an open publishing repository. His combination of deep knowledge of Plone and Zope, and detailed knowledge of the ways in which Connexions adapts and extends them, makes Cameron a valuable long-term contributor to the Consortium and the Technology Committee. Below, Cameron discusses the big vision frontiers that he sees for Connexions and Rhaptos."
Kathi Fletcher -- Technology Director and Project Manager at Connexions
Hi, J. Cameron Cooper here (jccooper@jcameroncooper.com). I'm the former Systems Architect for Connexions, and still serve on the Connexions Consortium Technical Committee, where I hope my hard-earned knowledge will continue to be of use. I started with Connexions in 2003 to port the system from a plain Zope product to the current Plone architecture. I became System Architect in 2006 when Brent Hendricks, the previous (and excellent) technical lead left. Connexions has grown to a major web application with 10s of thousands of lines of code and over 2 million visitors per month. And I'm very proud to have been (and to continue to be, though less day-to-day) a part of that. I'm occasionally an independent web developer, writer, and trainer and I'm currently running my own company called BottleMark, making custom bottle caps—as well as doing all the web dev for the site.

While working at Connexions, I became a major Plone expert; my book came out in late 2004, and I spoke at Plone conferences in 2003, 2005, and 2006. And that's no accident: Connexions is an extremely ambitious use of Plone, and customizes essentially every subsystem.

As part of the technical committee, the priorities I see for Rhaptos and Connexions are:
  1. ensure a scalable and maintainable codebase. Connexions has grown significantly both in usage and in complexity, and the system needs to be able to keep up.
  2. transition to a distributed development model. Connexions has been developed by a core group, but now must operate more as an open source project. The committee is exploring various ways of funding development and working with external developers, and this is very important to growing the feature set and usefulness of the software.
  3. distribute the content repository. Connexions remains a standalone system, but to support massive content and usage, I forsee a need for the system to live in multiple places.
I'm hoping to work for the committee on a pilot project to harness crowdfunding of development, where interested parties provide support through a website like Kickstarter. I am investigating small but useful projects that will take about one week of software development; perhaps "Enhanced Author Profiles". I am interested in other ideas that could be done in about a week—so let me know if you have one.