MLJS 1.4 March Release now available…

Latest MLJS release is now available. Read on for more details…

I’ve finally gotten around to releasing the latest MLJS code. Been really busy lately so it’s not a massive release.

Most impressive changes are:-

  • Updated the API and Tutorial docs webpage template to make it more accessible. Now supports method search in the browser.
  • Added various documentation about MLJS design to the tutorials section
  • Added a 1 day Intro to MLJS course (some bugs to iron out – especially in viewing HTML in the tutorial online!)
  • Added support for advanced rendering to the Search Results widget
  • Added heat maps to the OpenLayers widget
  • Address lookup using Google geocode search
  • Continued working on the MLJS Workplace (now 75% complete)

You can grab the latest code from GitHub.

Advanced Rendering in Search Results

Originally MLJS allowed you to plug in a single function to customise how a search result looked. This was useful, but in many instances the title, links, and action buttons would always be the same.

I’ve now made this a pluggable area, allowing custom layouts to be used, as well as several sections with sensible defaults.

Now all you need to do is add code to override the individual parts (E.g. summary or metadata areas), and MLJS will manage the rendering. Much less code now for custom rendering.

Examples to follow in May of how to make your search pages look like Google/Amazon/Springer websites.

Geospatial improvements

I’ve added a google backed address lookup. This can be used either purely to move a map’s center, or to generate a radius geospatial query as well.

The Core API now also supports a geocontext context object to manage interactions between geo based widgets.

The OpenLayers widget has been updated to support the generation of heatmaps on the backend. All you need to do is add the heatmap to your search options, and tell the widget to render them.

MLJS Workplace

Still working on the drag/drop Workplace concept. Not far to go now. Just need to complete the Save operation.

This will allow you to deploy a generic MLJS project, then simply click, drag, drop and configure widgets in a wizard like interface.

Think Application Builder but with support for multiple pages, and custom widgets.

Other changes

I’ve written a Node.js server app that can take any MarkLogic REST Server project and run it in Node.js instead.

This proxies all REST requests to /v1/*. It also supports WebSockets for alert pushing. (Although I haven’t got the UI widgets to accept these yet – watch the mljs.alertcontext for changes).

See the mljs-webserver.js file and the run-webserver.sh file for how to use this.

The future

The April release is all about the MLJS Workplace. Watch this space…

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.