Proposed new Form and Classification System - (Fourth Draft)
Forms that support
PostCairoDevelopmentModel. Note that these forms are
not intended to coexist with the existing forms. They are intended to
replace them, to give a far simpler and more general management system. (However they are designed to coexist with the present forms while they are being phased out.)
Contributors: SamHasler (main contributor),
CrawfordCurrie,
SvenDowideit,
PeterThoeny,
WillNorris
If a new classification system can be agreed upon
SamHasler is willing to do
ALL the work to transition to it, regardless of how much of Sam's own ideas it represents. That includes creating
WebForms and classification topics, reclassifying old topics to be out of the way, changing searches and forms (e.g.
BugReports) to use the new forms.
For the
current implementation see
BasicForm,
WebForm and
TopicClassification which is the main classification and state tracking field on both forms.
The following is the Fourth draft of the proposal. See also the:
This draft uses the
TWikiForms syntax so that it can be cut+pasted into place when it's finalised. Headings denote topic names for form and field value definition topics.
Replaces
WebForm. Unmaintainable/useless fields removed.
| Name: |
Type: |
Size: |
Values: |
Tooltip message: |
| TopicClassification |
select |
1 |
Select one..., AdminTopic, BrainstormingIdea, DefineTerm, GatewayTopic, NextGeneration, TWikiAddOnProduct, TWikiCommunity, TWikiAdvocacy, TWikiDeployment, TWikiDevDoc, TWikiDevQuestion, TWikiVsOtherProducts |
Classify a topic |
| TopicSummary |
text |
80 |
|
Short summary of feature/bug/idea |
| InterestedParties |
text |
80 |
|
Use for tracking and show key interested people |
| RelatedTopics |
text |
80 |
|
Please add links to related topics |
BasicForm now uses an explicit definition for
TopicClassification on the form itself rather than leaving it to the
TopicClassification topic itself.
This is to limit it to only those classifications that are relevant for
BasicForm.
Replaces
TopicClassification pull-down. Note that the goal is to get topics into one, and only one,
BasicClassification, so the current situation where the same topic could be in any one of half a dozen different classes goes away. There are still overlaps, but it's easier to select a single focus with this list.
| Name |
Type |
Tooltip Message |
| Select one... |
option |
|
| TWikiCommunity |
option |
Any subject to do with the TWiki community |
| TWikiDeployment |
option |
Any subject to do with TWiki in action |
| TWikiVsOtherProducts |
option |
Discussion of any type of relevant software |
| TWikiAddOnProduct |
option |
Programs, protocols, modules...anything that can be used with TWiki |
| TWikiDevQuestion |
option |
Specific queries about TWiki development |
| DefineTerm |
option |
A basic definition/external link for specialized term, protocol, product, company, person,... |
| AdminTopic |
option |
TWiki/Codev functional and/or descriptive topic (ex: WebForm, ActiveTopic; includes placeholders linking to same-named topics in other webs) |
| GatewayTopic |
option |
A top-level launch-point topic, linking all other Codev topics and threads related to a broad main area of TWiki development: overview, active core discussion, sub-topic excerpts, links to SummaryTopics for specific features and ideas. |
| NextGeneration |
option |
Ideas, possibly far out, for future TWiki architecture and development |
A
ChangeProposalForm is the basic form type for all requests/reports that may lead to a change, whether they are ideas, specific feature requests, patch proposals or bug reports. See
TWikiReleaseManagementProcess for details.
| Name: |
Type: |
Size: |
Values: |
Tooltip message: |
| TopicClassification |
select |
1 |
FeatureRequest, BugReport, CodeRefactor, DocRequest |
Classify a topic |
| TopicSummary |
text |
80 |
|
Short summary of feature/bug/idea |
| CurrentState |
select |
1 |
|
State of ChangeProposal |
| CommittedDeveloper |
text |
80 |
|
Name of the developers that has commits to implement or drive the feature implementation |
| ReasonForDecision |
select |
1 |
|
The detailed decision for or against the proposal |
| DateOfCommitment |
date |
15 |
|
Date the proposal got a committed developer (used for 7 day feedback period) |
| ConcernRaisedBy |
text |
80 |
|
Name of a person that raised concern against a proposal, a name in this field suspends the 14 day rule |
| BugTracking |
text |
80 |
|
Bugs in Bugs web that track implementation |
| OutstandingIssues |
text |
80 |
|
Comma separated list of remaining issues before completion |
| RelatedTopics |
text |
80 |
|
Please add links to related topics. If proposal was decided at release meeting add link to meeting minute here |
| InterestedParties |
text |
80 |
|
Use for tracking and show interested people |
| ProposedFor |
select |
1 |
, LimaRelease, KampalaRelease, JerusalemRelease, IstanbulRelease, HelsinkiRelease, GeorgetownRelease, FreetownRelease, EdinburghRelease, DakarRelease, CairoRelease, BeijingRelease, AthensRelease, TWikiRelease01Sep2001, TWikiReleaseSpring2001, TWikiRelease01Dec2000 |
Which release was/is this targeted for, Anyone can set this |
| TWikiContributors |
text |
80 |
|
People who have contributed to the code or documentation of this ChangeProposal |
A ChangeProposal's
CurrentState field is used for tracking its development status. It can take the following states:
The workflow for this field is as follows: #CurrentStateWorkflow
What subsystems does a
ChangeProposal affect.
Defined in
WebPreferences by WHATDOESITAFFECTCATEGORIES with values: API, Auth, Documentation, Install, I18n, L10n, Performance, Plugins, Prefs, Refactoring, Rendering, Search, Security, Skins, UI, Usability, Vars
Discussion
in
ChangeProposalFormDefect ThomasWeigert said:
The categories in WhatDoesItAffect need some explanation. Also, for none of the bugs so far I have submitted I found a suitable item to select.
Please feel free to make suggestions for extra categories in this topic.
--
SamHasler - 14 Feb 2005
Design Decisions
Some quite lengthy discussion went into producing the forms above.
The following is a summing up of the reasoning behind the design.
- Deliberately not used WebForm so that we can leave old topics untouched.
- There will be a new form ChangeProposalForm that will cater for all feature requests, bug reports and patch proposals.
- The old TopicClassification confused classification (what it is used for) and state (under construction, done, etc). TopicClassification has been simplified to only record what the type of the topic is, feature, bug, documentation request etc; The workflow/status elements have moved to a separate field. The TopicClassification on ChangeProposalForm only contains topic types that will require a workflow; all other topic types/classifications are only available in BasicForm now.
- CurrentState is a simplified and well documented status/workflow for all ChangeProposals. This means that there is now a unified workflow for bugs, features, code refactoring and documentation.
- The old ScheduledFor field is now ProposedFor because it was decided that anyone should be able to modify the field in order to retain some equivalent of a "Nice to Have" table whilst not making it sound like a promise that the change will make it into a release.
If it is overused then topics can always be unproposed, and should if it hasn't got a CoreTeam priory and is still UnderInvestigation.
- Instead of a "Scheduled" and "Nice To Have" tables in a release topic there are be "Completed" and "Uncompleted" tables. The completed table would include all topics ProposedFor that release that were MergedToCore
- The Uncompleted changes will not be separated into CoreTeam sponsored changes and "Nice To Have"'s
This change, along with the removal of the patch classifications so everything is a ChangeProposal, mean that there is only one queue for each release.
- There is no status for documentation separate from status of tasks in general. This is because documentation is an integral part of the process of implementation, and cannot be separated.
Production of documentation before implementation will be encouraged by using a new templates. (similar to PatchProposalTemplate) that would have a heading for documentation before implementation. However it is not possable to always complete documentation before merging, see next item.
- The Progress fields were removed because the state should be all that is needed for tracking a topic to completion (at least as far as Spec is concerned) but the reality is that there will always be topics that need some followup, even after code has been MergedToCore. Also, the progress fields were often not updated and even when they were they often failed to reflect how much work was required to complete.
With the DevelopBranch / MainBranch model we will have features that are accepted into the MainBranch but need follow-up work. If we do not have a progress indication we would need to split up a larger change request into lots and lots of smaller topics, which is not practical. The requirements are as follows:
- a way to track all changes to completion, with many changes running in parallel
- and with good real time reporting on progress
- and with minimized chance to miss incomplete items
- A new OutstandingIssues field will keep track of pending items of features merged into the MainBranch. It should be comma separated list. Example:
fails Test:TestCaseFooBar, doc not merged It could also be used for tracking before changes are merged as it is a useful indicator of where others can help out.
- The AssignedToCore and AssignedTo fields were removed so as not to discourage input by others. However they were also important for crediting the contributors (see autogenerated CairoReleaseSummary, used to update TWikiHistory before the release) so a TWikiContributors field was added for this purpose. This should hopefully not discorage others from contributing and also makes the crediting process more transparent.
- HasPriority allows the CoreTeam to indicate their commitment to each change and prioritise the order of ChangeProposals on the release topics. This should make it harder for high priority ChangeProposals to be overlooked.
- ChangeProposals listed on release topics would be sorted by the CoreTeam's priority (HasPriority). When a scalable desirability poll is introduced there will be a column for average desirability which can be used by the core team when evaluating priorities.
Conversion List
- FeatureBrainstorming => CurrentState of UnderInvestigation
- FeatureEnhancementRequest => CurrentState of UnderInvestigation
- FeatureToDo => CurrentState of UnderInvestigation or ConsensusReached
- FeatureHack => CurrentState of NeedsARethink, set HaveQuickFixFor if one available
- FeatureUnderConstruction => CurrentState of ConsensusReached or UnderConstruction
- FeatureDone => CurrentState of ReadyForMerge or MergedToCore
- FeatureNotSuitable => CurrentState of NeedsARethink
- PatchProposal => CurrentState of UnderInvestigation, HaveQuickFixFor set as appropriate
- PatchAdjustmentRequired => CurrentState of ????, HaveQuickFixFor set as appropriate
- PatchReadyForCVS => CurrentState of ????, HaveQuickFixFor set as appropriate
- PatchAccepted => CurrentState of MergedToCore, HaveQuickFixFor and AffectedReleases set as appropriate
- PatchNotSuitable => CurrentState of NeedsARethink, HaveQuickFixFor set as appropriate
- BugReport => CurrentState of UnderInvestigation, IsBug
- BugAssigned => CurrentState of UnderInvestigation, IsBug, set HasPriority?
- BugResolved => CurrentState of ReadyForMerge or MergedToCore, set HaveQuickFixFor if one available, set
- BugDuplicate - none of the topics for conversion should have this classification
- BugRejected - none of the topics for conversion should have this classification
- DocRequest => Standalone documentation goes to BasicForm as is
- DocsToDo => Standalone documentation goes to BasicForm as is, Feature requests at this stage go to ChangeProposalForm with CurrentState of UnderInvestigation or ConsensusReached
- FeatureDocumented => Standalone documentation goes to BasicForm as is, Feature requests at this stage go to ChangeProposalForm with CurrentState of UnderInvestigation or ConsensusReached
Checklist
To make the transition easier I'm not going to use
BasicClassification, I'll leave the field as
TopicClassification, but define it explicitly on the Form topics
WebForm and
BasicForm.
This is to save me having to convert all the topics that will remain on
BasicForm. (currently 236, see
Sandbox.CodevBasicFormSearch#Topics that will remain on BasicForm)
ChangeProposalForm will still use
CurrentState.
- All topics to be created for ChangeProposalForm should use BasicForm, and be marked as either AdminTopic or DefineTerm.
- State and classification topics should have:
- Guidelines for usage of the state/classification
- A search for topics with the state/classification
- As well as a description matching the tooltip in the form definition topics should RelatedTopics
Topic creation should only be marked done (

) in the checklist when all of the above has been completed for the topic.
-
Create ChangeProposalForm topic from table above
- Create all topics listed in ChangeProposalForm with appropriate searches
-
Reclassify or Convert topics using BasicForm with a TopicClassification that will not be kept. Topics listed by Sandbox.CodevBasicFormSearch#BasicForm Topics to be reclassified or converted to ChangeProposalForm (Currently 62 topics)
-
Set BasicForm TopicClassification explicitly (in the BasicForm topic, not in TopicClassification) to: TWikiCommunity, TWikiDeployment, TWikiVsOtherProducts, TWikiAddOnProduct, TWikiDevQuestion, DefineTerm, AdminTopic, GatewayTopic, NextGeneration
-
Create ReleaseQueuesInsert as replacement for ReleaseFeatureTable searching ChangeProposalForm topics
-
Create ChangeProposal as a The documentation topic. It should serve as the entry point.
-
Copy the workflow diagrams into it. (put on CurrentStatus and included)
-
Create Templates for each TopicClassification (base FeatureRequestTemplate on ChangeProposalTemplate?)
-
Create the Classification topics and put HTML forms on them for creating topics in each of the templates.
-
Create WebCreateNewTopic that includes forms for creating topics in BasicForm and ChangeProposalForm using the appropriate templates (and support questions in the support web?).
- Transition EdinburghRelease topics and check they appear correctly in ReleaseQueuesInsert
- Topics Scheduled for DakarRelease
- Review TopicClassification topics that will no longer be used and see how much work would be required to convert all topics still classified as them.
- Create OldWorkflowNote topic and insert into remaining topics listed in TopicClassification that will no longer be used
- list them here before starting .....
- Delete or convert the following as they will no longer be used. (they are now TopicClassifications)
- Change the following to CategoryCategory classifications and allow them to be added using EDITCELL difinitions in the templates and HTML forms for new topic creation.
Additional conversions that could be made:
- CategoryRefactoring topics converted and classified as CodeRefactor.
- WebForm Topics to be reclassified or converted to BasicForm - Currently 450. These can be left for now, but the BasicForm TopicClassifications can't be removed from WebForm until these topics are converted to BasicForm.
Open Issues
Is there a better name than
FeatureRequest? Preferably an already existing topic name.
--
SamHasler - 01 Dec 2004
The name
FeatureRequest is fine.
--
PeterThoeny - 04 Dec 2004
Hmm, maybe
DocRequest and
DocRequestTemplate would be better.
--
SamHasler - 04 Dec 2004
Classification of changes (Separate issue that shouldn't hold up implementing the form)
What determines what belongs to a release for bugs, features etc? For
TWikiHistory I need the distinction between features/enhancements (with sub grouping Install/Rendering/Skin/Search etc) and bug fixes.
--
PeterThoeny - 12 Nov 2004
The
IsBug tickbox of the
WhatDoesItAffect field classifies a
ChangeProposal as a bug report.
"Install/Rendering/Skin/Search" you have some of that with
WhatDoesItAffect, which is more than
WebForm gives you.
I could add an
AffectsInstall checkbox to it.
Would
AffectsInternationalisation and
AffectsLocalisation also be helpful?
--
SamHasler - 12 Nov 2004
If you look in
TWikiHistory, there are many more. Here is the list: Install, Internationalization, Authentication, Preferences, Skins, Rendering, Variables, Search, Plugins, UI, Code refactoring, Fix. The last one is for bug fixes. By convention we put that into the
TopicSummary field. We can keep that convention. Or add all to
WhatDoesItAffect list? At least we need a new
AffectsSecurity option.
--
PeterThoeny - 13 Nov 2004
Prefixing the
TopicSummary field is a good convention and should continue.
However Topics can cover more than one of these classifications so to fully capture them the checkboxes are also needed.
The
TopicSummary can be used to indicate the primary nature of the topic.
A small performance gain isn't as important in the history if the topic is mainly about new search functionality but it's still useful to know when planning what to include in a release.
Is it essential that all field values are
WikiWords?
Comparing the list on
TWikiHistory with
WhatDoesItAffect and the suggestions on this topic:
*
AffectsContrib could be a plugin or a skin
It says in
TWikiForms "(at present, the
... format is not supported)" which is a pity because
[[AffectsInternationalization][I18n]] would work so much better.
Check out
This example
in the Sandbox web. Save/cancel it to also see how view treats the field values.
--
SamHasler - 14 Nov 2004
I'm fine with adding "AffectsXXXX" values for everything BUT I question the usefulness, for several reasons:
- How does the person filling in the field know what it affects?
- what does "affects" mean?
- the "areas" are not well defined; for example, to me, "Vars" and "Preferences" are synonymous.
- What is someone going to do with this information? What value does it have?
I think I'd rather have a topic called "AffectsInternationalisation" that
lists all the changes that affect it, and not try to enumerate all possible areas in the form.
--
CrawfordCurrie - 18 Nov 2004
- It doesn't have to be right first time (WabiSabi).
- Impacts positivly or negativly.
- Looking at TWikiHistory "Variables" are TWikiVariables, but I conceed that there can be overlap in some of the definitions.
- I think we need to capture this information on the form for the following reasons:
- To help when prioritising ChangeProposals and when reviewing the queue close to a release as a reminder of why they have the priority they do. I'm thinking particularly of Security & Performance.
- To assist Peter in compiling TWikiHistory
- As a reminder to use these classifications and so they can easily be applied by anyone. So that they are more readily available than CategoryCategory classifications.
While I was writing the above I thought: Why not just use
CategoryCategory classifications in the Related Topics fields?
It wouldn't be so obvious that they need to be applied but it saves having a lengthy checkbox field in edit.
If I created CategorySecurity and CategoryPerformance etc. then it would be just as easy when generating the release queue from a search to pull these out of the
RelatedTopics field.
--
SamHasler - 18 Nov 2004
If you say that "AffectsXXXX" is a wikibadge, then you could write a search like this one:
The following wikibadges for affected areas already exist: AffectsContrib
AffectsDocumentation
AffectsFunctionality
AffectsLookAndFeel
AffectsPerformance
AffectsPublishedAPI . If this proposal affects one or more of these areas, please add the wikibadges to the proposal topic.
in the topic template. That would be a pretty clear hint.
--
CrawfordCurrie - 18 Nov 2004
I wouldn't want a have a search on every change proposal by default.
Although it would be very helpful to have the list of
CategoryCategorys on the edit page.
Perhaps there should be a topic included by the edit template for inserting such web/site specific editing prompts.
(What would be really nice: multi select boxes in forms for a field defined by a search.)
I was thinking it was better to stick to the
CategoryCategory classifications.
The main reason being there's no point in having two separate classification schemes.
As it is we can already use
CategoryRefactoring and probably
CategoryUpgradeStrategy.
People are then free to create whatever Categories they want and if they are useful for prioritisation we can check for them in the
ReleaseQueuesInsert (Search for including in release topics like
ReleaseFeatureTable).
We could also have a topic that pulls in every category from the
MergedToCore changes for the current release into a table to assist writing the
TWikiHistory topic for a release.
--
SamHasler - 19 Nov 2004
I Didn't realise that Categories are searched for based on the topic starting with the text "CategoryDescription:" in which case the AffectsXXX topics could be reused but since there was some confusion as to what affects I wanted to avoid it and stay consistent with the majority of category topics already existing.
--
SamHasler - 19 Nov 2004
I like the idea of using the
CategoryCategory links in the
RelatedTopics field, that we can retire the proposed
WhatDoesItAffect field. A small disadvantage is that it is not a simple checkbox selection process, but this is OK.
--
PeterThoeny - 04 Dec 2004
We could prepopulate
RelatedTopics from checkboxs on a
HTML form on topic creation.
If
EditTablePlugin didn't resolve variables when it saved we could keep them in the topic as =%EDITCELL{}%=s defined in variables.
--
SamHasler - 04 Dec 2004
I've created the
BugReportTopicTemplate and
FeatureRequestTopicTemplate with EDITCELL definitions defined in
WebPreferences.
Have I got the WHATDOESITAFFECTCATEGORIES right or should they be
WikiWords?
--
SamHasler - 07 Jan 2005
Please also edit the table above
Multiple Templates (Misunderstading clarified?)
I'd planned on creating a single topic with
HTML forms for creating any kind of topic with
BasicForm or
ChangeProposalForm and different
HTML forms using separate templates for Bugs and Feature Requests. (It's on my
#Checklist)
--
SamHasler - 12 Nov 2004
This is a usability question. I do not agree that a single entry point is a good thing because people come to Codev with something specific in mind, like filing a bug, adding a brainstorming idea etc. I believe we need to keep different pages with forms to fill in, also because of different template text.
--
PeterThoeny - 13 Nov 2004
Of course the forms should appear on separate topics, it's just useful to also collect them together on one page so that when people are creating new topics they realise that there are different templates they can use. I'm talking about having several forms on one page so that people can decide which one best suits the topic they want to create.
--
SamHasler - 13 Nov 2004
Too many fields on form / Form to large (resolved, some issues will have to be revisited)
But, I am concerned about the numbers of fields in the form, it is/will be over the practical limit (the
WebForm is at the limit)
I find
AffectedReleases,
HaveWorkaroundFor,
HavePatchFor and
ProposedFor confusing. Any way to simplify/consolidate this?
We can simplify the form if we define more then one template topic and put some structure into the templates. For example, the current
NewBugTemplate has a Environment table which tracks the TWiki version affected. In other words, move some form content that are not used for all types of content into tables which can be queried using $pattern(). If we change the existing Environment table of bug topic we have more work when reclassifying a support question into a bug or vice versa.
--
PeterThoeny - 12 Nov 2004
I think you're right about moving some of the fields into templates.
Since
HaveWorkaroundFor and
HavePatchFor would never both be ticked for the same release I've replaced them both with a single field
HaveQuickFixFor.
I also removed future release names from
AffectedReleases,
HaveQuickFixFor because they don't make sense for them yet.
I've just realised that
AffectedReleases and
HaveQuickFixFor should not use release names; but the dated format instead, i.e.
TWikiRelease01Sep2001, including all the
TWikiBetaRelease2004x10x30 types. Similar to the as "TWiki version:" field on the
BugReport form.
In all this would mean
13 checkboxes per field, and more in the future when other release come out.
AffectedReleases is only for
IsBug ChangeProposals anyway so that's an obvious one to chop and put in the bug template as an
%EDITCELL{ ... }%.
HaveQuickFixFor can also apply to features if patches are made for retroactively applying to old releases.
If put on the templates it could be split back into
Have Workaround For and
Have Patch For.
With
AffectedReleases and
HaveQuickFixFor removed, and assuming you go for an extra
TWikiContributors field there would be 11 fields on the form, only one of which is a checkbox field with a possible 8-11 boxes.
Would that be short enough?
--
SamHasler - 13 Nov 2004
Number of form fields: I believe 11 (with one checkbox field that spans several lines in edit) is over the practical limit. Especially if we add the 3 progress fields back.
Moving some fields into tables in the template text has also the advantage that options lists can be initialised with a SEARCH, e.g. to compile the list of all releases. This reduces maintenance overhead.
For ease of parsing it is better to have a vertical
| Key: | Value | table layout, not a horizontal one. But there is one limitation with the current
EditTablePlugin: For maintainability, all field definitions should be included from a central topic (with
%EDITtable{ include="" }%), but that currently does not work with the
%EDITCELL{ ... }%.
--
PeterThoeny - 13 Nov 2004
Check out
This example
in the Sandbox web.
--
SamHasler - 14 Nov 2004
Bother
I was hoping that we could use variables for EDITCELL definitions, but
EditTablePlugin will resolve them and save the result back to the topic. (See what happened to
DynamicEditCellTest)
--
SamHasler - 30 Nov 2004
I've removed
AffectedContrib as it should probably be in the topic too.
--
SamHasler - 01 Dec 2004
PeterThoeny said in
DeveloperResponsibilities:
Do we need a new ChangeRequest with all its other states? To avoid clutter, why not use FeatureUnderConstruction for DevelopBranch? Once in MainBranch in can be set to FeatureDone.
Do we need an
InDevelopBranch classification or should that be what
UnderConstruction means?
--
SamHasler - 03 Nov 2004
That's what
UnderConstruction means.
--
CrawfordCurrie - 04 Nov 2004
What about the
PatchProposal,
PatchAdjustmentRequired,
PatchAccepted,
PatchNotSuitable topics with patches attached? See
#Conversion_List
These aren't in DEVELOP but there is/was code available.
Since there's only a handful of these I'm inclined to just mark them
ConsensusReached and set the
HaveQuickFixFor field.
If no one comments before I get to them I'll just do that.
--
SamHasler - 11 Nov 2004
I'll hold off doing anything about
BugRejected for now because I think we can live without it but if nobody comments soon I'll add the
DuplicateChange state to
CurrentState.
Bother! I'm going to have to redraw the flow chart again
Below is the list of options I've considered, please add to / refactor it instead of commenting.
--
SamHasler - 11 Nov 2004
These are process issues that should not affect the forms. 1 and 1 are the appropriate responses. We agreed that rejected states were inappropriate, and we need to encourage refactoring. Sure,
CoolURIsDontChange, but since when was a duplicate bug a cool URI? Keep It Simple, I say.
The above needs to be refactored into #Design_Decisions
Voting and Desirability (Can wait)
Discussion moved to
GradientsOfAgreement and
SupportSparklines.
Discussion on the proposed new forms
Crawford said "Why do we persist in having two forums for reporting bugs (Codev and Support) - can we rationalise to one, please?"
I think the support web has it's uses but perhaps
Support.WebHome should be rewritten to provide more links to installation topics as that is a frequent issue that comes up. It could also encourage users to provide feedback on plugin dev topics or file bug reports (although hopefully
ChangeProposals will be able to handle bug reports for plugins).
--
SamHasler - 14 Sep 2004
from
FeatureToDo:
Can we get these listed by priority, difficulty, and subsection area?
Priority is covered by
HasPriority.
A desirability will also be available once a scalable desirability poll is introduced.
Subsection area is covered by
AffectedContrib.
I don't think it's worth adding a difficulty field.
It would probably stop otherwise solvable problems from being looked at.
Something that one person sees as difficult may be very easy for another, and vice versa.
I'm a strong believer that estimates should only be done by the people that are actually going to do the work.
--
SamHasler - 01 Oct 2004
I am more in favor of enhancing the current forms evolutionaly then revolutionary, mainly to avoid a
MassDisruption with thousands of topics changed (Codev has now 3000 topics), and losing form values when editing an existing topic who's form has changed.
I would start first by documenting better the current workflow web have (as shown incompletely in
WebHome), including a graphical picture (nice work
SamHasler!). As a second step, enhance the workflow evolutionary, with minimal changes to existing forms. There is a balance between simplicity and full support for workflow. Semi-structured content that does not fit well can be managed with
WikiBadges.
The usability of topics decreases if the form is getting long, too much scrolling involved. The existing
WebForm topic is about at the limit.
The current
BugReport system uses a hybrid between TWiki forms and TWiki table to store structured bug data. This is quite flexible and allows us to generate reports based on both, forms (e.g. scheduled for) and table (e.g. TWiki release version), respectively. We could expand on that, e.g. add content specific to a class of topics more to Edit Tables then TWiki forms.
There are different opinions on this, but IMO it makes total sense to keep tracking (bugs, ideas, features) in the Codev web because it allows for easy cross-linking, reclassification, refactoring and discussion.
The
Support web is separate namespace for users, mainly to keep user questions and developer content separate. The "Environment" table in the
AskedQuestions and
BugReport have the same format, thus it is possible to convert a support question in the Support web into a bug report in the Codev web (happens rarely).
The missing piece is Plugins bug tracking. I suggest to use the
Plugins web for that. Pros: Easy cross linking to related content, and keeps core and Plugins separate. Possibly name topics based on Plugin, e.g. CommentPluginBug1234 (with autonumbering)
--
PeterThoeny - 03 Oct 2004
FWIW I think what Sam has proposed is exactly that; evolution rather than revolution. The key thing is to
simplify the current confusing forms, which unfortunately means losing some fields. Sam has stated he will do all the work required to transform Codev, which would of course involve ensuring that no existing data is lost. Right, Sam?
--
CrawfordCurrie - 03 Oct 2004
Yup.
I deliberately didn't use
WebForm and won't be renaming the topic,
ChangeProposalForm will exist alongside it.
So there will be no possibility of form values being lost and most of Codev's 3000 topics won't need to be changed.
Any topics that will have to change forms will be done manually by myself.
The way I see it, the minimum that will need to be changed straight away is:
See
#Checklist for a more detailed list of what I will be doing.
To schedule other topics for a release they will have to have their form replaced with
ChangeProposalForm.
It should be possible to write a search to find topics modified after the form changeover that are still on
WebForm.
Myself and others can monitor that search.
I agree that it would be better to have plugin bug reports in the plugin web.
I'd like to see them using the same
ChangeProposalForm form in the Codev web.
Would that cause problems?
One reason for this is because I want to make it easy move bugs between the Codev and Plugins webs if they are created in the wrong web.
Once we are tracking bugs in the Plugins web I will create a template topic for insertion in every PluginDev topic with a form for creating bug reports and a search listing unresolved bugs.
--
SamHasler - 03 Oct 2004
Oh, and the
PatchNeedsDocumenting field, while I think of it.
--
MartinCleaver - 03 Oct 2004
With the current spec we are going to lose the current
NiceToHave functionality.
People will still want to suggest
ChangeProposals for a release. How can we let them do this?
On the other hand, how may topics that were placed in
NiceToHave tables ever made it into the release?
If we had polling that could be used in generated tables (i.e. on
BrandNew /
WeUnderstand /
UnderConstruction classification topics) to sort the topics by desirability then that would probably be adequate.
I don't think we should roll out the new forms until we have this issue sorted out.
--
SamHasler - 04 Oct 2004
These forms will also need to be used for
Plugins.TWikiExtensionBugs so that releases can also schedule changes to
Plugins.TWikiExtensions
--
SamHasler - 12 Oct 2004
Musings from IRC:
There's also the issue of whether Plugins bugs should be stored in the Plugins web or not
I'm inclined to think they should
but that causes problems with moving bug reports between Codev and the Plugins web
because the WhatDoesItAffect field would have to be different for each web
If you move a topic from one web to another, when you edit it does it still link back to the form it had in the old web or does it try to use a form of the same name in the new web?
hmm, it links back to the old web
SamHasler but strangely the "Replace form..." button is now missing.
ok, so there's no forms in the web I'm in, but it would be nice to have the option to remove forms from other webs
Also, forms from another web appear as
Otherweb.FormName, and
WikiWord field names are unlinked because they don't exist in the new web.
The reason I'm worrying about this is because I expect that with bug tracking in the Codev and Plugins that a significant number of bug topics will be created in the wrong web due to user unfamiliarity with standard practice or due to the bug being misdiagnosed as being in TWiki core/plugin when it is located in the other (or both?), which will lead to lots more moving of topics with form data between webs.
--
SamHasler - 12 Oct 2004
Just for the record: I suggested a date proposed field, but Sam
says its not needed.
--
MartinCleaver - 21 Oct 2004
Changed
HasPriorty from a text field to a label.
I'd completely forgotten about
TWikiFormWithLabelType.
As the topic says, there are ways to defeat the system, but if I implement something like the example it should stop casual/unwitting abuse of the field.
--
SamHasler - 14 Nov 2004
Sam, I believe all design questions for the new forms have been resolved in December, we should be ready to roll this out. This topic has been quiet recently, but it is important to roll this out soon since, without the new forms, it is currently very difficult to track what features are in MAIN vs DEVELOP.
--
PeterThoeny - 06 Jan 2005
Discussion of other forms
A form needs creating for capturing the structured data on
CodevDocumentationProjectTemplate: using tables in the text is ineffective because it makes queries fragile, and the templates in any particular instance is quickly out of date WRT the master.
Added I've add an
AlertOtherParties field? This is like
InterestedParties but where you want to get the attention of a particular other individual, a generalisation of the PeterPleaseComment
WikiBadge.
--
MartinCleaver - 02 Oct 2004