I think 'User' should be described as both 'finding issues' and 'suggesting improvements' for Moodle, even if the detail of how things are implemented are left for the Product Owner. Just thinking that a good chunk of the things I add to the Tracker are suggestions for improvement rather than 'issues' as such and that we should promote this idea as a general rule - maybe :)
- I agree with Mark. Bug tracker should be used for actual bugs. Discussion about future roadmaps, enhcnements and improvements is a separate matter, and in actual fact it is hard to engage in this. I don't have an answer at the moment. Maybe a place to discuss, and notification of when discussions have heated up (like specs are being prepared and a new roadmap developed for a component) ie owners manage the discussion, but there is a clear place to go to engage, some indication of timelines etc. --Derek Chirnside 19:39, 25 November 2010 (UTC)
Well, "issues" there was meant to cover "bugs" and "suggestions", as the tracker does both. I'll make it more explicit though. Martin Dougiamas 10:12, 30 November 2010 (UTC)
OK - I could live with this. But I still prefer this clearer distinction as suggested by Mark:
- 1 User role
- 2 Backlog naming
- 3 This does not look like scrum to me at all
- 4 If the issue is a bug in the current stable version requiring database changes, assign "Fix version" to DEVBACKLOG
- 5 Suggested changes for "External Developers"
- 5.1 Creating repo
- 5.2 Contributing back
- 5.3 Updating to next version of Moodle
- 6 Contrib Code - Development process
- 7 External developers
- 8 About the "Commit messages" section in the page
- Uses Moodle
- Finds issues/bugs (report in tracker)
- Suggests improvements (report in tracker)
Question: is there a way in the tracker to keep issues in two lists: bugs and suggestions? Maybe even like Google: you can suggest anything, but at any given time there are a few suggestions up for vote? In Moodle, you can discuss anything, but someone is highlighting at any given time a few topics for focused discussions. On reflection the answer may be No - on this basis I am back to my original suggestion.
A bug is a bug - it is not working as we know it should. A suggestion for an enhancement is partly an invitation to dialogue, vote. Voting for bugs is silly - all bugs need fixing, and priorities are best (IMO) determined centrally. So:
- Uses Moodle
- Finds and reports bugs (use tracker)
- Suggests improvements (use tracker)
- Takes part in dialogue around suggested improvements
Derek Chirnside 06:18, 4 December 2010 (UTC)
- Derek, thanks for your comments. Regarding a way in the tracker to keep issues in two lists: bugs and suggestions, when you create an issue you have a choice of issue types - bug, new feature, task and improvement. Thus, a search for all new features and improvements should generate a list of suggestions. --Helen Foster 14:31, 4 December 2010 (UTC)
Regarding the latest change about naming backlog versions with "STABLEBACKLOG/DEVBACKLOG", I'd recommend to use instead something like: "1.9.x backlog/2.0.x backlog/2.1.x backlog" because:
- It saves us to move things when a new major release happens (so it won't be necessary to move all the DEVBACKLOG => STABLEBACKLOG".
- It supports multiple stable branches, like we have now (1.9.x, 2.0.x...)
- It respects the format used by both the Affected Branches and Fixed Branches custom fields that are really useful for a lot of filters.
Ciao, Eloy Lafuente (stronk7) 23:33, 6 December 2010 (UTC) :-)
- Addenda: Finally it has been decided to go to 2 backlogs only (stable/dev). Fair enough so developer (team) will look to the real branches were solution needs to be implemented. Eloy Lafuente (stronk7) 10:23, 9 December 2010 (UTC)
This does not look like scrum to me at all
I think we need a certified scrum master. This proposal IMHO seems to break nearly all the good Scrum practises described in books.
Ciao, Petr Škoda (škoďák) 10:03, 9 December 2010 (UTC)
- Agree! some points (see point 3 especially, both in STABLE/DEV teams, break the thing. It's (scrum, by team) master responsibility to discuss with product owner, not team itself! Isolation is a MUST.
- Ciao, Eloy Lafuente (stronk7) 10:12, 9 December 2010 (UTC)
If the issue is a bug in the current stable version requiring database changes, assign "Fix version" to DEVBACKLOG
Hmm, maybe this should be governed up by bug severity too? You, sure, aren't going to say that every bug requiring DB update, however severe it is, should be left up to the next major release? --Oleg Sychev 14:51, 9 December 2010 (UTC)
I understand the idea of pulling from the items with the highest priority; however, how are we going to determine that priority. We have issue severity which has traditionally been seen as a priority indicator but we also have the number of votes. I am curious when paper cuts will be taken care of. These smaller issues can impact the user experience. I suspect in an ideal world, all the major issues will be dealt with but occasionally some simple fixes come along with patches in the tracker and it would be good to get those applied. Peace - Anthony
- Well, in practice I expect people will choose items based on a cost/benefit analysis of fixing them - just like they always have in the past.--Tim Hunt 18:14, 16 December 2010 (UTC)
Suggested changes for "External Developers"
I had a really good conversation with David (He posted a screenshot that maybe does a better job of explaining what is described below: http://picasaweb.google.com/david.mudrak/Moodle#5551427587739059122), and we discussed one possible suggested workflow external developers can use if they choose to use their own GIT repo. Here's how it would break down:
Branch off MOODLE_20_STABLE (ie: UCLA_TRUNK)
$ git --bare fetch git://git.moodle.org/moodle.git MOODLE_20_STABLE:MOODLE_20_STABLE $ git checkout -b UCLA_TRUNK origin/MOODLE_20_STABLE
commit customizations into branch
$ ... (hack something, git add, git commit) $ git push
Create another branch off MOODLE_20_STABLE (ie: COOL_NEW_FEATURE)
$ git --bare fetch git://git.moodle.org/moodle.git MOODLE_20_STABLE:MOODLE_20_STABLE $ git checkout -b COOL_NEW_FEATURE origin/MOODLE_20_STABLE
git cherry-pick to selectively pick commits from UCLA_TRUNK to merge into COOL_NEW_FEATURE
$ git cherry-pick 7300a6130d9447e18a931e898b64eefedea19544
publish branch COOL_NEW_FEATURE
create pull request in tracker
If accepted, it becomes part of core moodle
Updating to next version of Moodle
$ git pull
Contrib Code - Development process
I think this may be a good time to give some thought to coming up with the process we want to implement and enforce for sharing CONTRIB code. What assumptions do we want to make from the beginning? Should shared code be in a git repository somewhere? We have folks that share everything from zip files of plugins, some use Google code, others may use git. My experience has been that many are not initially proficient at using CVS/GIT, etc. although this seems to be improving. In any case, I would love to see a clear diagram about what someone does when they create code that they want to share. It has worked well to initiate conversations in the tracker as I can them work them through the Guidelines for CONTRIB Code (https://docs.moodle.org/en/Development:Guidelines_for_contributed_code) but I think we need to update that now for how we want to handle things in the future. Perhaps the improved M&P database will be the point of first contact. In any case, I would love to see if we could create a page similar to the Development:Process called something like Development:CONTRIB process. Peace - Anthony
I have a question about the historical integrity of providing patches via links. For external developers, we say "Suggest code via links in comments in Jira". What happens if those links no longer work? Perhaps this is a trivial issue and will in practice hardly ever happen but I was thinking about going back to an older issue that it may be helpful to see an approach that was attempted but rejected. If the external developer removes the branch, then it would seem to me that perhaps their rejected patch would no longer be available to be reviewed later. Am I understanding this properly and if so, might we consider what the approach might be for getting patches in the tracker so that they can stay there? Peace - Anthony
About the "Commit messages" section in the page
IMO that information is:
- Absolutely inaccurate. A lot of people has never used that commit messages structure at all.
- Completely out of context: Unrelated with the purpose of the page (the development process, not its specifications or guidelines).
So my +1 to take it out from there ASAP. Ciao :-) --Eloy Lafuente (stronk7) 00:23, 4 March 2011 (UTC)
- Eloy, you are a senior developer. Please update the information and move it somewhere else. (Assuming other people agree.)
- The information about commit messages needs to be seen by all Moodle developers (HQ and elsewhere) because they need to write good commit messages, module owners and integration reviewers, who need to review what developers have done. It is part of "How to do Moodle development", which is sort of what this page is about. (I copied this information from CVS for developers which is an even worse place for it to be these days. Perhaps we should create a new page Commit messages (perhaps) and link to it from the git docs and the coding guidelines. (And probably a see-also link from here.)--Tim Hunt 08:17, 4 March 2011 (UTC)