Roundup Tracker - Issues

Issue 2550515

classification
setup wizard
Type: rfe Severity: normal
Components: Installation Versions: devel
process
Status: new
:
: : rouilj, stefan, tobias-herp
Priority: : Effort-High

Created on 2009-02-21 21:37 by tobias-herp, last changed 2016-07-04 16:12 by rouilj.

Messages
msg3568 Author: [hidden] (tobias-herp) Date: 2009-02-21 21:37
It would be useful to have an installation wizard. During tracker setup,
(always, or if a "wizard" template is chosen), simple questions would be
asked, such as:

do you need ...
- SCM support? (Subversion integration)
- wiki functionality?
- simple (classic) or bifid priority schema?
- milestones?
- deadlines?

We could add a "cfg:" namespace for configuration decisions, like this:

  <cfg:if condition="misc/integrate_subversion"
    question="Do you need source code management (SCM) support?
    If you answer 'Yes', Subversion support is activated">
    ...
  </cfg:if>

(note that cfg:condition is another beast than tal:condition)

or (probably better), outsourcing the questions (which would otherwise
appear identically in several templates):

  <metal:page use-macro="page/macros/icing"
    cfg:question-source="wizard-questions.xml">
    ...
    <cfg:if condition="misc/integrate_subversion">
      ...
    </cfg:if>
    ...
    <cfg:switch setting="priority_schema">
      <cfg:choice value="1">
      ... (e.g. priority input)
      </cfg:choice>
      <cfg:choice value="2">
      ... (e.g. type and severity input)
      </cfg:choice>
    </cfg:switch>
  </metal:page>

with questions.xml roughly like this:

  <cfg:questions>
    <cfg:decision
      setting="misc/integrate_subversion"
      question="Do you need source code management (SCM) support?
      if you answer 'Yes', Subversion support is activated"/>
    <cfg:switch
      setting="priority_schema">
      <cfg:choice value="1" name="classic"
        description="classic priority schema: one attribute covers both
        type and severity (wish, feature, bug, urgent, critical)"/>
      <cfg:choice value="2" name="bugzilla"
        description="bugzilla schema: separate type (bug, feature,
        question etc.) and severity (e.g. normal, urgent, critical).
        This means you are able to allow certain people to set/change
        one of these attributes only"/>
    </cfg:switch>
    ...
  </cfg:questions>

The schema.py and config.ini files could be generated accordingly,
perhaps accompanied by a simple (read and written) answers.ini.
We might use a non-xml templating language for detectors and extensions.

The templates with the cfg: namespace injected could nevertheless be
viewed, or copied and used right away (for testing purposes only, of
course).  There would be some duplicate content, but the additional tags
and attributes should be ignored by both templating (server-side) and
rendering (client-side) engine.

With a small CSS stylesheet, we could e.g. apply background-colours or
borders to configuration specific areas, like this:

  [setting="priority_schema"] [value="1"] {
    border: 3px dotted red;
    background: #fdd url(classic_priority_schema.png) left top;
  }
  [setting="priority_schema"] [value="2"] {
    border: 3px dotted blue;
    background: #ddf url(bifid_priority_schema.png) left top;
  }

(any Mozilla-based or Opera browser should be able to recognise the
selectors)

Comments/suggestions welcome.
msg3570 Author: [hidden] (stefan) Date: 2009-02-22 01:36
I have to admit that a very long time ago I had even loftier goals than
that:
Given how easy it is to introspect both Python as well as XML, I thought
about having an applet (wizard) that would provide guidance through the
whole schema as well as TAL template creation process.
In other words, instead of simply providing basic 'yes'/'no' choices, it
would allow the user to interactively design the schema, and then design
a basic web (TAL) interface for that.

Anyways, obviously that never materialized, and I'm not sure how much
time I will have to help with that. So, take this as a simple suggestion.
msg3572 Author: [hidden] (tobias-herp) Date: 2009-02-22 19:13
Whew... this would be a cool thing to have, but IMO it would overburden
most users;  thus, it might be an excellent option for those who would
currently choose the minimal template.  For the vast majority, I
consider a comparatively primitive question-based solution better.

Of course we could have both; for the solution sketched by me, I'd
suggest the name 'wizard', while yours could be named 'universal'.
msg5742 Author: [hidden] (rouilj) Date: 2016-07-04 16:12
Tobias, did you ever do any further design or work on this proposal?

- rouilj
History
Date User Action Args
2016-07-04 16:12:59rouiljsetkeywords: + Effort-High
nosy: + rouilj
messages: + msg5742
2009-02-22 19:13:02tobias-herpsetmessages: + msg3572
2009-02-22 01:36:12stefansetmessages: + msg3570
2009-02-21 21:37:57tobias-herpcreate