[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Refactoring the Debtags web interface



Hello,

I've started to ponder a decent redesign of the Debtags web interface,
that will be hosted at debtags.debian.net.  I'd like to post here my
intentions, as a sort of RFC.  Comments are welcome.

New features that I think are needed:

 - workflow changes:
    - form subcommittees by broad topics: "The Gnome Guys", "The KDE Guys",
      "The Web Developers", "The Photographers" and so on, and give them
      the ultimate say on a set of tags, including being able to say "these
      packages are ok and reviewed now, disallow edits for all our tags on
      them".
    - support tags coming from external sources (like security team or
      QA) and displayed by the site but never updated via the site

 - web interface for reviewing anonymous tag submissions
    - global (review all submissions)
    - maintainer specific (review submissions related to my packages)
    - interest specific (review submissions related to a set of
      interesting tags; for example, the ocaml maintainers may want to
      review changes to the *::ocaml tags)

 - auditing
    - track the history of tag changes for a package


About authenticated access:

 - I do not want to maintain another user/password database: this should
   be done with Openid and a whitelist of identity providers that every
   DD can easily use (like alioth or debian)


About implementation details:

 - SQL Database to track the workflow
    - History of tags assigned / removed from a package
    - Track who assigned / removed a tag
      Anon users, Member of team X, Autotagger X, Tag reviewer
    - Track the origin of a tag
      (website, qa, secteam, team X)
    - Track if a tag change has been reviewed
    - Unchangeable ("definitive") tag changes
    - Generate tag sets to feed autotaggers and whatnot
       - Review
       - Unreview
       - Reviewed or unreviewed plus one or more other sources
    - Database of contributors
       - anonymous / openid identifier / external tag source / data mining
         program
    - Track the contributors of tag changes
    - Privilege tables for contributors
       - is a maintainer / uploader of
       - is member of group
       - is member of debtags
         (would it be possible to get list of group members from alioth?)
    - Database with package information, for display purposes only
       - Regularly updated via dde.debian.net

 - Xapian Index
    - Used for searches
    - Used for suggestions
    - Regularly updated via dde.debian.net
    - Needs to have the latest unreviewed tags, so that suggestions are updated in
      real time as people tag


Milestones:

 - Create the SQL Database
    - Import historical tagdbs from alioth, to simulate a tag update history
    - Regular imports from alioth
    - Regular updates from DDE

 - Create the Xapian database
    - Regular updates from DDE

 - Services as a slave interface to the authoritative data on
   debtags.a.d.o

 - First useful services
    - Tag review pages

 - Feature parity with debtags.a.d.o
    - Port the maintenance procedures
    - Become the authoritative tag database
    - Setup redirect from debtags.a.d.o


Ciao,

Enrico

-- 
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico@debian.org>

Attachment: signature.asc
Description: Digital signature


Reply to: