Changes between Initial Version and Version 4 of Ticket #842


Ignore:
Timestamp:
04/22/11 12:58:55 (3 years ago)
Author:
rgrp
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #842

    • Property Repository changed from to ckan
    • Property Priority changed from critical to major
    • Property Theme changed from to none
    • Property Milestone changed from to ckan-v1.4-sprint-7
    • Property Owner changed from rgrp to johnglover
  • Ticket #842 – Description

    initial v4  
    1 An extension that provides a todo list page on CKAN so that people can find things to do. 
     1An extension that provides a todo list feature on CKAN so that people can register and find things to do. 
    22 
    3   * Would run off tags on packages, tags of form 'todo.*' 
     3Extension name: ckanext-todo 
     4 
     5== User Story == 
     6 
     7=== Package page === 
     8 
     9As a user I come to a package: 
     10 
     11 * Have a todo count at that top that takes you down to the todo list (which may say nothing todo) 
     12 * At the bottom is a section of the package display titled "ToDo" where I see a list of all toDos for the package most recent at the top 
     13  * If I am logged in  
     14   * See a form for "Add to do" at the top of the todo section and can add one straight away 
     15   * I see a "now resolved" button next to each which goes green when you hover. 
     16      When clicked the todo fades away. 
     17   * Not logged in: I see a button that says "login to add todo" 
     18 
     19=== Todo list page === 
     20 
     21When a user comes to todo overview at /todo 
     22 
     23At top list all todo categories with counts (or a progress bar). Click on category name or bar takes you down page to list for that category. 
     24 
     25Category list has a list of todo items (ul with li items with class todo) - link to package relevant to the todo. 
     26 
     27 
     28== Implementation == 
     29 
     30The Todo form 
     31 
     32 * One of the fields is category -> autocomplete the category (not constrained) (lowercase, no spaces, .-_ allowed) 
     33 * Add a description 
     34 * Submit, the todo gets added via AJAX to the list at the top as the most recent todo 
     35 
     36Model: 
     37 
     38{{{ 
     39todo table 
     40 
     41  id (autoincrement integer) 
     42  package_id 
     43  todo_category_id (required) 
     44  description (required) 
     45  created=NOW() 
     46  resolved=null (unresolved) or a datetime (datetime of resolution) 
     47  creator=user 
     48  resolver=user 
     49 
     50todo_category table 
     51  id 
     52  name 
     53 
     54Prepopulate with: broken-resource-link, no-author, bad-format, add-description 
     55}}} 
     56 
     57API at /api/2/todo 
     58 * GET / POST / PUT ... 
     59 
     60/api/2/todo?package=package_id_or_name&category=...&resolved=0/1 
     61  * support limit (?) 
     62 
     63/api/2/todo/category -> return list of todo categories 
     64 * No GET / PUT / POST (these are auto-created by creation of todo) 
     65 
     66== Optional Extras (Will not be done atm) == 
     67 
     68 * Integrate todo tags (e.g. list packages tagged with a todo.{xxx} on Todo List page ...