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

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 tidy up our existing labels and standardise them so that duplicate labels wont be  created
  • Extract out all existing labels from current open OFBiz issues (DONE)
  • Define a list of standard labels that we can use to classify our issues:(Initial Draft in the table below)

NOTE: The following list is a suggested list of labels that could be used to locate specific areas within the OFBiz components. This list is significantly reduced from the existing labels for OFBiz issues.

Proposal

Clean up all existing open issues by removing any non standard labels and assign issue to the appropriate component


Standard ListKeep - yes / noComments
agreementsyes
budgetyes
calendaryesThis is part of the workeffort but a specific implementation of it
currencyyes
databaseyes
dropshipyes
finAccountyesMaybe write in full - financial account
ftlyesOr make it more obvious - and say freemarker
groovyyes
i18nyes
invoiceyes
localeyes
newbieyeswe could also call it beginner...
paymentyesWould be better if this was called payments
refactoringyes
reportingyes
shipmentyes
surveyyes
taxyes
tenantyesNeed to decide if we call it tenant or multi-tenant, we don't need both
tomcatyes
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


Reporter

The issue 'Reporter' is the person that creates the issue. This is automatically assigned by JIRA based on the user profile of the person creating the Jira.


Assignee

The 'Assignee' is the person that is currently working on the JIRA issue. By default when an issue is created, the assignee is blank.

  • If the assignee field is blank then any OFBiz JIRA Contributor can assign themselves to it to work on it.
  • If the assignee field is not blank (i.e it already has someone's name in it, then it means that 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. (i.e remove your name from the assignee field). 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

If you know have arranged with someone to take over your work on an issue, then when removing your name from the assignee field, you can add the person you have arranged to take it over.

Component

The 'Component' field is very important. It is used to identify which OFBiz component or application area is affected by the issue.This makes searching for issues related to a specific component very easy. JIRA also provides a small dashboard of the recently updated issues.

Each component can have a different lead. The component lead is a person that is assigned to be responsible for managing or co-ordinating the issues for a specific component.  (NOTE: This could be a very good way to share the workload by enabling committers to take responsibility for a specific area. For example a component lead could review the issues for their area and plan for the implementation of patches and working on bug fixes.)


Proposal:

 Ask committers to select a JIRA component that hey would like to take the lead on


An issue could also be across more than one applications or it could affect all applications.

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


DO AN EXTRACT OF THE LIST OF COMPONENTS WE HAVE

DO WE STILL NEED TO HAVE THE SAME LIST OF COMPONENTS / WE HAVE RENAME OF PLUGINs


The following is a list of the existing JIRA components for OFBiz with their current Component Leads.


ComponentComponent LeadComponent DescriptionNeeds to be Updated and/or Removed
accounting


ALL APPLICATIONS




ALL COMPONENTS




Attic




base




BuildBot




commonext




Confluence




content




datamodel




Demo




framework

David E Jones

framework/webtools




Gradle




humanres




manufacturing




marketing




order




party

Nicolas Malin

POS




product




securityext




site




specialpurpose/appserver




specialpurpose/assetmaint




specialpurpose/bi




specialpurpose/birt




specialpurpose/cmssite




specialpurpose/ebay




specialpurpose/ebaystore




specialpurpose/ecommerce




specialpurpose/example




specialpurpose/exampleext




specialpurpose/googlebase




specialpurpose/googleCheckout




specialpurpose/hhfacility




specialpurpose/ldap




specialpurpose/lucene




specialpurpose/myportal

Hans Bakker

specialpurpose/oagis




specialpurpose/passport




specialpurpose/pos

Jacques Le Roux

specialpurpose/projectmgr

Hans Bakker

specialpurpose/scrum

Hans Bakker

specialpurpose/solr




specialpurpose/webpos




start




themes




tools


tools/securityJacques Le Roux

workeffort




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.


DO AN EXTRACT OF THE LIST OF ISSUES USING FLAGS

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


DO WE MAKE THIS INTO A FAQ STYLE PAGE???

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.i
  • No labels

3 Comments

  1. Hi Sharan, thanks for this initiative and the good job! I began to review, here are my comments so far.

    1. I like the idea of beginning improvements as whishes
    2. For tasks I guess the best is to give example. Note that it's only used by commiters. Examples, moving things to Attic, updating libs. A complete list exists at
      type key summary assignee reporter priority status resolution created updated due

      JQL and issue key arguments for this macro require at least one Jira application link to be configured

    3. I think sub-taks should be still used, there are convenient in some cases to divide and group related issues. I agree they should not be abused. A best practice about how to use them should created
    4. Editing summaries: I'd not enforce it but I like the idea of them as proposed
    5. This note is confusing because bug fixes are always implementend in trunk and then backported
      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
    6. I doubt labels are a solution for everything. I mean they are open and people can't know this list be heart (this list frighten me). Actually I barely use labels in Jira, maybe case of why we use them and how we do would help.
    7. I never used, and even noticed, the flags. I'd like to know if other projects use them, and why.
    8. For status: we should explain how and when to use them. For instance it's better to let the reporter to close an issue after she has confirmed it works (sorry I barely do that)
    9. ... to be continued...

    Typos:

    • "is security vulnerability" <- "has a security vulnerability"
    • "Crashes,loss of data," <-  "Crashes, loss of data,"
    • "Be careful that that details in the Labels field" <- "Be careful that details in the Labels field"
  2. Hi Jacques - thanks very much for the feedback, comments and corrections. I think it's best if we save any discussion on any of the topics for the mailing lists once I've finished drafting this proposal - so please save these ideas for that (smile). As you can see, it is a work in progress so there are a few things that I might change before the community discussion starts. Thanks

    1. OK, thanks Sharan, looking forward