Child pages
  • pchecklist

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Simple Checklist Portlet, a simple portlet as an exercise in getting back into portlet development.


Vaporware. Portlet does not (yet?) exist. There are probably other open source starting points you could be working from. Also, this portlet is scoped to Andrew's personal space – it is not a real project of My UW-Madison nor is it any kind of "official" Apereo project.

Just some scratch work messing with portlets.

On checklists

This is a checklist portlet, not a generic to do list portlet.  It's about repeatable checklists, not about generic to do lists.  It can be abused to do to do lists, but that's not the design intent.

Rather, the design intent is to define a repeatable checklist, and separately experience stepping through the checklist.  Users use the checklist and can reset it to use it again.


Personal checklist mode

In personal checklist mode, the portlet title is dynamic to reflect whatever the user names their checklist.  The idea is to define repeatable checklists.  The portlet is multiply-subscribe-able so as to define multiple checklists.

NamePersonal Checklist Portlet

Institutional checklist mode

In institutional mode, the portlet title is defined at the portlet publication layer, there are roles.  For any given portlet publication, administrators define the checklist, and end users experience the checklist.

NameNew PCS Employee Example




What's interesting about this as a development project?

  • JavaScript, CSS, and UI considerations (jQueryUI? Bootstrap? generous usage of tool tips?)
  • Portlet preferences (store user's version of list)
  • Data that isn't obviously portlet preferences (template for list) but that feeds into preferences inheritance
  • Roles (template admin or not)
  • Dynamic portlet title (in personal version of portlet)


Thoughts on Scope


  • End-user checking off of checklist
  • Parallel and serial-only lists
  • Resetting list
  • Minimized mode showing list progress and next action
  • Template editing (though initially can define via init-param)
  • Intelligent merge of changes where feasible
  • Tree lists?
  • Basic, basic Markdown for list definition (say, \[label](url) style links, \*strong*, \_emphasis_ )

Out of scope

  • GUI for list definition (it's just a text box using Markdown, maybe some help parsing it)
  • Big Brother features for seeing users' progress through their lists