Entity Picker

This is a work in progress, feel free to add / edit / comment

Introduction

With the addition and adoption of the EntityBroker and the direct servlet in Sakai combined with the work being done to allow 'inline helpers' we now have the need to allow the user to select available Entities from the EntityBroker for such use.

Use cases

  • User selects an Entity with a direct url for linkage to from another tool. Such as linking to an assignment, assessment ect in a announcement, assignment, html page in resources, discussion, etc. One approach is to add a new plugin to the wysiwyg editor(s) to allow the user to browse for Entities similar to how they currently browse to link to things in resources.
  • Selecting Entities for inline display within another tool (such as an Entity sequencer). This would likely function more like the current File Picker helper.

Tool prerequisites

In order for tools to be able to have their Entities linked to and embedded as inline helpers, they will need to provide access to their entities via an Entity Provider using nice clean urls and html that can be embedded inside other pages (see other child pages from the EntityBroker docs for more info on those topics), given that most of the tools in Sakai currently don't provide clean urls or clean enough html output to safely embed some work will need to be done in many of the tool modules before an Entity Picker will become highly useful.

Tasks completed or in cleanup/maintenance mode

Tasks currently under way

  • Entity Broker tie in and Direct Servlet tie in for Assignment2

Proposed tasks remaining (would love some more help... email josh@asu.edu or the dev list)

  • Version 2 of the Entity Browser:
    • Support for search by tag (yes that implies that tools actually need to support tagging first)
    • Support launching as a helper from other tools outside of a WYWYG (traditional Sakai helper or url based helper?) and return the entity reference, title, url, etc of the selected Entity to the calling app
    • Improve UI
    • improved keyboard support
    • TinyMCE plugin
  • Entity Broker and Direct Servlet tie in for core tools (How to create an Entity Provider)
    • Wiki
    • OSP tools?
    • Grade book?
    • Chat?
    • Blog
    • Polls
    • Message Center Messages?

Hopefully some of the tool teams will create entity providers on their own soon any way, but there is enough interest in this topic that I'm sure at least a couple of tool teams will get a little help.