Roundup Tracker - Issues

Message3568

Author tobias-herp
Recipients stefan, tobias-herp
Date 2009-02-21.21:37:56
Message-id <1235252277.34.0.195191455101.issue2550515@psf.upfronthosting.co.za>
In-reply-to
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.
History
Date User Action Args
2009-02-21 21:37:57tobias-herpsetmessageid: <1235252277.34.0.195191455101.issue2550515@psf.upfronthosting.co.za>
2009-02-21 21:37:57tobias-herpsetrecipients: + tobias-herp, stefan
2009-02-21 21:37:57tobias-herplinkissue2550515 messages
2009-02-21 21:37:56tobias-herpcreate