Upgrade Bb9 Ku Leuven 2 Developers
-
Upload
jan-de-baere -
Category
Education
-
view
945 -
download
1
description
Transcript of Upgrade Bb9 Ku Leuven 2 Developers
![Page 1: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/1.jpg)
Upgrade je building blocks naar BB 9.0
Implicaties van de upgrade voor developers
Wim Machiels
![Page 2: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/2.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2009 – May 2009
October 2009 – January 2010
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
200 MD 250 MD 60 MD 12 MD 130 MD
• Development only• 50% upgrade – 50% maintenance/other projects• 652 MD• Mid December: upgrade K-12 site
![Page 3: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/3.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2009 – May 2009
October 2009 – January 2010
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
385 MD 515 MD 60 MD 12 MD 130 MD
![Page 4: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/4.jpg)
• Why ?
Versioning system
getUser()
returns users
Developer b:
getUser()
returns users
Developer a:
getUser()
returns users
checkout
Continuous Integration
![Page 5: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/5.jpg)
• Why ?
Versioning system
getUser()
returns ???
Developer b:
getUser()
returns instructors
Developer a:
getUser()
returns students
commit
Continuous Integration
![Page 6: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/6.jpg)
• Why ?
Versioning system
getUser()
returns ???
Developer b:
getUser()
returns instructors
Developer a:
getUser()
returns students
commit
Continuous Integration
Original Developer:
testGetUser()
Build failure
![Page 7: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/7.jpg)
Continuous integration: The Players
• Source code– incremental changes are stored – trunk, tags
• Contains all projects, monitors subversion for changes, starts build cycle
• Manages build– build cycle (clean, compile, test, package,
deploy, integration-test, ?web-test?) – dependencies (3d party, in-house, blackboard)– parent pom– plugins
invivodeploy plugin
![Page 8: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/8.jpg)
Continuous integration: The Game
Developer a:
getUser()
returns students
invivodeploy plugin
monitors startscommitBuild successful / failed
signals
exposed for download
![Page 9: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/9.jpg)
10 Practices of CI (M Fowler)
• Maintain a Single Source Repository • Automate the Build• Make Your Build Self-Testing• Everyone Commits To the Mainline Every Day• Every Commit Should Build the Mainline on an
Integration Machine• Keep the Build Fast• Test in a Clone of the Production Environment• Make it Easy for Anyone to Get the Latest
Executable• Everyone can see what's happening• Automate Deployment
V
V
+/-V
+/-V
V
V
+/-V
V
V
V
![Page 10: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/10.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2009 – May 2009
October 2009 – January 2010
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
200 MD 250 MD 60 MD 12 MD 130 MD
![Page 11: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/11.jpg)
• Main goal: 2.0 version – Compiles (jspc): escape “ in scriptlets– “deployable”– Tagged in SVN
• Trac ticets for every (old&new) bug or incompatibility• Time estimation• Manual testing
Inventory phase
![Page 12: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/12.jpg)
Inventory phase
![Page 13: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/13.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2009 – May 2009
October 2009 – January 2010
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
200 MD 250 MD 60 MD 12 MD 130 MD
![Page 14: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/14.jpg)
• Main goal: 2.x version – Most visibele blocks > bbng-ified– Tagged in SVN– Approved by software consultants Toledo
• Detailed Excel planning• Documentation
• http://www.edugarage.com/display/BBDN/Documentation• Watch out for faulty documentation! Cover BB9, content BB8
• http://www.edugarage.com/display/BBDN/Impact+of+V9+on+Blackboard+Developers+Overview
Development phase
![Page 15: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/15.jpg)
Development phase
![Page 16: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/16.jpg)
Development phase
• Problems & Pitfalls– Logproblem– Backend scripts contextManager.setContext(bbHost)– Parts Api change (Context content system)– Parts Api became deprecated (BbList)– NG/UI Tags don ‘t mix well– Some Tags break (search tag)
![Page 17: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/17.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2009 – May 2009
October 2009 – January 2010
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
200 MD 250 MD 60 MD 12 MD 130 MD
![Page 18: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/18.jpg)
• Dry run server (provided by linux team)• Maven-deploy-plugin used in script form• Timing:
– +14 hours for 80 undeploy or deploy actions !– Oracle EM: Tuned poorly performant query for removing
building blocks with modules– Reduced to 90 minutes (undeployed, downloaded & deployed)
Dry run
![Page 19: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/19.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2008 – May 2008
October 2008 – January 2008
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
200 MD 250 MD 60 MD 12 MD 130 MD
![Page 20: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/20.jpg)
Upgrade
• Custom Login (40 minutes)• Tune the undeploy query (40 minutes)• Undeploy and deploy everything (100 minutes)• Post-deploy tasks & does-it-smoke (60 minutes)• Done after 240 minutes
![Page 21: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/21.jpg)
Upgrade Timeline
Cont.Integration Develop-ment Dry Run Upgrade Morning
afterInventory
March 2008 – May 2008
October 2008 – January 2008
January 31st – February 13th
February 14th – 15 th
February 15th – ….
90 days 120 days 14 days 2 days +30 days
200 MD 250 MD 60 MD 12 MD 130 MD
![Page 22: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/22.jpg)
Morning after
• Custom written patches, most of them validated by Blackboard
• Specific for our system• High risk• All of them reported to blackboard• Reach out to your TSM !
![Page 23: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/23.jpg)
• Oracle tuning (EM)• Tomcat tuning (jvm parameters)• character encoding issues in various places • A HREF hyperlinks corrupt (SP3)• Announcements module: heavy query• database error when deleting announcements in
unavailable course• Group blog and journal: disable possibility of
anonymous posts• some blackboard tools use Custom Authentication, but
the jars are missing on the classpath
Morning After
![Page 24: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/24.jpg)
Morning after
• Cached documents in IE• AS-134392 'Not Implemented' popup• bb-nautilus-log.txt grows at 2G/hr• Add runtime permission setContextClassLoader• content download in IE: yellow bar and redirect• What ‘s new fails
![Page 25: Upgrade Bb9 Ku Leuven 2 Developers](https://reader033.fdocuments.us/reader033/viewer/2022061117/5467d0c9af7959d2118b528c/html5/thumbnails/25.jpg)
Morning after
Not fixed:– No mails sent from announcement– Personalized notifications settings do not work– Calculated Formula with non English Course Locale– Text editor issues– Course users cannot view group journal posts from previous posts– Problem copying learning module & Some folders cannot be
copied properly– …