Ticéid triailLink to this heading
Django uses Trac for managing the work on the code base. Trac is a community-tended garden of the bugs people have found and the features Django has decided to add. As in any garden, sometimes there are weeds to be pulled and sometimes there are flowers and vegetables that need picking. We need your help to sort out one from the other, and in the end, we all benefit together.
Cosúil le gach gairdín, is féidir linn a bheith ag súil le foirfeacht, ach i ndáiríre níl aon rud den sórt sin ann. Fiú sa ghairdín is pristine tá seilidí agus feithidí fós ann. I ngairdín pobail tá daoine cabhracha ann freisin - leis an rún is fearr - a thorthú na fiailí agus a nimhionn na rósanna. Is obair an phobail ina iomláine é féin-bhainistiú, na fadhbanna a choinneáil ar a laghad, agus oideachas a chur ar fáil dóibh siúd a thagann isteach sa phobal ionas gur féidir leo a bheith ina mbaill luachmhara rannpháirteach.
Ar an gcaoi chéanna, cé go bhfuil sé mar aidhm againn go mbeidh Trac ina léiriú foirfe ar staid dul chun cinn Django, admhaímid nach dtarlóidh sé seo. Trí ualach cothabhála Trac a dháileadh ar an bpobal, glacaimid leis go mbeidh botúin ann. Tá Trac “cruinn den chuid is mó”, agus tugaimid liúntais as go mbeidh sé mícheart uaireanta. Tá sé sin ceart go leor. Is foirfeachtóirí muid le spriocdhátaí.
We rely on the community to keep participating, keep tickets as accurate as possible, and raise issues for discussion on the Django Forum when there is confusion or disagreement.
Is tionscadal pobail é Django, agus cabhraíonn gach ranníocaíocht. Ní féidir linn é seo a dhéanamh gan**tús**!
Sreabhadh oibre triageLink to this heading
Unfortunately, not all reports in the ticket tracker provide all the required details. A number of tickets have proposed solutions, but those don't necessarily meet all the requirements adhering to the guidelines for contributing.
Bealach amháin le cabhrú amach is ea ticéid a chruthaigh úsáideoirí eile trialó.
<triage-stages>Tá an chuid is mó den sreabhadh oibre bunaithe ar choincheap an ticéad: ref: `céimeanna triage `. Déanann gach céim cur síos ar an áit a bhfuil ticéad ar leith ag am ar bith i rith a shaoil. In éineacht le dornán bratacha, insíonn an tréith seo dúinn go héasca cad agus cé a bhfuil gach ticéad ag fanacht air.
Ós rud é gur fiú míle focal pictiúr, tosaímid ansin:
We have four roles in this diagram. Maintainers (also known as Fellows) usually take part in all of them, but anyone in the Django community can participate in any role except merger. The merger role is granted by a vote of the Steering Council.
Triagers: anyone can take on this role by checking whether a ticket describes a real issue and keeping the tracker organized.
Bug fixers: anyone can contribute by opening a pull request and working on a solution for a ticket.
Reviewers: anyone can review pull requests and suggest improvements.
Mergers: people with commit access who make the final decision to merge a change.
Our Trac system is intentionally open to the public, and anyone can help by working on tickets. Django is a community project, and we encourage triage and collaboration by the community. This could be you!
For example, here's the typical lifecycle of a ticket:
Alice creates a ticket and opens an incomplete pull request (missing tests, incorrect implementation).
Bob reviews the pull request, marks the ticket as "Accepted", sets the flags "needs tests" and "patch needs improvement", and leaves a comment explaining how Alice can improve the patch. This puts the ticket automatically into the "waiting on author" queue within the "accepted" stage.
Alice updates the pull request, adding tests (but not yet fixing the implementation), and removes the two flags. The ticket moves into the "needs PR review" queue.
Charlie reviews the pull request, sets the "patch needs improvement" flag again, and leaves another comment suggesting changes to the implementation. The ticket moves back to the "waiting on author" queue.
Alice updates the pull request again, this time fixing the implementation, and removes the "patch needs improvement" flag. The ticket moves once more into the "needs PR review" queue.
Déanann Daisy athbhreithniú ar an iarratas tarraingthe agus marcálann an ticéad mar “Réidh le seiceáil”.
Jacob, a merger, reviews and merges the pull request.
Some tickets move through these steps quickly, while others take more time and discussion. Each contribution helps Django improve.
Céimeanna triageLink to this heading
Anseo thíos déanaimid cur síos níos mionsonraithe ar na céimeanna éagsúla a bhféadfadh ticéad dul tríd le linn a shaolré.
Gan athbhreithniúLink to this heading
The ticket has not been reviewed by anyone who felt qualified to make a judgment about whether the ticket contained a valid issue or ought to be closed for any reasons. Unreviewed tickets appear in the "triage" queue.
Unreviewed tickets may receive additional refinement before being accepted. Unless you are both the author of the ticket and intending to submit a patch, unreviewed tickets should not be claimed.
GlacthaLink to this heading
The absolute meaning of "accepted" is that the issue described in the ticket is valid and actionable. It is broken out into three queues:
Needs Patch (Accepted + No Flags)
The ticket is valid, but no one has submitted a patch for it yet. Often this means you could safely start writing a fix for it. This is generally more true for the case of accepted bugs than accepted features. A ticket for a bug that has been accepted means that the issue has been verified by at least one triager as a legitimate bug - and should probably be fixed if possible.
For new features, accepted tickets should only exist after the idea has gone through the appropriate process for suggesting new features and received community and Steering Council approval, or been accepted in a DEP.
Needs PR Review (Accepted + Has Patch)
Tá an ticéad ag fanacht le daoine athbhreithniú a dhéanamh ar an réiteach a soláthraíodh. Ciallaíonn sé seo an paiste a íoslódáil agus é a thriail, a fhíorú go bhfuil tástálacha agus doiciméid ann, an tsraith tástála a rith leis an bpaiste atá san áireamh, agus aiseolas a fhágáil ar an ticéad.
Waiting On Author (Accepted + Has Patch + Needs fixes)
Ciallaíonn sé seo go ndearnadh athbhreithniú ar an ticéad, agus fuarthas amach go dteastaíonn breis oibre Tá “tástálacha riachtanais” agus “Doiciméadú riachtanais” féinmhínithe De ghnáth beidh trácht ar an ticéad ag gabháil le “Feabhsú riachtanach paiste” ag míniú cad atá riachtanach chun an cód a fheabhsú.
Réidh le haghaidh SeiceálaLink to this heading
Rinne aon bhall den phobal athbhreithniú ar an ticéad seachas an duine a sholáthair an paiste agus fuair sé amach go gcomhlíonann sé na ceanglais go léir maidir le ranníocaíocht réidh le coiste. A: Tagairt: Caithfidh `cumais <mergers-team>c `athbhreithniú deiridh a thabhairt anois sula ndéantar é.
Tá a lán iarratais tarraingthe ann. Féadfaidh sé tamall a thógáil go ndéanfar athbhreithniú ar do phaiste. Féach an:ref: `Cóid rannchuidiúcháin Coitianta <new-contributors-faq>`le haghaidh roinnt smaointe anseo.
Lá éigin/B'fhéidirLink to this heading
This stage isn't shown on the diagram. It's used sparingly to keep track of long-term changes.
These tickets are uncommon and overall less useful since they don't describe concrete actionable issues.
Tréithe triage eileLink to this heading
Is féidir roinnt bratacha, atá le feiceáil mar bhosca seiceála i Trac, a shocrú ar thicéad:
Tá paiste aiste aigeLink to this heading
This means the ticket has an associated solution. These will be reviewed to ensure they adhere to the documented guidelines.
Ní bheidh feidhm ag na trí réimse seo a leanas (Doiciméadú Riachtanas, Tástálacha Riachtanas, Feabhsú ar Phaistí) ach amháin má tá paiste curtha ar fáil.
Ní mór doiciméadúLink to this heading
Úsáidtear an bratach seo le haghaidh ticéid le paistí a dteastaíonn cáipéisíocht ghab Is réamhriachtanas é doiciméadú iomlán na ngnéithe sula bhféadfaimis iad a sheiceáil isteach sa chód bhunachar.
Tástálacha is gáLink to this heading
Cuireann sé seo an paiste de dhíth go bhfuil tástálacha aonaid gaolmhara de dh Arís, is cuid riachtanach é seo de ranníocaíocht bhailí.
Ní mór feabhsú ar phaisteLink to this heading
Ciallaíonn an bratach seo cé go bhfuil réiteach ag an ticéad*, nach bhfuil sé réidh go leor le haghaidh seiceála. D'fhéadfadh sé seo a chiallú nach mbaineann an paiste go glan a thuilleadh, tá locht sa chur i bhfeidhm, nó nach gcomhlíonann an cód ár gcaighdeáin.
Piocadh éascaLink to this heading
Ticéid a mbeadh athruithe beaga éasca ag teastáil uathu.
CineálLink to this heading
Ba chóir ticéid a chatagóiriú de réir cineál idir:
- Gné Nua
Chun rud éigin nua a chur leis.
- Bug
Maidir nuair a bhíonn rud atá ann cheana briste nó gan iompar mar a bhíothas ag súil leis.
- Glanantach/barrfheabhsú
Maidir nuair nach bhfuil aon rud briste ach d'fhéadfaí rud éigin a dhéanamh níos glaine, níos fearr, níos gasta, níos láidre.
ComhpháirtLink to this heading
Ba chóir ticéid a aicmiú ina*comhpháirteanna* a léiríonn cén limistéar den chód bonn Django leis a mbaineann siad. Déanann sé seo ticéid eagraithe níos fearr agus níos éasca a aimsiú.
DéineLink to this heading
Úsáidtear an tréith* solúbth* chun blocálaithe a aithint, is é sin, saincheisteanna ba chóir a shocrú sula scaoiltear an chéad leagan eile de Django. De ghnáth is fabhtanna iad na saincheisteanna sin a chuireann aischéimnithe ó leaganacha níos luaithe nó a d'fhéadfadh a bheith ina Is annamh a úsáidtear an tréith seo agus tá déine “Gnáth” ag formhór mór na dticéad.
LeaganLink to this heading
The version attribute indicates the earliest version in which the bug was reproduced. During triage, this field can be updated, but there is no need to make further updates when that version goes out of support. The field should not be reset to "dev" to show the issue still exists: instead, the tested commit hash can be noted in a comment.
UI/UXLink to this heading
Úsáidtear an bhratach seo le haghaidh ticéid a bhaineann le ceisteanna Comhéadain Úsáideora agus Eispéiris Úsáideora. Mar shampla, bheadh an bhratach seo oiriúnach do ghnéithe atá os comhair úsáideoirí i bhfoirmeacha nó sa chomhéadan riaracháin.
CcLink to this heading
Is féidir leat d’ainm úsáideora nó do sheoladh ríomhphoist a chur leis an réimse seo le go gcuirfear ar an eolas tú nuair a dhéantar ranníocaíochtaí nua leis an ticéad.
EochairfhocalLink to this heading
Leis an réimse seo is féidir leat ticéad a lipéadú le go leor eochairfhocail Is féidir leis seo a bheith úsáideach, mar shampla, chun roinnt ticéid a ghrúpáil ar an téama céanna. Is féidir le heochairfhocail a bheith scartha le camóg nó spás. Faigheann cuardach eochairfhocal an sreang eochairfhocal áit ar bith Mar shampla, cliceáil ar thicéad leis an eochairfhocal “foirm” beidh ticéid den chineál céanna clib le heochairfhocail ina bhfuil teaghráin mar “formset”, “modelformset”, agus “ManagementForm”.
Ticéid DúntaLink to this heading
Nuair a bheidh a shaolré úsáideach críochnaithe ag ticéad, tá sé in am é a dhúnadh. Is freagracht mhór é ticéad a dhúnadh, áfach. Caithfidh tú a bheith cinnte go bhfuil an cheist réiteach i ndáiríre, agus ní mór duit a choinneáil i gcuimhne nach mbeadh tuairisceoir an ticéad sásta a dticéad a bheith dúnta (mura bhfuil sé socraithe!). Mura bhfuil tú cinnte faoi ticéad a dhúnadh, fág trácht le do chuid smaointe ina ionad sin.
Má dhúnann tú ticéad, ba cheart duit na rudaí seo a leanas a chinntiú i gcónaí:
Bí cinnte go bhfuil an cheist réiteach.
Fág trácht a mhíníonn an cinneadh an ticéad a dhúnadh.
Má tá bealach ann gur féidir leo an ticéad a fheabhsú chun é a athoscailt, cuir in iúl dóibh.
Más dúblach an ticéad, déan tagairt don ticéad bunaidh. Déan crostagairt freisin don ticéad dúnta trí nóta tráchta a fhágáil sa bhuntéacs -- ceadaíonn sé seo rochtain a fháil ar fhaisnéis níos gaolmhaire faoin bhfabht tuairiscithe nó faoin ngné iarrtha.
Bí póilíneach. Ní maith le duine ar bith a dticéad a bheith dúnta. D'fhéadfadh sé a bheith frustrach nó fiú díspreagach. Is é an bealach is fearr chun daoine a chasadh as cur le Django ná a bheith béasach agus cairdiúil agus moltaí a thairiscint maidir le conas a d'fhéadfaidís an ticéad seo agus na ticéid eile a fheabhsú sa todhchaí.
Is féidir ticéad a réiteach ar roinnt bealaí:
- socraithe
Úsáidtear nuair a bheidh paiste rollta isteach i Django agus socraítear an tsaincheist.
- neamhbhailí
Úsáidtear má aimsítear go bhfuil an ticéad mícheart. Ciallaíonn sé seo go bhfuil an tsaincheist sa ticéad mar thoradh ar earráid úsáideora i ndáiríre, nó go ndéanann sé cur síos ar fhadhb le rud éigin seachas Django, nó nach tuarascáil fabht nó iarratas ar ghné í ar chor ar bith (mar shampla, cuireann roinnt úsáideoirí nua ceisteanna tacaíochta mar thicéid).
- wontfix
Used when someone decides that the request isn't appropriate for consideration in Django. Sometimes a ticket is closed as "wontfix" with a request for the reporter to start a discussion on the Django Forum if they feel differently from the rationale provided by the person who closed the ticket. Other times, a discussion precedes the decision to close a ticket. Always use the forum to get a consensus before reopening tickets closed as "wontfix".
- needsnewfeatureprocess
Used when the ticket merits a new feature, which will need to get community input and support. See the process for suggesting new features.
- dúbailt
Úsáidtear nuair a chlúdaíonn ticéad eile an cheist chéanna. Trí thicéid dúblacha a dhúnadh, coinnímid an plé go léir in aon áit amháin, rud a chuidíonn le gach duine.
- worksforme
Úsáidtear nuair nach bhfuil go leor sonraí sa ticéad chun an fabht bunaidh a mhacasamhlú.
- eolas riachtanais
Úsáidtear é nuair nach mbíonn go leor faisnéise sa ticéad chun an tsaincheist tuairiscithe a mhacasamhlú ach go bhféadfadh sé a bheith bailí fós. Ba cheart an ticéad a athoscailt nuair a chuirtear tuilleadh eolais ar fáil.
If you believe that the ticket was closed in error -- because you're still having the issue, or it's popped up somewhere else, or the triagers have made a mistake -- please reopen the ticket and provide further information. Again, please do not reopen tickets that have been marked as "wontfix" or "needsnewfeatureprocess". For "wontfix" tickets, bring the issue to the Django Forum instead. For "needsnewfeatureprocess" tickets, propose the feature through the new features process.
How can I help with development?Link to this heading
The development process is primarily driven by community members. Really, ANYONE can help.
Chun páirt a ghlacadh, tosú trí cuntas a chruthú ar Trac. Má tá cuntas agat ach má tá dearmad déanta agat ar do phasfhocal, is féidir leat é a athshocrú ag baint úsáide as an leathanach athshocraithe pasfhocal.
Ansin, is féidir leat cabhrú amach trí:
Closing "Unreviewed" tickets as "invalid", "worksforme", "duplicate", "wontfix", or "needsnewfeatureprocess".
Closing "Unreviewed" tickets as "needsinfo" when the description is too sparse to be actionable.
Na bratacha “Tástálacha Riachtanais”, “Doiciméadú riachtanais”, nó bratacha “Tá paiste” a cheartú le haghaidh ticéid ina bhfuil siad socraithe go mícheart.
Ag socrú an bhratach “Easy picings`_” le haghaidh ticéid atá beag agus réasúnta simplí.
Socraigh an cineál* ticéad atá fós gan catagóir.
Seiceáil go bhfuil sean-ticéid fós bailí. Mura bhfaca ticéad aon ghníomhaíocht le fada an lá, is féidir go bhfuil an fhadhb socraithe ach níor dúnadh an ticéad fós.
Identifying trends and themes in the tickets. If there are a lot of bug reports about a particular part of Django, it may indicate we should consider refactoring that part of the code. If a trend is emerging, you should raise it for discussion (referencing the relevant tickets) on the Django Forum.
Fíoraigh an bhfuil réitigh a chuireann daoine eile isteach ceart. Má tá siad ceart agus má tá cáipéisíocht agus tástálacha iomchuí iontu freisin, bog iad go dtí an chéim “Réidh le haghaidh Seiceála”. Mura bhfuil siad ceart ansin fág trácht chun míniú cén fáth agus na bratacha comhfhreagracha a shocrú (“Teastaíonn feabhsú ar phaiste”, “Tástálacha riachtanais” srl.).
Mar sin féin, iarrann muid an méid seo a leanas ó gach ball ginearálta pobail atá ag obair sa bhunachar sonraí ticéad:
Please don't promote your own tickets to "Accepted". Another community member should review the report and set this stage after reproducing and confirming the issue.
Le do thoil, **ná cuir do thicéid féin a chur chun cinn go “Réidh le seiceáil”. Féadfaidh tú ticéid daoine eile a rinne tú athbhreithniú a mharcáil mar “Réidh le seiceáil”, ach ba cheart duit ball pobail amháin eile a fháil ar a laghad chun paiste a chuireann tú isteach a athbhreithniú.
Please don't reverse a decision without posting a message to the Django Forum to find consensus.
If you're unsure if you should be making a change, don't make the change but instead leave a comment with your concerns on the ticket, or post a message to the Django Forum. It's okay to be unsure, but your input is still valuable.
Aischéimniú a dhíghiltLink to this heading
Is fabht é aischéimniú atá i láthair i roinnt leagan níos nuaí de Django ach ní i gceann níos sine. Píosa faisnéise thar a bheith cabhrach is ea an tiomantas a thug isteach an aischéimniú. Cuidíonn eolas a fháil ar an ngealltanas a bhí ina chúis leis an athrú ar iompar a aithint an raibh an t-athrú d'aon ghnó nó an raibh fo-iarsacht neamhthuigneach ann. Seo mar is féidir leat é seo a chinneadh.
Tosaigh trí thástáil aischéimnithe a scríobh do shraith tástála Django don tsaincheist. Mar shampla, ligeanfaimid go bhfuilimid ag dífhabhtú aischéimnithe in imirce. Tar éis duit an tástáil a scríobh agus a dhearbhú go dteipeann air ar an bpríomhbhrainse is déanaí, cuir é i gcomhad ar leithligh ar féidir leat a reáchtáil go neamhspleách Mar shampla, ligeanfaimid go gcruthaíomar tests/migrations/test_regression.py, ar féidir é a reáchtáil le:
$ ./runtests.py migrations.test_regression
Ansin, déanaimid an pointe reatha sa stair a mharcáil mar “dona” ós rud é go dteipeann ar an tástáil:
$ git bisect bad
You need to start by "git bisect start"
Do you want me to do it for you [Y/n]? y
Anois, ní mór dúinn pointe a aimsiú i stair git sula dtugadh isteach an aischéimniú (ie pointe ina dtéann an tástáil). Úsáid rud éigin cosúil le git checkout HEAD~100 chun athbhreithniú níos luaithe a sheiceáil (100 gealltanais níos luaithe, sa chás seo). Seiceáil má theipeann ar an tástáil. Más ea, marcáil an pointe sin mar “olc” (``git bisect bad ``), ansin seiceáil athbhreithniú níos luaithe agus athsheiceáil. Nuair a aimsíonn tú athbhreithniú ina dtéann do thástáil, marcáil é mar “maith”:
$ git bisect good
Bisecting: X revisions left to test after this (roughly Y steps)
...
Anois táimid réidh don chuid spraoi: git bisect run` a úsáid chun an chuid eile den phróiseas a uathoibriú:
$ git bisect run tests/runtests.py migrations.test_regression
Ba cheart go bhfeicfeá git bisect úsáid a bhaint as cuardach dénártha chun na hathbhreithnithe idir maith agus olc a sheiceáil amach go huathoibríoch go dtí go bhfaighidh sé an chéad ghealltanas "olc" nuair a theipeann ar an tástáil.
Anois, tuairiscigh do thorthaí ar an ticéad Trac, agus cuir an tástáil aischéimnithe mar cheangaltán le do thoil. Nuair a scríobhann duine socrú don fhabht, beidh do thástáil acu cheana féin mar phointe tosaigh.