Access to add and change pages is restricted. See: https://cwiki.apache.org/confluence/display/OFBIZ/Wiki+access

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 102 Next »

These guidelines have been created to help our community use JIRA effectively for Apache OFBiz development. These are the best practices that we want all contributors to follow. If you have a question, or something is unclear, then please don't hesitate to ask for help on the OFBiz development mailing list.

PLEASE NOTE: This page is a WIP

What is JIRA?

  • JIRA is the tool that we use to track project related work. This includes ideas for improvements, non code based work such as testing and documentation as well as bug fixes and issues. Please see the following link to the OFBiz JIRA Summary Panel. 
  • JIRA also provides a list of tasks that need to be actioned in the form of a To Do list, which can be sorted by a range of categories including priority, current status or the person assigned. It also can be used to generate statistics about work in progress and issue resolution.
  • During our Community Days, JIRA's inbuilt agile functionality is used to manage the project backlog and create a Sprints for community members to work on.

If you want to find out more about how JIRA works then please see the link to the complete JIRA documentation

JIRA Fields and Meta Data

Issue Types

When you create a JIRA it needs to have an Issue Type. This is important because it helps to classify the issue and can be one of the following type:


Issue TypeDefinition and when to use this type
BugA bug is generally a problem with code or data which is not functioning correctly.
ImprovementAn improvement is something that enhances the functionality of an existing feature
New Feature

New functionality that does not already exist (What is the difference between this and Wish?)

Proposal:

  • All potential improvements could start as a Wish.
  • When they have been discussed / reviewed by the community then they can be changed to be an approved New Feature

 

The proposal seems inline with the existing text regarding creating JIRA 

This following text comes from our existing pages re Jira : If you don't have a patch, and you have want to suggest an enhancement or new feature, then discuss this in the dev mailing list instead of creating a Jira issue; at the end of the discussion, the community will consider if a summary of the thread should be saved in a new Jira issue, to facilitate future development

TaskA Task is an action that needs to be carried out that does not fall under any of the other issue types. (NOTE: We have used Tasks in the past - maybe need to specify more clearly when to use....)
TestA Test is a unit test or integrated test
Wish

A Wish is a requirement for new something that does not already exist (What's the difference between this and New Feature?

Proposal:

  • All potential improvements could start as a Wish.
  • When they have been discussed / reviewed by the community then they can be changed to be an approved New Feature

 

The proposal seems inline with the existing text regarding creating JIRA 

This following text comes from our existing pages re Jira : If you don't have a patch, and you have want to suggest an enhancement or new feature, then discuss this in the dev mailing list instead of creating a Jira issue; at the end of the discussion, the community will consider if a summary of the thread should be saved in a new Jira issue, to facilitate future development

 

Sub Task

This task is a child of another JIRA:

Proposal :

  • To stop using sub tasks for JIRA issues
  • Main reasoning
    • they add to too much detail to an existing task
    • we are adding a level of detail that is not needed
    • if an issue is that complicated that it needs sub-tasks then it may be cleaner and easier for it to be a separate JIRA issue
    • JIRA sprints don't include sub tasks as part of work delivered, so gives a distorted view of actual work performed
    • JIRA issues can remain open for an extended time with only 1 or 2 sub-tasks remaining

Summary

This is a brief title for the issue and summarises what the issue is about. It must give us the key information. Try to focus on the actual issue that you are facing as this will help us quickly identify and classify it.

e.g  Use 'Problem with Sales Order Status Change from In Process to Shipped" rather than simply "Problem with Sales Order"

Other examples of good JIRA summaries

  • Create a separate SVN repository for OFBiz official plugins
  • Add the auto-entity CRUD services for Runtimedata
  • View Sales Order throws exception in getReturnableQuantity
  • Not able to select virtual products in WebPos

 

Proposal:

  • Review existing JIRA summaries for issues that are open / unresolved
  • We ask the creator to tidy up any unclear summaries


Description

The issue description is the most important part of the JIRA issue. If you are reporting a bug or problem then it provides information that will allow someone else to investigate and resolve it. It must be written in such a way that it is clear enough for someone to easily replicate the problem. This means that you need to include information about:

  • What you did (e.g what application, screen, and the highlight the steps you went through etc) 
  • What you were expecting to happen
  • What actually happened

In some cases you might already have an idea about what is causing the issue. If so then please include your suggestions as this may be helpful to the person picking up the issue.

e.g (ADD AN EXAMPLE)




If the issue is about some project work that is planned (e.g refactoring, documentation etc) or agreed after a community discussion then please use the description is used to highlight the steps needed to get the work done. Add a reference back to the community discussion if relevant.

Example

This issue is related to the discussion found in this thread in which the community approved restructuring our repositories. To achieve this task the following needs to be done (in this order)

  1. Update the gradle scripts to assume that no plugins exist in the plugins directory by default and no component-load.xml exists. It should follow the same logic in loading the components as found in the ComponentContainer class. Also the activation and deactivation of plugins happens in ofbiz-component.xml, not in component-load.xml
  2. Add a new task to gradle called pullPluginSource that retrieves a plugin from subversion and defaults to the official plugins repository of Apache OFBiz. This task mostly server "Trunk" because it always needs the latest source code of the plugins.
  3. delete plugins/component-load.xml
  4. move all plugins to a new repository called http://svn.apache.org/repos/asf/ofbiz/ofbiz-plugins
  5. move the core framework to a new repository called http://svn.apache.org/repos/asf/ofbiz/ofbiz-framework
  6. fix buildbot to point to the new framework location
  7. update documentation where applicable including README.md


Priority

All JIRA issues need a priority as it determines what needs to be worked on. This is important because it helps to ensure that the community is focussed and working on the right tasks.

  • OFBiz has several versions of the code base available as released and unreleased branches, as well as the trunk and JIRA covers all of them.
  • Blocking and Critical issues are generally reserved for problems with production systems (i.e systems that customers use). 
  • The OFBiz 'production systems' are our officially released versions that have been signed and approved for release and issues here are the highest priority.


PriorityCurrent JIRA DefinitionProposed Revised Definition and when to to use this priority
BlockerBlocks development and/or testing work, production could not run

A blocking issue an issue with a released OFBiz version that does not run, causes the system to crash, is security vulnerability to users or exposes the project and Apache Software Foundation to significant risk

CriticalCrashes,loss of data, severe memory leakA critical issue is an issue with a released OFBiz version that causes the system to crash, become unstable, lose data and has no workaround.
MajorMajor loss of function

A major issue is an issue with a released OFBiz version that has a significant impact due to loss of function and has no or limited workarounds

NOTE: Generally none of the unreleased branches or the trunk will have this issue priority unless there are outstanding major issues with a released OFBiz version and the fixes need to be implemented within the unreleased branch or trunk
MinorMinor loss of function or problem where easy workaround is presentA minor issue is an issue with a released OFBiz version, an unreleased branch or trunk that has isolated impact but workarounds are available
TrivialCosmetic problem like misspelt words or misaligned textA trivial issue is an issue with a released OFBiz version, an unreleased branch or trunk that are cosmetic or do not change the functionality

 

Labels

Labels are a way to classify issues. 

  • For example an issue can be labelled as 'Beginner' indicating that it is suitable for beginners or newcomers who want to begin contributing to OFBiz, or 'Documentation' for document related tasks.

An issue can have more than one label and JIRA allows you to create new labels automatically if the one you need does not already exist.  Please be careful that you are not using the label as an indicator for the OFBiz 'Component'  as we already have a component field in JIRA to define the OFBiz component or application area.


Also be aware that the JIRA labels are shared across all ASF JIRA projects so you will find labels releated to other projects in the drop down selection box.

 

Proposal

  • We need to standardise as duplicate labels will created
  • Extract out all existing labels from current open OFBiz issues
  • Define a list of standard labels that we can use to classify our issues:
Standard ListKeep - yes / noComments
accounting?Is this a more a component or more generic?
Accountsnoaccounting would be a better label, but it is also a component
addressnoThis would fit under contactmech
APnoThis is a component..... not sure it should be a label too
ARnoThis is a component..... not sure it should be a label too
addnoDon't think this needs to be a JIRA label
agreementsyes 
ajax? 
api-changenoDon't think api-change is a label. It is more of a description of the task, we could maybe have something that is more generic e.g api
assignementnoThis would fit under employee or project
billing?Might be billing accounts, invoicing etc. May need more clarification on what the existing issues in this category contain
BillingAccountWorkernoDon't think this needs to be the JIRA label
Birt?Might be able to classify as a plug in component
   
bitratenoDon't think we need this as a JIRA label
budgetyes 
CACHEnoDon't think this needs to be a JIRA label
calendaryes 
campaignnoDon't think we need this as a JIRA label
catalognoThis is a component
certificatenoDon't think we need this as a JIRA label
closurenoDon't think we need this as a JIRA label
collectionnoDon't think we need this as a JIRA label
configurationyes 
contactmech? 
content?This is a component
controlnoDon't think this needs to be a standard JIRA label
common?Don't think this needs to be a standard JIRA label
component?Does saying it is a component add value?
consistencynoDon't think we need this as a JIRA label. What is happening is that labels are being used to capture information that would be best included in the issue summary!
createnoDon't think we need this as a JIRA label. What is happening is that labels are being used to capture information that would be best included in the issue summary!
crudnoDon't think this needs to be a JIRA label
CVE?Duplicate: Is this linked to correction of security vulnerabilities? If so then security might be a better and clearer label
cve?Duplicate of CVE. All others are lower case
datayes 
currencyyes 
databaseyes 
datatypenoThink this is a bit too low level for a label.
DBMSnoDon't think that we need this as a JIRA label
demosyes 
devops?Don't think that we need this as a JIRA label
dropshipyes 
dynamicnoDon't think that we need this as a JIRA label
easyfix?This would fit under newbie or beginner
ecommerceyes 
EFTnoThink this fits in payments
email?If it is email then it could fit under contactmech If it was related to email templates then maybe a templates label.....
employeeyes 
employmentnoThis would fit under employee
enginenoDon't think this needls to be a JIRA labe
entityyes 
entity-autonoThis could fit under a generic entity label
entity-conditionnoThis could fit under a generic entity label
entityenginenoThis could fit under a generic entity label
entrynoDon't think we need this as a JIRA label
ESSnoThis would fit under employee (ESS = Employee Self Service)
ExpensenoThis could fit under accounting or use the accounting component
expressionsnoDon't think this needs to be a JIRA label
featuresnoThere is an issue type 'New Feature' so this does not have to be a label. If it is product features then it needs to be a under the product label
finAccountyes 
findnoDon't think we need this as a JIRA label
fieldnoHaving a field label doesn't give us any additional information. It is too generic
fieldtypenoThink this is a bit too low level for a label
filternoDon't think that this needs to be a JIRA label
filtersnoDuplicate. Don't think this needs to be a JIRA label
focus-field-namenoToo specific for a label
form?Don't think that saying an issue is related to a form helps very much
forms?One entry is form and this is forms.
ftlyesOr make it more obvious - and say freemarker
getBillingAccountBalancenoDon't think that this needs to be a JIRA label
gradleyes 
groovyyes 
GroupOrdernoThis would be better under order
hotelnoThis would be better under travel
html? 
humanresnoThis is a component
i18nyes 
inlinenoDon't think this needs to be a JIRA label
invoiceyes 
layerednoDon't think that this needs to be a JIRA label
ldap? 
LEAKnoDon't think this needs to be a JIRA label
linksnoDon't think this needs to be a JIRA label
localeyes 
lookupnoDon't think that this needs to be a JIRA label
jarnoDon't think that this needs to be a JIRA label. Too generic to have very much meaning as a JIRA label
javanoDon't think this needs to be a JIRA label
keystorenoDon't think that this needs to be a JIRA label
managementnoDon't think that this needs to be a JIRA label
manufacturingnoThis is a component
mapping?maybe
marketingnoThis is a component
MEMORYnoDon't think that this needs to be a JIRA label
modalwindownoDon't think that this needs to be a JIRA label
multipliernoDon't think that this needs to be a JIRA label
multi-tenant?Duplicate of tenant. Need to decide whether to use tenant or multi-tenant as the standard label
NetBeforeOverheadnoDon't think this needs to be a JIRA  label
NER?What is this?
newbieyeswe could also call it beginner...
NLP?What is this?
ofbiznoWe don't need ofbiz as a label
operations?Not sure what this means?
order?Could be purchase order, sales order...
OrdernoDuplicate
order-confirmationnoThis would fit under order
OrderPurchasePaymentSummarynoDon't think this needs to be a JIRA label
PartyRelationshipnoThis would fit under roles
patchnoThis doesn't need to be a label as there is a specific field for flagging patches in the issue itself
paymentyesWould be better if this was called payments
payment-applicationnoThink this fits in payments
payment-gatewaynoThink this fits in payments
payment-methodnoThink this fits in payments
performancenoDuplicate. Don't think this needs to be a JIRA label
PERFORMANCEnoDon't think this needs to be a JIRA label
persistencenoDon't think this needs to be a JIRA label
phasenoDon't think this needs to be a JIRA label
portalnoDon't think this needs to be a JIRA label
portalPagenoDon't think this needs to be a JIRA label
portletnoDon't think this needs to be a JIRA label
productyes 
profilenoDon't think this needs to be a JIRA label
project?If this is project manager related then I think it could be a component (even an official plug in one)
projectmgrnoThis is a component. Could use project...
purchase?Not sure this is a good label, purchasing might be a better description
questionnairenoThis is included under survey
quote? 
readonlynoDon't think this needs to be a JIRA label
refactoringyes 
registrationnoDon't think this needs to be a JIRA label
relations?Unsure of what this means? Sounds like it could be more linked to roles
renderer?Don't think this needs to be a JIRA label
reportingyes 
requestyes 
request-objectsnoDon't think this needs to be a JIRA label
resourcesnoDon't think this needs to be a JIRA label
role?This is very generic, also there is another label roles, what the difference? or is it just duplication
roles?See above
roomsnoThis would be better under travel
scrum?Does this become part of a plug-ins label
searchnoDon't think we need this as a standard JIRA label
securityyes 
servlet-contextnoDon't think this needs to be a JIRA label
servicenoDon't think we need this as a standard JIRA label
servicesyes 
session-contextnoDon't think this needs to be a JIRA label
shipmentyes 
shippingnoThis can fit under shipment
skip-startnoToo specific to be a useful JIRA standard label
surveyyes 
SurveynoDuplicate of survey, another example of how easy it is to create duplicates if no standard list is specified
setup?Think this is too generic
svnnoDon't think this needs to be a JIRA label
tasknoDon't think this needs to be a JIRA label
tasksnoDuplicate.
taxyes 
TaxnoDuplicate that is easily created and used if we don't have a standard list
tenantyes 
themeyes 
timenoThis would fit under employee or project
timesheetnoThis would fit under employee or project
tomcatyes 
transactions?This description is to generic
travelyesConsolidate things like hotel, rooms etc under this label
unitsnoDon't think that this needs to be a standard JIRA label
upgradenoDon't think that this needs to be a standard JIRA label
ux? 
vacationnoThis would fit under employee
vatyesIt could be under tax, but VAT does has some specific rules so separating it out from generic tax could be useful for the community
VATnoDuplicate
voidnoDon't think this needs to be a JIRA label
webapp? 
websiteyes 
webtools?This is a component ...
week_of_yearnoDon't think this needs to be a JIRA label
widgetyes 
widgetrenderingnoThis could fit under widget
x509?Does this mean anything?
xsd?Don't think this needs to be a JIRA label

 

To refine the use of labels it may be easier to define the ones that we want to use:

 

 

 

 

Do we have a list of labels that we could use and can we extract the existing list from Jira?

 

Reporter

The issue reporter is automatically assigned by JIRA based on the user profile of the person creating the Jira

Assignee

An Assignee is the person that is currently working on the JIRA issue. By default when an issue is created, the assignee is blank. Any OFBiz JIRA contributor can then assign themselves to an issue where the Assignee is blank. If an issue already has an Assignee then it means that person is still working on it.

If you are an Assignee for an issue and you have completed your work then once you have updated the JIRA details or comments, please unassign yourself from the issue. This is important if the work is a patch that needs to be committed. Our Committers will be able to see the unassigned tasks that are available to be picked up, review them and if necessary commit them

Component

The component field is used to identify which OFBiz component or application area is affected by the issue, The issue could be across all the applications or it could be restricted to a particular area such as Workeffort, Content, Datamodel or Accounting.

NOTE: Be careful that that details in the Labels field is not being duplicated.


Flags

There are two flags available on a JIRA issue. One flags that the issue is a Patch and the other that the issue is Important.

JIRA already provides a 'Provide Patch' button for an issue so the Patch flag here is a duplication of functionality. Some of the issues include it as well as the patch, and some don't. (We may need to look at revising how we use this flag)

JIRA also already provides a 'Priority' field for an issue so the Important flag seems like a duplication of functionality.

Status

The status field tracks the current status of an issue from creation to resolution or closure.


StatusDefinition
OpenThis status indicates that the issue is open and is the default status when a JIRA issue is created
In ProgressThis status indicates that the issue is in progress and that someone is working on it
ReopenedThis status indicates that the issue has been previously closed but has to be re-opened because of some additional work
ResolvedThis status indicates that the issue has been resolved. If the issue is code or patch related then it also indicates that the code has been committed
ClosedThis status indicates that the issue has been closed. It can indicate issue completion or simply the closure of an invalid issue
Patch AvailableThis status indicates that the issue has a code patch uploaded that will resolve the issue.


Affect Versions


Fix Versions


Creating JIRA Issues

Creating issues in JIRA adds to the project workload so it is important that they are created when needed and with the right level of information that will help someone to pick it up and resolve it as soon as possible.

When Not to Create a Jira Issue

  • If you want general OFBiz help or advice
  • If you want to know which version to use
  • If you want to talk about anything related to your specific OFBiz implementation
  • If you want to know how other users manage a process or function
  • If the issue has already been reported and exists in the current list of issues

Instead please post your question or comments on our user or development mailing lists and someone from our community will respond to you.

Discussion Point


  • If you have an idea for a new feature or improvement
    •  If you don't have a patch, and you want to suggest an enhancement or new feature, then discuss this in the dev mailing list instead of creating a Jira issue; at the end of the discussion, the community will consider if a summary of the thread should be saved in a new Jira issue, to facilitate future development
    • If you don't have a patch, but you are planning to work on it, and you want to share your design details with the community, you should discuss this in the mailing list instead of creating a Jira issue


Many people use OFBiz so there is a chance that issue you have encountered may have already been reported. You can search JIRA using the keyword search to see if anything with a similar topic has been created. There is a 'Search' box in the top right of the main JIRA screen and this searches across all ASF projects. All OFBiz issues have the format 'OFBIZ-9999'

Another way to search issues is by clicking the 'Issues' link on the left hand column and then 'All Issues'. An advanced search query filter box is displayed that allows the user to enter their search criteria. The query box is user friendly and offers interactive lookup on the query commands as you type. See below for an example of a query to find all issues that have the word 'accounts' in their description

project = OFBIZ and description ~accounts


When  to Create a JIRA Issue

Reminder: Before creating a JIRA issue, please check that it has not already been reported.

  • If you have discovered a bug that has not yet been reported
  • If you have identified a bug then also fixed it and want to contribute the fix back to the project, then you can create an issue and attach your patch to it. (Note if the issue has already been created then attach your patch to the existing issue and do not create a jira) 
  • If after a community mailing list discussion the recommendation is the create a JIra (e.g. new features, improvements etc)

 

Discussion Point :

 if, on the other hand, you don't have time to do this, (i.e. to discuss the design solution with the community) you have already decided that you want to implement your patch following your design notes, and you just want to let the community know about the upcoming patch, you can create a Jira issue (to which you will attach your patch when it is ready

  • Doing this means that patches for improvements and new features can get uploaded to JIRA and the community has not discussed or agreed they want them or are necessary
  • Are we trying to use JIRA like a patch code repository too? If so then is JIRA the best place to do it? How do we make the distinction between patches that are contributed and are accepted to the repository and those that are not acceptable due to whatever reasons (coding, design etc)

 

 

How to Create a JIRA Issue

  1. You need a JIRA account so if you do not have one then create an account here
  2. Login to your JIRA account
  3. Click 'Create' at the top of the screen to create a new issue and a screen form will be displayed for you to fill in
  4. Project: OFBiz should the default project for the issue. If it is not then please select it from the dropdown selection box
  5. Issue Type: Bug is the default so please change this if your issue belongs to a different issue type
  6. Priority: Major is the default priority. Please review the guidelines around assigning a priority and change it if necessary
  7. Component: Select the OFBiz component that is affected by the issue you are creating. If all components are affected select ALL_COMPONENTS 
  8. Affect version: Select the OFBiz version that is affected by the issue you are creating. I
  9. Assignee: If you are going to work on this issue yourself the enter your name
  10. Reporter:  The name of the person creating the issue should be automatically default as the reporter
  11. Environment: Specify at least your operating system and the database you are using for OFBiz as this information could be very useful to help people working on the issue. If you are running the trunk then please specify the SVN revision number
  12. Description:

 

 

  1. If you need to attach files such as patches you must do it as a second step after the issue creation. It is also possible to easily attach screenshots to the issue see here
    • When attaching files or screenshots you can add a comment where you explain how the attached file is supposed to be used. Please reference the file name in the comment because more files could be attached to the issue at a later time and they will be all listed togheter far from their comments. If, for any reason, you don't want your patch or attachment to be granted to the ASF or committed, please note it in one related comment (possible cases: not ready yet, examples, etc.)
    • Also please use preferably .patch as extension for patches. When updating an attached file keep the same name : Jira is able to deal with that and will simply gray old files, you don't need to delete them (sometimes its usefull to compare older patches versions)
    • If you provide a patch, be sure to use the button "Provide Patch" (the status will then be "Patch Available"). This allows us (commiters) to know that this issue is ready for review.
  2. Jira offers a voting mechanism that is used to give more relevance to the issues (see here to learn more)


How to Update a JIRA Issue

  1. You need a JIRA account so if you do not have one then create an account here
  2. Login to your JIRA account

    1. (optional if you are sure it's new) Search if an issue for what you are after already exists by using the "Find issues"
    2. (optional if you are sure it's new) If an issue on the subject already exists you can add a comment on it
  3. If a issue does not exist, create a new one selecting the "create new issue" command. For details on the issue creation see here
  4. Select the OFBiz project and the issue type.
  5. Fill in all fields, give as many detail you think necessary
    • Generally it is very important to select in the "Affect version" field the ofbiz version you are running. If you are running the trunk then the SVN revision should also be specifyed in the Environment field
    • Use the Environment field to specify at least your operating system and the database ofbiz is using since these information could be very useful to help people to work on the issue
    • Select the concerned component(s). If all components are affected select ALL_COMPONENTS (uncommon case)
  6. If you need to attach files such as patches you must do it as a second step after the issue creation. It is also possible to easily attach screenshots to the issue see here
    • When attaching files or screenshots you can add a comment where you explain how the attached file is supposed to be used. Please reference the file name in the comment because more files could be attached to the issue at a later time and they will be all listed togheter far from their comments. If, for any reason, you don't want your patch or attachment to be granted to the ASF or committed, please note it in one related comment (possible cases: not ready yet, examples, etc.)
    • Also please use preferably .patch as extension for patches. When updating an attached file keep the same name : Jira is able to deal with that and will simply gray old files, you don't need to delete them (sometimes its usefull to compare older patches versions)
    • If you provide a patch, be sure to use the button "Provide Patch" (the status will then be "Patch Available"). This allows us (commiters) to know that this issue is ready for review.




How to create a Jira issue

 
  1. Create an account here, if you do not have one
  2. Login
    1. (optional if you are sure it's new) Search if an issue for what you are after already exists by using the "Find issues"
    2. (optional if you are sure it's new) If an issue on the subject already exists you can add a comment on it
  3. If a issue does not exist, create a new one selecting the "create new issue" command. For details on the issue creation see here
  4. Select the OFBiz project and the issue type.
  5. Fill in all fields, give as many detail you think necessary
    • Generally it is very important to select in the "Affect version" field the ofbiz version you are running. If you are running the trunk then the SVN revision should also be specifyed in the Environment field
    • Use the Environment field to specify at least your operating system and the database ofbiz is using since these information could be very useful to help people to work on the issue
    • Select the concerned component(s). If all components are affected select ALL_COMPONENTS (uncommon case)
  6. If you need to attach files such as patches you must do it as a second step after the issue creation. It is also possible to easily attach screenshots to the issue see here
    • When attaching files or screenshots you can add a comment where you explain how the attached file is supposed to be used. Please reference the file name in the comment because more files could be attached to the issue at a later time and they will be all listed togheter far from their comments. If, for any reason, you don't want your patch or attachment to be granted to the ASF or committed, please note it in one related comment (possible cases: not ready yet, examples, etc.)
    • Also please use preferably .patch as extension for patches. When updating an attached file keep the same name : Jira is able to deal with that and will simply gray old files, you don't need to delete them (sometimes its usefull to compare older patches versions)
    • If you provide a patch, be sure to use the button "Provide Patch" (the status will then be "Patch Available"). This allows us (commiters) to know that this issue is ready for review.
  7. Jira offers a voting mechanism that is used to give more relevance to the issues (see here to learn more)

 

If you don't have a patch, and you have discovered a bug, create a Jira issue (if there is not one already) providing as much details as possible (including the rev. number and the environment you are using, and the step to recreate the bug). if you have no ideas how to describe the bug use this template

  1. What you did (including detailed steps to reproduce)
  2. What you expected to happen
  3. What actually happened (including exact quotes of error messages, etc)
  4. If possible provide an URL



Commenting on a JIRA Issue


Voting for a JIRA Issue

Watching a JIRA Issue


OFBiz JIRA Workflow




Epics are disabled - do we enable them?



Add a wiki page (if one does not exist) documenting:
  - Guidelines for writing JIRA mentioning clarity, provision of solution.
  - A clear definition of priorities (blocker, critical, major, minor,
trivial) with some examples.
  - A description of meaning of assignee and how to use it
  - A description of other metadata and how to properly use it (tags,
components, affects version, etc...)

 

TO TIDY UP - Copied from Committers Roles and Responsibilities page

Type of changes and where should they go

There are roughly 3 main types of changes:

  1. New features
  2. Improvements
  3. Bug fixes

Bug fixes should normally go in the release branches, as much as they can. Security fixes must trigger a new released packages.
New features and Improvements should never get into a release branch. Exceptions may occur, but they need a consensus, and as ever can be vetoed (only by committers, though this rule can be adapted by the community)

 

All committers must do the following to ensure licensing compliance

  1. Make sure the contribution is posted publicly on the Apache OFBIZ JIRA issue tracker. Please do not commit changes that were sent to you privately. If you receive a patch, open a JIRA issue and then ask the submitter to post his patch there. This way, we can avoid having to get an iCLA for the contributor, as well as let everybody in the community view and comment on the contribution.
  2. If it is a new file, the file must have the Apache 2.0 license header.
  3. The commit log must identify the name of the contributor and, if relevant, the JIRA issue for it.

 

Manage JIRA's issues

Please take the time to correctly fill the different Jira fields we now use for our releases change logs.

  • Specifiy in Resolution :
    • Improvements : use either Done or Implemented Status as you feel right
    • New features : use the Implemented Status
    • Bug : use the Fixed Status
    • Of course you might also use other status (like duplicate, won't fix, invalid, etc.) when needed...

 

 

  • Specify in the Fix Version/s the codebase(s) to which you have committed the patch/fix :

 

Temporary warning

 

Because we decided to not release the R14.12 and R15.12 branches, and because 13.07.03 was the last release of the R13.07 branch, currently only "Upcoming Branch" and Release Branches (like  Release Branch 15.12) are available in the "Fix Version/s" field. Not released versions (like 13.07.03) will no longer appear but when we wil release the next coming R16 branch.

 

    •  you can select from the dropdown one or more of the items under the "Unreleased Versions" group in the top part of the drop down box;
    •  you should never use one of the items in the "Released Versions"  section (bottom part);
    •  if the commit is only done (ie not backported) on "Trunk" then select "Upcoming Branch";
    •  if you are backporting/committing to a release branch then select the latest (next) release version in that branch available in the dropdown.

 

 

After some time the following Jira reports will contain very useful information :

 

  • Note about backports for bug fixes

When you don't backport a bug fix to a release branch, please explain the reason/s you don't backport. Then when others review they don't wonder why it was not backported and don't have to search why!

TO TIDY UP - Copied from Contributors Best Practices Page

How to create a Jira issue

 
  1. Create an account here, if you do not have one
  2. Login
    1. (optional if you are sure it's new) Search if an issue for what you are after already exists by using the "Find issues"
    2. (optional if you are sure it's new) If an issue on the subject already exists you can add a comment on it
  3. If a issue does not exist, create a new one selecting the "create new issue" command. For details on the issue creation see here
  4. Select the OFBiz project and the issue type.
  5. Fill in all fields, give as many detail you think necessary
    • Generally it is very important to select in the "Affect version" field the ofbiz version you are running. If you are running the trunk then the SVN revision should also be specifyed in the Environment field
    • Use the Environment field to specify at least your operating system and the database ofbiz is using since these information could be very useful to help people to work on the issue
    • Select the concerned component(s). If all components are affected select ALL_COMPONENTS (uncommon case)
  6. If you need to attach files such as patches you must do it as a second step after the issue creation. It is also possible to easily attach screenshots to the issue see here
    • When attaching files or screenshots you can add a comment where you explain how the attached file is supposed to be used. Please reference the file name in the comment because more files could be attached to the issue at a later time and they will be all listed togheter far from their comments. If, for any reason, you don't want your patch or attachment to be granted to the ASF or committed, please note it in one related comment (possible cases: not ready yet, examples, etc.)
    • Also please use preferably .patch as extension for patches. When updating an attached file keep the same name : Jira is able to deal with that and will simply gray old files, you don't need to delete them (sometimes its usefull to compare older patches versions)
    • If you provide a patch, be sure to use the button "Provide Patch" (the status will then be "Patch Available"). This allows us (commiters) to know that this issue is ready for review.
  7. Jira offers a voting mechanism that is used to give more relevance to the issues (see here to learn more)

 

When to create a Jira issue

 
  1. Before creating any Jira issue, please check, using some related key words, if a similar issue does not exist already. For that you can first use the quich search at top right of Jira pages and after refine your search using relevant information. For instance by default all projects are scanned, you may then search only in OFBiz, etc.
  2. If you already have a patch for an improvement/fix then create a Jira issue (if there is not one already) and attach your patch to it
  3. If you don't have a patch, and you have discovered a bug, create a Jira issue (if there is not one already) providing as much details as possible (including the rev. number and the environment you are using, and the step to recreate the bug). if you have no ideas how to describe the bug use this template
    1. What you did (including detailed steps to reproduce)
    2. What you expected to happen
    3. What actually happened (including exact quotes of error messages, etc)
    4. If possible provide an URL
  4. If you don't have a patch, and you have want to suggest an enhancement or new feature, then discuss this in the dev mailing list instead of creating a Jira issue; at the end of the discussion, the community will consider if a summary of the thread should be saved in a new Jira issue, to facilitate future development
  5. If you don't have a patch, but you are planning to work on it, and you want to share your design details with the community, you should discuss this in the mailing list instead of creating a Jira issue; if, on the other hand, you don't have time to do this, you have already decided that you want to implement your patch following your design notes, and you just want to let the community know about the upcoming patch, you can create a Jira issue (to which you will attach your patch when it is ready);
    Summarizing:
  • Bugs: always create a new Jira issue everytime you find a new bug
  • New features/enhancements: create new Jira issue only if you have a patch (or if you plan to submit it very soon)

 

Editing comments in Jira

 

This feature should be used very parsimoniously because it's not easy to read edited comments from a mailing list and most people read comments from the dev ML (Jira issues are redirected to dev ML).
So, as far as it's possible, you should better add a new comment than editing one. If you really need to edit a comment, you MUST put a BIG prefix before your comment so it is possible to distinguish it from the original text. That should include more than just a pair of "*" to bold part or all of the response, and should also include your initials so that it is clear which things you added.

  1. Before creating any Jira issue, please check, using some related key words, if a similar issue does not exist already. For that you can first use the quich search at top right of Jira pages and after refine your search using relevant information. For instance by default all projects are scanned, you may then search only in OFBiz, etc.
  • No labels