Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Upgrade Bb9 Ku Leuven 2 Developers

795 views

Published on

Nederlandstalige Blackboard Usergroup - Bijeenkomst 24 maart 2010 - Leuven.
Presentatie KULeuven Deel 2
Development

Published in: Education
  • Login to see the comments

  • Be the first to like this

Upgrade Bb9 Ku Leuven 2 Developers

  1. 1. Upgrade je building blocks naar BB 9.0<br />Implicaties van de upgrade voor developers<br />Wim Machiels<br />
  2. 2. Upgrade Timeline<br /><ul><li>Developmentonly
  3. 3. 50% upgrade – 50% maintenance/otherprojects
  4. 4. 652 MD
  5. 5. Mid December: upgrade K-12 site</li></ul>January 31st – February 13th<br />March 2009 – May 2009<br />October 2009 – January 2010<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  6. 6. Upgrade Timeline<br />January 31st – February 13th<br />March 2009 – May 2009<br />October 2009 – January 2010<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  7. 7. Upgrade Timeline<br />January 31st – February 13th<br />March 2009 – May 2009<br />October 2009 – January 2010<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />385 MD<br />515 MD<br />130 MD<br />
  8. 8. Why ?<br />ContinuousIntegration<br />Developer a: <br />getUser()<br />returns users<br />Developer b:<br />getUser()<br />returns users<br />checkout<br />Versioning system<br />getUser()<br />returns users<br />
  9. 9. Why ?<br />ContinuousIntegration<br />Developer a: <br />getUser()<br />returns students<br />Developer b:<br />getUser()<br />returns instructors<br />commit<br />Versioning system<br />getUser()<br />returns ???<br />
  10. 10. Why ?<br />ContinuousIntegration<br />Developer a: <br />getUser()<br />returns students<br />Developer b:<br />getUser()<br />returns instructors<br />commit<br />Original Developer:<br />testGetUser()<br />Versioning system<br />getUser()<br />returns ???<br />Buildfailure<br />
  11. 11. Continuousintegration: The Players<br />Source code<br />incrementalchanges are stored<br />trunk, tags<br />Contains all projects, monitors subversionforchanges, starts buildcycle<br />Managesbuild<br />buildcycle (clean, compile, test, package, deploy, integration-test, ?web-test?) <br />dependencies (3d party, in-house, blackboard)<br />parentpom<br />plugins<br />deployplugin<br />invivo<br />
  12. 12. Continuousintegration: The Game<br />Developer a: <br />getUser()<br />returns students<br />monitors<br />starts<br />commit<br />Buildsuccessful / failed<br />signals<br />deployplugin<br />invivo<br />exposedfor download<br />
  13. 13. 10 Practices of CI (M Fowler)<br />V<br />V<br />+/-V<br />+/-V<br />V<br />V<br />+/-V<br />V<br />V<br />V<br />Maintain a Single Source Repository <br />Automate the Build<br />Make Your Build Self-Testing<br />Everyone Commits To the Mainline Every Day<br />Every Commit Should Build the Mainline on an Integration Machine<br />Keep the Build Fast<br />Test in a Clone of the Production Environment<br />Make it Easy for Anyone to Get the Latest Executable<br />Everyone can see what's happening<br />Automate Deployment<br />
  14. 14. ContinousIntegration<br />Def wikipedia<br />Parentpom<br />MavenrepoBb<br />Screenshots alle componenten<br />Mavenrepocc<br />Cruisecontrol<br />Svn – maven (dependencies)- deploy – Junit – invivo - canoo/selenium – tagbuild<br />Wrapperbbobjects > unittestable<br />Jarsbb updaten > parentpom<br />Schema flowsvn > block<br />
  15. 15. Upgrade Timeline<br />January 31st – February 13th<br />March 2009 – May 2009<br />October 2009 – January 2010<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  16. 16. Inventoryphase<br />Main goal: 2.0 version<br />Compiles (jspc): escape “ in scriptlets<br />“deployable”<br />Tagged in SVN<br />Trac ticets forevery (old&new) bug orincompatibility<br />Time estimation<br />Manualtesting<br />
  17. 17. Inventoryphase<br />
  18. 18. Upgrade Timeline<br />January 31st – February 13th<br />March 2009 – May 2009<br />October 2009 – January 2010<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  19. 19. Developmentphase<br /><ul><li>Main goal: 2.x version
  20. 20. Most visibele blocks > bbng-ified
  21. 21. Tagged in SVN
  22. 22. Approvedby software consultantsToledo
  23. 23. Detailed Excel planning
  24. 24. Documentation
  25. 25. http://www.edugarage.com/display/BBDN/Documentation
  26. 26. Watch out forfaultydocumentation! Cover BB9, content BB8
  27. 27. http://www.edugarage.com/display/BBDN/Impact+of+V9+on+Blackboard+Developers+Overview</li></li></ul><li>Developmentphase<br />
  28. 28. Developmentphase<br />Problems & Pitfalls<br />Logproblem<br />Backend scripts contextManager.setContext(bbHost)<br />PartsApichange (Context content system)<br />PartsApibecamedeprecated (BbList)<br />NG/UI Tags don ‘t mix well<br />SomeTags break (search tag)<br />
  29. 29. Upgrade Timeline<br />January 31st – February 13th<br />March 2009 – May 2009<br />October 2009 – January 2010<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  30. 30. Dry run server (providedbylinux team)<br />Maven-deploy-pluginused in script form<br />Timing: <br />+14 hoursfor 80 undeployordeployactions !<br />Oracle EM: Tunedpoorlyperformant query forremoving building blockswith modules<br />Reduced to 90 minutes (undeployed, downloaded & deployed)<br />Dry run<br />
  31. 31. Upgrade Timeline<br />January 31st – February 13th<br />March 2008 – May 2008<br />October 2008 – January 2008<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  32. 32. Upgrade<br />Custom Login (40 minutes)<br />Tune the undeploy query (40 minutes)<br />Undeploy and deployeverything (100 minutes)<br />Post-deploytasks & does-it-smoke (60 minutes)<br />Doneafter 240 minutes<br />
  33. 33. Upgrade Timeline<br />January 31st – February 13th<br />March 2008 – May 2008<br />October 2008 – January 2008<br />February14th – 15 th<br />February15th – ….<br />2 days<br />+30 days<br />90 days<br />120 days<br />14 days<br />60 MD<br />12 MD<br />200 MD<br />250 MD<br />130 MD<br />
  34. 34. Morningafter<br />Customwrittenpatches, most of themvalidatedbyBlackboard<br />Specificforour system<br />High risk<br />All of themreported to blackboard<br />Reach out to your TSM !<br />
  35. 35. Oracle tuning (EM)<br />Tomcattuning (jvm parameters)<br />characterencoding issues in variousplaces<br />A HREF hyperlinks corrupt (SP3)<br />Announcementsmodule: heavy query<br />database errorwhendeletingannouncements in unavailablecourse<br />Group blog and journal: disablepossibility of anonymousposts<br />someblackboard tools useCustomAuthentication, but the jars are missing on the classpath<br />MorningAfter<br />
  36. 36. Morningafter<br />Cacheddocuments in IE<br />AS-134392 'NotImplemented' popup<br />bb-nautilus-log.txtgrows at 2G/hr<br />AddruntimepermissionsetContextClassLoader<br />content download in IE: yellow bar and redirect<br />What ‘s newfails<br />
  37. 37. Morningafter<br />Notfixed:<br />No mails sent from announcement<br />Personalized notifications settings do not work<br />Calculated Formula with non English Course Locale<br />Text editor issues<br />Course users cannot view group journal posts from previous posts<br />Problem copying learning module & Some folders cannot be copied properly<br />…<br />

×