sakai best practices alan berg, interim qa director, sakai foundation aaron zeckoski, software...
TRANSCRIPT
Sakai Best Practices
Alan Berg, Interim QA Director, Sakai Foundation
Aaron Zeckoski, Software Engineer, Unicon and Maint Team Lead, Sakai
Agenda• Introduction to a do-ocracy • Sakai Infrastructure
• Sakaiproject.org• Confluence, svn (+contrib), QA network• Static code review / Internationalization report• Jira/ Nightly• Sakai 3 • Distribution lists
• Eclipse / Maven/ Findbugs• My first Jira• Top five best practices• Question and Answers
March 2010 2European Sakai Conference – Valencia - Spain..
Introduction to a do-ocracy And now here’s a…
March 2010 European Sakai Conference – Valencia - Spain.. 3
Do-ocracy
• A community in which if an individual sees work that needs to be done, he or she does it.
• A Do-ocracy can only work efficiently if the community is polite and supportive
• Those who do things are in charge of them, and if one wants a say in how things are done then one must to do things too
• The mentality is best summed up by the phrase, If you think that you can do it better then do so.
• The most effective best practice is to get involved.*
* assuming you are willing to try hard
Plug for the Sakai Book
And now here’s a…
March 2010 European Sakai Conference – Valencia - Spain.. 6
http://www.packtpub.com/sakai-courseware-management-the-official-guide
Confluence ~ WIKI • Information available to the whole community• Things change • http://confluence.sakaiproject.org/dashboard.action• Work Groups /Discussion Groups
• QA• Internationalization• http://confluence.sakaiproject.org/display/SPANISH/Home• Release Management, etc
• Contrib Projects• Conferences• Projects• Ad hoc info
Subversion for Sakai 2.x
• Revision control system• https://source.sakaiproject.org/svn/sakai/
• Trunk - Latest and greatest• Tags - 2.5.6,2.6.2• Branches – 2.x.x
• https://source.sakaiproject.org/contrib/• Lots of tools and enhancements• Product council shepards the best into Sakai
Running a QA server or testing
• Get to understand the rough edges of Sakai
• Good boot camp for learning how to run in production or potential issues
• Intuitively understand the Quality of the next version of the product
• Makes you more attractive, so your organization should really do this
Jira
• Bug tracking database• http://jira.sakaiproject.org/secure/Dashboard.jspa• X Thousands of reports• Currently being worked through by the Maintenance Team with
support from the central Quality Assurance• Before making a report, search.• Maintenance team, starting to redefine Jira standards.• Redefinig workflow
Static Code ReviewAggressive attack vector for 2.7
• http://jira.sakaiproject.org/browse/SAK-17647• Remove NPE’s• Resource leaks• Obvious defects• Should be timeboxed• Part of a QA cycle, testing is cheaper
• Will repeat a number of times
Distribution lists
• http://sakaiproject.org/join-email-lists• Dev• QA• Management• Announcements• And the lists go on
Eclipse, Maven, FindBugs
And now here’s a…
March 2010 European Sakai Conference – Valencia - Spain.. 19
Eclipse – Sakai guide
• Follow the Sakai guide
March 2010 European Sakai Conference – Valencia - Spain.. 20
Eclipse – m2eclipse plugin
• Use the m2eclipse plugin to do imports
March 2010 European Sakai Conference – Valencia - Spain.. 21
• File -> Import -> Maven Projects
• Uncheck Resolve workspace projects and Separate projects for modules
Eclipse – hidden tricks
• Eclipse tricks on Stackoverflow• ctrl-space – trigger autocomplete assist• ctrl-shift-r - open resource (e.g. file)• ctrl-shift-t - open type (e.g. class)• ctrl-1 (quick fix the current error)• Camel case support (System.cTM -> currentTimeMilliseconds())• Code templates (for, npe, syso, etc.)• Knowledge is power (and efficiency)
March 2010 European Sakai Conference – Valencia - Spain.. 22
How to make a JIRA issue
• Community Guidelines• Search JIRA first!• Search mailing list (nabble)• Email the dev list• Create an issue
• Steps to reproduce• Stacktrace, logs, screenshots• Use cases and test plan
March 2010 European Sakai Conference – Valencia - Spain.. 24
Top five best practice
And now here’s a…
March 2010 European Sakai Conference – Valencia - Spain.. 25
Best Best Practices
• Automated testing (again)• Work together/review• Use Findbugs/PMD• Write simple code and avoid chaining
(maintenance costs higher than create costs)
• Logging and Exception handling
March 2010 European Sakai Conference – Valencia - Spain.. 27
Complete listing of best practices for development