Portal

Difference between revisions of "Bug Squad"

From Joomla! Documentation

m (saving again, more to do)
m (finished formating, portal page is ready)
Line 1: Line 1:
__NOTOC__{{page|needs portal styling}}
 
<div style="float: left; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;">
 
</div>
 
<div style="float: right; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc; margin:">
 
 
==Join the Bug Squad==
 
</div>
 
<div style="clear:both; width:100%;margin-bottom:15px">
 
<div style="float:right; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;margin-top:30px" >
 
 
==JBS Communication==
 
</div>
 
<div style="float:left; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;margin-top:30px: margin-bottom:30px" >
 
 
==Teams==
 
*[[Bug_Squad#Tracker_Team | Tracker Team]] &ndash; [[Tracker_Team | More on the tracker team]]
 
*[[Bug_Squad#Coding_Team | Coding Team]] &ndash; [[Bug_Squad_Coding_Team | More on the coding team]]
 
*[[Bug_Squad#Testing_Team | Testing Team]]
 
*[[Bug_Squad#Automated_Testing_Team | Automated Testing Team]] &ndash; [[Automated_Testing_Team | More on the Automated Testing Team]]
 
*[[Bug_Squad#Migration_.2F_Upgrade_Team | Migration / Upgrade Team]]
 
Teams are flexible and overlapping.
 
</div>
 
 
<div style="clear:both; width:100%;margin-bottom:15px">
 
 
<div style="float: right; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;margin-top: 30px">
 
 
==Manuals==
 
*[http://developer.joomla.org/platform-manual.html Platform Manual]
 
*[http://php.net/manual/en/index.php PHP]
 
*[http://dev.mysql.com/doc/ MySQL]
 
*[http://api.joomla.org/ Joomla! API]
 
*[http://mootools.net/docs/core  Mootools]
 
</div>
 
 
<div style="left: right; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;margin-top: 30px">
 
 
==Useful Information==
 
*[[Bug_Tracking_Process | Bug Tracking Process]]
 
*[[Bug_Tracking_Process#Issue_Priorities | Issue Priorities]]
 
*[[Testing_Checklists | Testing Checklists]]
 
*[[Patches]]
 
*[[Setting_up_your_workstation_for_Joomla!_development | Setting Up your Workstation]]
 
</div>
 
 
<div style="left: right; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;margin-top: 30px">
 
 
==Setting Up Resources==
 
*[http://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients IRC Clients]
 
*[http://tortoisesvn.net/downloads Tortoise SVN Client for Windows]
 
*[http://en.wikipedia.org/wiki/Comparison_of_Subversion_clients Other Subversion Clients]
 
*[http://subclipse.tigris.org/ Subclipse Subversion plugin for Eclipse] (best to get through Eclipse Market Place.
 
*[http://www.apachefriends.org/en/index.html XAMPP]
 
 
</div>
 
<div style="left: right; width:45%; vertical-align:top; border:1px solid #abd5f5; background-color: #f1f5fc;margin-top: 30px">
 
 
==Tips and tricks==
 
*[[How_to_test_acl | How to test the ACL]]
 
*[http://www.screencast.com/users/ElinW/folders/Jing/media/aa008c59-aff8-4033-a1a8-b864820d48ef How to create a Tracker Query]
 
*[http://www.vimeo.com/15027266 Sort & Filter Bar]</div>
 
 
</div>
 
 
<!-- This portal was created using subst:box portal skeleton  -->
 
<!-- This portal was created using subst:box portal skeleton  -->
 
{{browsebar}}__NOTOC__
 
{{browsebar}}__NOTOC__
Line 87: Line 24:
 
{{{{FULLPAGENAME}}/Manuals}}
 
{{{{FULLPAGENAME}}/Manuals}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
</div>
 
  
<div style="clear:both; width:100%">
+
{{:{{FULLPAGENAME}}/box-header|Useful Information|{{FULLPAGENAME}}/Useful Information|}}
 
+
{{{{FULLPAGENAME}}/Useful Information}}
{{:{{FULLPAGENAME}}/box-header|Topics|{{FULLPAGENAME}}/Topics|}}
 
{{{{FULLPAGENAME}}/Topics}}
 
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
</div>
 
</div>
 +
 
<div class="portal-column-left">
 
<div class="portal-column-left">
{{:{{FULLPAGENAME}}/box-header|Other portals|{{FULLPAGENAME}}/Other portals|}}
+
{{:{{FULLPAGENAME}}/box-header|Teams|{{FULLPAGENAME}}/Teams|}}
{{{{FULLPAGENAME}}/Other portals}}
+
{{{{FULLPAGENAME}}/Teams}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
</div>
 
</div>
  
<div class="portal-column-left"> <!-- Switch to one column on narrow screens -->
+
<div class="portal-column-left" style="margin:14px 0 0 0;"> <!-- Switch to one column on narrow screens -->
{{:{{FULLPAGENAME}}/box-header|Projects|{{FULLPAGENAME}}/Projects|}}
+
 
{{{{FULLPAGENAME}}/Projects}}
+
{{:{{FULLPAGENAME}}/box-header|Setting Up Resources|{{FULLPAGENAME}}/Setting Up Resources|}}
 +
{{{{FULLPAGENAME}}/Setting Up Resources}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
</div>
 
</div>
  
 
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
 
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
{{:{{FULLPAGENAME}}/box-header|Things to do|{{FULLPAGENAME}}/Opentask|}}
+
{{:{{FULLPAGENAME}}/box-header|Tricks and Tips|{{FULLPAGENAME}}/Tricks and Tips|}}
{{{{FULLPAGENAME}}/Opentask}}
+
{{{{FULLPAGENAME}}/Tricks and Tips}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
</div>
 
</div>
  
 
<div style="clear:both; width:100%">
 
<div style="clear:both; width:100%">
 
{{:{{FULLPAGENAME}}/box-header|Documentation|{{FULLPAGENAME}}/Documentation|}}
 
{{{{FULLPAGENAME}}/Documentation}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
 
</div>
 
  
 
{{purgepage}}
 
{{purgepage}}

Revision as of 21:38, 28 August 2012

Getting Started with Joomla! · FAQs · Glossary · Tips and tricks · Terms of Service


This is the Joomla! Bug Squad Portal


<translate>

Purpose

</translate>

<translate> The purpose of the Joomla! Bug Squad (JBS) is to reduce the number of bugs in Joomla.</translate>

<translate> This is valid not only for the CMS, but for every Joomla (sub-)project.</translate>

<translate>

Function

</translate>

<translate> The Joomla! Bug Squad reduces the number of bugs in Joomla by following these approaches:</translate>

<translate> 1. Scan the Forum[1], Mailing Lists[2], Social Media[3], Stack Overflow[4], and other external resources for reported issues.</translate>

<translate> It is not up to the JBS to provide support on those channels (although it would be appreciated), but to</translate>

<translate>

  • identify and confirm possible bugs,</translate>

<translate>

  • assist the poster to create an issue ticket on the tracker</translate>

<translate>

  • create an issue ticket on the tracker, if the poster is not able to do that</translate>

<translate>

  • leave a reference to the tracker item on the channel</translate>

<translate> The sooner this happens after the original post, the better the overall perception will be.</translate>

<translate> The main tool - and thus the single point of truth - is the issue tracker, which again is a customised view on several GitHub repositories. All relevant information from the channels mentioned above are consolidated here.</translate>

<translate> 2. Confirm bugs using a test[5].</translate>

<translate> Ideally, a bug is confirmed when - and only when - a test exists that reproduces the issue. That test will prove the validity of any fix.</translate>

<translate> This is not possible in full extent currently. The JBS will work closely with the Automated Testing Team to provide a library of test functions that will allow non-coders to provide a test description that can be turned into test code (calls) automatically[6].</translate>

<translate> Until that library exists, manual confirmation is conducted.</translate>

<translate> In conjunction with the confirmation, JBS also makes sure each issue has the correct Type, Severity, and Priority.</translate>

<translate> 3. Fix bugs</translate>

<translate> The first approach should always be to get the original development team of the buggy feature to fix the issue - they know so much more about the feature's domain than a JBS member can. JBS will help them if needed with implementing tests[7].</translate>

<translate> If the development team can't take over, a fix will be provided by JBS contributors.</translate>

<translate> 4. Follow up issues</translate>

<translate> Whenever an issue gets stuck, JBS leadership will investigate the reasons and put the issue on track again.</translate>

<translate> 5. Testing patches</translate>

<translate> Currently, two positive explorative tests are needed to accept a patch. JBS will support the Automated Testing Team in creating a Docker based test environment that allows to run the test suites on different web servers, with different databases, different PHP versions, and so on. The Product Department defines the stack matrix.</translate>

<translate> 6. Prevent bugs during development</translate>

<translate> The JBS members help the development teams to create a test-first culture. Finding bugs during development is the most effective way to zero bugs.</translate>

<translate> 7. Support Pizza, Bugs and Fun (PBF) events</translate>

<translate> There is a culture of organising Pizza, Bugs and Fun events from time to time - by Joomla User Groups or in conjunction with a JoomlaDay or other conferences. Given enough handling time, JBS members will be available on Glip for assistance.</translate>

<translate>

Roles

</translate>

<translate>

Team Lead, Assistant Team Lead

</translate>

<translate> These two members lead the team as defined in the bylaws. Their main obligation is to co-ordinate the team's activities and collaboration with other teams.</translate>

<translate>

Member

</translate>

<translate> All members are supposed to subscribe to Forum, Mailing Lists, Social Media channels, and StackExchange mentioned previously.</translate>

<translate> Members help users with handling issues on the tracker, with coding fixes, with sending pull requests, as well as with reviewing and testing patches.</translate>

<translate> Members have voting right according to the bylaws.</translate>

<translate>

Contributor

</translate>

<translate> Any person reporting bugs on the tracker, providing fixes, sending patch pull requests, or reviewing or testing patches is considered a JBS contributor.</translate>

<translate> Contributors have no voting right according to the bylaws.</translate>

<translate>

References

</translate>

  1. Joomla! Forum, especially Joomla! CMS 3.x Bug Reporting Forum
  2. Google Groups Joomla! CMS Development and Joomla! Framework Development
  3. Linkedin Official Joomla! Users Group, Facebook Joomla! Group
  4. StackExchange Joomla Q&A
  5. A workflow has to be defined for that, because the test must be executable with and without a proposed fix.
  6. This will be Gherkin based acceptance tests. The syntax is very easy to learn and is targeted at non-coders.
  7. No code should ever be merged without tests! We've seen Joomla breaking because of missing tests way too often.


Please make sure you read: About the Bug Squad

Joomla! Bug Squad Communication


<translate> The Joomla! Bug Squad uses Glip for team communication, so you are encouraged to create an account there, if you have not yet. The "Bug Squad Public Discussion" channel is for Bug Squad contributors. Drop a mail to the Bug Squad, if you can't get into that channel. You will be added manually then. Additionally, you might want to subscribe to the Joomla! CMS Development Mailing list.</translate>

<translate> Joomla! uses GitHub as its code repository and the Joomla! Issue Tracker for reporting bugs.</translate>


Join the Bug Squad


<translate>

Become a Contributor

</translate>

<translate> All you need to start contributing is a GitHub account.</translate>

<translate> A good starting point is testing pull requests (PRs), as we always need at least 2 successful tests for each PR before it can be merged. Detailed instructions for testing Joomla! patches are found on the documentation site.</translate>

<translate> If you are comfortable with coding, you can create PRs for open issues as well.</translate>

<translate> We use Mattermost for team communication, so you are encouraged to create an account there, if you have not yet. The "PD Bug Squad" channel is for Bug Squad contributors. Drop a mail to the Bug Squad, if you can't get into that channel. You will be added manually then.</translate>

<translate> Joomla! uses GitHub as its code repository and the Joomla! Issue Tracker for reporting bugs. You will need your GitHub user account to</translate>

<translate>

<translate>

  • submit patches (PRs) against the Joomla code repository for bug fixes.</translate>

<translate>

<translate>

Become a Member

</translate>

<translate> As a member of the Bug Squad, you are expected to mentor contributors, scan the various communication channels for potential issues, and to support the developers to prevent and fix bugs.</translate>

<translate> If you accept the challenge, send an email request to the Bug Squad with a short description of your expertise to request membership.</translate>

<translate> See Bug Squad Team</translate>

Setting Up Resources

Tricks and Tips


<translate>

</translate>