28
Sakai Best Practices Alan Berg, Interim QA Director, Sakai Foundation Aaron Zeckoski, Software Engineer, Unicon and Maint Team Lead, Sakai

Sakai Best Practices Alan Berg, Interim QA Director, Sakai Foundation Aaron Zeckoski, Software Engineer, Unicon and Maint Team Lead, Sakai

Embed Size (px)

Citation preview

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

Sakai Infrastructure

And now here’s a…

March 2010 European Sakai Conference – Valencia - Spain.. 5

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

Much Infrastructure

Phew, Sakaiproject.org helps you see the overview

Sakaiproject.org

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

QA Network• http://confluence.sakaiproject.org/display/QA/Test+Instances

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

Static code Review

• http://qa1-nl.sakaiproject.org/codereview/

Internationalization Report

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

Nightly Sakai build

• http://nightly2.sakaiproject.org/

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

My first Jira

And now here’s a…

March 2010 European Sakai Conference – Valencia - Spain.. 23

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 of the Best

March 2010 European Sakai Conference – Valencia - Spain.. 26

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

Questions and Answers

And now here’s a…

March 2010 European Sakai Conference – Valencia - Spain.. 28