This talk details the history of the PBS TeacherLine website, the first Django project launched to production at PBS in 2007. It discusses the challenges, successes, and failures of maintaining the site.
TeacherLine offers over 130 courses for teacher professional development. We work with over 50 different PBS stations and over 30 different accredited institutions who offer graduate credit for our courses. Most visible part of TL website is a brochure site with a course catalog and e-commerce system.
For the Learner, the TL site allows them to access their courses.
Which are then delivered using the Moodle Learning Management System.
There is also a large administrative site which allows over 50 PBS stations to manage courses. This includes bulk enrollments, financial administration, metrics reporting, etc.
2006: TL was a cold fusion site. In need of rebuilding.
The PBS technology team was looking for a new platform to encourage from within. This platform would be the basis for the new TeacherLine.
At OSCON 2006, PBS developers were smitten by Jacob Kaplan-Moss’s presentation of Django. Eventually we actually did a code-off and Django was the clear winner. Django was chosen by both PBS Education and PBS Interactive as the ordained building framework for PBS.
Code quality of framework is stellar. This has translated over time to the general quality of Django apps developed by community members.
Break into individual frames for comic relief? Probably…
We had written another prototype project in the Spring of 2007
We had written another prototype project in the Spring of 2007
Since the relaunch, the TL site has not been the main priority for development. We maintain several different projects. The speed of development has generally slowed down, too, but now we usually do two or three prototypes of components and extensive code review before putting them into place. The culture of rapid prototyping and discussion of solutions is encouraged by the Django community, and has become reflected in our practice.
Since the relaunch, the TL site has not been the main priority for development. We maintain several different projects. The speed of development has generally slowed down, too, but now we usually do two or three prototypes of components and extensive code review before putting them into place. The culture of rapid prototyping and discussion of solutions is encouraged by the Django community, and has become reflected in our practice.
Since the relaunch, the TL site has not been the main priority for development. We maintain several different projects. The speed of development has generally slowed down, too, but now we usually do two or three prototypes of components and extensive code review before putting them into place. The culture of rapid prototyping and discussion of solutions is encouraged by the Django community, and has become reflected in our practice.
Django encourages adherence to generally good practice, and overall good design practice.
The culture of the Django community encourages critical views on the framework and how it’s been constructed, which encourages growth and evolution of approaches.
Django has always encouraged the separation of discrete components into applicaitons.
If you can’t deploy in multiple locations, you are lost.
Things that we used to have to work around but are now much better in Django.
Something about how we have approached major framework upgrades, such as 1.0, 1.1, 1.2.
Something about how we have approached major framework upgrades, such as 1.0, 1.1, 1.2.
Something about how we have approached major framework upgrades, such as 1.0, 1.1, 1.2.
Things that we could improve greatly based on new features in Django.