Upgrade Bb9 Ku Leuven 2 Developers

736 views

Published on

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

Published in: Education
  • Be the first to comment

  • 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 />

×