As part of my long term aims for my JavaScript MLDB API I am going to add support for running it in the browser. This brings nearer the tantalising prospect of building a set of UI Widgets on top of it. Read this post to see what widgets I think may be useful, and add comments to let me know which ones you’d like too…
The most obvious widgets you’d need are ones for search. These are well understood as basic ones:-
- Overarching search page with component parts, as follows
- Search bar using default grammar
- Search Facets, navigable
- Search Results, with custom summarising plugins, and clickable links
- Search page navigation
- Search result Sorting
And more advanced ones:-
- Advanced search generated from the content of a JSON search options list of constraints
- Query by example for particular document types (either via upload or properties on screen)
- AJAX suggestions as typing from lexicon values
An area we often forget in pre-sales is that of adding new documents. Typically we bulk load customer documents using our MLCP (Content Pump) tool, but in a real world application these may well be uploads from a user’s machine, or online bulk load orders executed from a web console rather than the command line. Here are my ideas:-
- Single / bulk document upload (there are some great UI widgets for this)
- Bulk server side ingest using the app services libraries (as you can do from within our admin interface, but in your own app) – server side directory specification
Then of course there are a lot of analytics type functions you may want to expose. These are the ones that I’ve seen before, often in some god awful Flash file when we could be using pure HTML + JavaScript:-
- Co-occurence (current flash widget used in some demos)
- Network graphs (using D3, current widget is old and looks it, and uses a Java Applet)
- Built in app builder HighCharts graphs (Bar, Pie, Line, etc.)
There are of course other random functions that you’d want to expose too:-
- Google maps (other mapping libraries are available) to show points, and draw polygons to restrict search results
- Universal document preview based on JSON and XML structure of search results
- Document download (as is, or using document transform endpoint)
- Document properties viewing and management, including as search options
- Document Library Services (DLS) versioning support – view old version timelines
- Bi-temporal searching (‘now’ time or ‘point in time’ versus ‘start’ and ‘end’ dateTime elements within a document) – E.g. which trades are still in progress, which BUY orders are still valid and unfulfilled, which TV programmes are currently available to watch
- Admin functions – index management, transform management, search options set up
- Security – view users, roles, permissions on documents, or URIs (directories)
If there are any of the above that you are interested, please leave a comment with +1 against it’s name, or +5 if you really want it! Any ones I’ve missed you think should be considered, then please let me know.
I’m running a session at MarkLogic World on MLDB, what’s available, and whats coming up – also have an announcement on new functionality for the Apr 13 0.6 version! Please visit me on Tuesday 8th at 1330 for my session!
Search Results, with custom summarising plugins, and clickable links(+5)