Add simple PubSub code adapted from jQuery manual.
[mkws-moved-to-github.git] / TODO
1 *** MKWS ***
2
3         Architecture: separate objects for each widget
4
5         Architecture: translucent configuration, with global values
6         shining through where a specific widget provides no local
7         value.
8
9         Architecture: decouple related elements using
10         publish/subscribe. (Jakub will probably do this.)
11
12         Architecture: managed widgets held in the Torus. Maybe.
13
14         Architecture: "3rd party widget platforms". I seems to recall
15         I copied this off one of Seb's lists on the flipchart, but I
16         can't remember what it refers to. Can anyone?
17
18         Allow debug() to be customised by setting a callback function
19         that is passed the string rather than just giving it to
20         console.log().
21
22         Create a logging widget which displays the output of debug().
23
24         Check that library selection (authentication) by hostname
25         works for MKWS.
26
27         Add library selection by secret key as an alternative to
28         selection by user/pw. This is appropriate for
29         security-conscious customers to embed in their own CORS-aware
30         Apache2 configuration.
31
32         Auto-executing widgets should be able to specifying limits (as
33         a full set of MK2-like widgets does in order to implement
34         facets).
35
36         Auto-executing widgets should be able to include filters (as a
37         full set of MK2-like widgets does in order to implement the
38         Target facet). This can be used to implement target categories
39         as well as the current cruder target-selection-by-ID facility.
40
41         Do target selection by UDB rather than ZURL. May need SP
42         changes, but we might already have the necessary functions.
43
44         We will want a facets-only widget, e.g. to list top authors
45
46         Make a demo widget that displays an image, like the "From the
47         Digital Archive" panel of our Toronto Digital Library demo.
48
49         Make a widget demo that displays the top-hit full record
50         rather than a list of summary records. This can be used to
51         pull in Wikipedia text to make the bulk of a topic page.
52
53         Make an Amazon cover-art widget.
54
55         Visualisation widgets e.g. pie-chart of authors, bar-graph of
56         records Generate embedded SVG? Does that even work?
57
58         Make am MKWS/Fresco demo by embedding widgets in our Koha
59         installation. Get Wolfram to do this, and find out which parts
60         of the process are cumbersome for him.
61
62         Write about interesting new widgets on the Index Data blog.
63
64         Make a widget gallery as a marketing thing on
65         mkws.indexdata.com
66
67         Maybe also use something like a widget gallery as part of the
68         widget-creation facility in MKAdmin.
69
70         Write integration guides for various third-party CMSs.
71
72         In the widget builder (initially in MKAdmin and subsequently
73         in a widget-building widget), we want to expose capability
74         information (from ZeeRex or a Torus record) in a
75         human-consumable form: "this target can sort by recency", that
76         kind of thing.
77
78         In the widget builder, we should be able to filter the targets
79         available to the widget on the basis of what requirements the
80         widget has, e.g. ability to sort by recency. The capability
81         facet in MKAdmin may suffice for this.
82
83         The widget-builder widget (WBW) should have a Save button that
84         is customised by a callback, so that the widget in question
85         can (for example) be copied into the clipboard, pasted into a
86         nominated div, saved to a database or whatever.
87