This presentation (delivered in Las Vegas in July 2011 at the Blackboard Developers Conference) reflects on the work of 3 students who spent a summer learning and developing building blocks. Their project topics were provided by faculty. The experience highlights problems faced by novice building block developers and how to overcome these. It also provides suggestions for suitable and unsuitable test environments and ends with pointers for what constitutes a realistic (deliverable and maintainable) project, some of which come directly from the mouths of the students.
1. 12th July 2011 8:30 am Venetian Congress Center - Titian 2303 Letting the lunatics run the asylum - students developing code forthe production environment DrMalcolm MurrayDurham University, UK
8. Selecting Projects Previous trial allowed students to design their own projects – not very successful This time faculty submitted bids for student time via an open competition Students could choose from the list of bids which met the criteria
9. Aims of the Development Fund To enhance the learning and teaching experiences of Durham students To develop high quality electronic learning objects which enhance the learning experience of students in the University To enhance the employability of students by providing opportunities for summer placements working with staff to design and develop the ELOs
10. Potential Developers 2nd & 3rd Year Computer Science undergraduates Seeking Summer Employment Some Java Experience Only used Bb as a Student Never written a Building Block Limited Supervisor Availability http://www.zazzle.co.uk/no_crying_in_computer_science_mug-168267831934931190
16. Initial Issues with the Projects Required iterative/agile development Some projects very ambitious Threat of scope creep
17. What faculty are asking for… …vs. what we can realistically build http://www.facebook.com/group.php?gid=235422146882 http://www.flickr.com/photos/penguinbush/2768719983
19. Test Environment Gave each student a clean test server - virtual installs (on VMWare) Need Blackboard Sys Admin accounts Next time, may try VirtualBox
20. Security Concerns Totally isolated from production Ensure you use different passwords! Remember config files store these in plain text Server and database only accessible on-site Clean server – no “real” users or courses Forbid the creation of accounts for friends Draw their attention to the weblogs
21. Access all Areas? Definitely Not Root access – use sudo Didn’t but would next time Command line access to server Logs, config and property files, etc. Restarting the server Still considering Database access – more need in 9.1?
25. Supporting Novice Developers Provided a series of demo building blocks Portal Module Course Tool Custom Content Type Team work (peer support) Project Management
26. Documentation // TODO: DEVELOPER INPUT NEEDED HERE http://www.spreadshirt.co.uk/access-denied-2c-underwear-C4408A14152441
35. Using the bbNG Tag Library Steep learning curve Few quirks with inventoryLists
36. Entitlement & Persistence Course Photo Roster Staff Info Who can see the photos? Course Role and Institutional Role Checks Persisting User Preferences User Registry
38. Implementation Issues Confusion – availability & row status Each photo took 0.3 seconds to load Copy them nightly as Avatar images Discovered these were insecure Not resolved until after project had ended
43. Recommendations Success requires staff commitment & planning Select projects and students carefully Early steps need extensive scaffolding Gets students familiar with thinking in Blackboard Try it: very rewarding, we will do it again!
44. Thank You To you – for attending this talk To Matthew, Chris & Daniel – for being fun to work with To all the staff in the Learning Technologies Team and the Technology Enhanced Learning Group - who provided support, time & advice
45. Questions? Get in touch: malcolm.murray@durham.ac.uk @learntechdurham @malcolmmurray http://www.dur.ac.uk/lt.team/blog/ http://building-blocks-developer.com/
46. Please provide feedback for this session on the back of used dollar bills sent to the author or by emailingDevConFeedback@blackboard.com. The title of this session is: Letting the lunatics run the asylum
Notas do Editor
This presentation reflects on the work of 3 undergraduate students who spent a summer learning and developing building blocks. Their project topics were provided by faculty. The experience highlights problems faced by novice building block developers and how to overcome these. It also provides suggestions for suitable and unsuitable test environments and ends with pointers for what constitutes a realistic (deliverable and maintainable) project, some of which come directly from the mouths of the students.
Warn the audience to watch what they say! Questions and video at end must not be recorded.
Who am I – someone who chose to code Blackboard stuff – to say who’s mad!!!
This is what some sys admins looked like when they first heard this idea!
Asking for the moon?
Students only know the bits of Blackboard that their lecturers have made them useFor example most don’t know that there is a course control panel
Really the heroes of this presentation/project
Used Google Wave (RIP)Allows them to ask for more information. Wave regularly monitored by members of the team. Ultimately they voted on things they wanted to do – a form of audit trail too!
Highly variable. Some very sparseFor sparse read skeletal, written by lecturers, very different to the detailed functional specs students used in previous CS projects
Balsamiq Mockups – great tool
Scope Creep – unequal power relations – hard for students to say no to staff – needs careful management
Testing on Load- balanced systems?
Weblogs = we know what you’re doing!
Log UI needs to be sortable before it is usable
Blackboard QA been at work?Usernames and passwordsWhy so closed?
Initially to share docs, then code samples, finally code!
Students often don’t use the same vocabulary as the manual to describe interface components
Clicking the More button triggers JavaScript that changes the link text from More to Less and toggles the visibility of the Hidden DIV.
Bug which meant you couldn’t edit content which had unclosed divs– so you couldn’t fix the problem – needed to be fixed – change pattern magic codeIs exposing the stack trace a security concern? Not in this case methinks!
Note data have been anonimised.
GlobalSettings too – properties file
Need dirty data for testing – hard to create blocked users. Some decisions took a long time – many committees didn’t meet over Summer!