Friday, January 6, 2012

Weekly Dev Report for Jan. 6, 2012

As part of an effort to increase our transparency, the dev team at Connexions will be posting an update on the projects we are working on.  This is our first report and we will make a best effort to do an update every Friday.  We will not be detailing everything we are working on, just the highlights that should be of interest to the Connexions Community.  Feel free to comment here on the blog or on the Rhaptos Development mailing list.

This week the team returned to work after a Holiday break.  Our work included:

  • CAP Code Testing - CAP (College Access Project) is a rebuilding of our PDF generation system to use Docbook instead of LaTeX.  We were testing the single column textbook style on a development server prior to our break.  This week, we moved the code to QA (merged to trunk and created eggs).  Testing should finish up early next week.  The code will be moved to production, but will not be used by any collections yet.  You can view a several chapter sample from the code here.
  • CAP Double Column PDF - Prior to our Holiday break, we determined that Docbook cannot handle the 2 column layout that is required for some of the CAP books.  We reviewed a couple of commercial products (Antenna House and Prince XML) and decided to move to using Prince XML.  Prince XML converts HTML to PDF, so it is a new direction for our PDF generation.  Our plan is to create the 2 column PDF needed in Prince XML and then replace the 1 column Docbook PDF code with code that will work in Prince XML.  Coding of the 2 column PDF has begun.
  • Design Discussions - We are planning on moving to a component based architecture in 2012 and are having daily discussions about how to procede.  Part of the complication of this plan has been the lack of an agreement with Google so we know how to move forward.  That situation has stabilized somewhat so our planning is moving forward in ernest.  As soon as we have some details to share, links will be posted on the Rhaptos list and in the weekly update.  We want and need feedback from the Connexions tech community on this project.
  • Connexions Conference - We are planning on at least a 2 day sprint as part of the Conference.  A successful sprint requires planning and preparation so that developers can get what they need installed quickly and start coding.  We are testing our Rhaptos install along with Roché's Plone 4 install to make sure they work as needed.  We will also create some VirtualBox appliances so Mac and Windows users can get up and running quickly.  Those of us doing talks are doing slide preparation.  The conference starts Feb. 15.  You can see more details at the conference site.
Please let us know what you think of our first update.  We would like these to be informative, but also a quick and easy read.

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.