NEW RELEASE: uibuilder v1.1.0

Here it is! The one you've been waiting for ... urm, just me then :blush:

Part 1 of the admin editor for your front-end code is now implemented. More to come in part 2 which is documented in Issue #46

The full changelog is in the WIKI.


Please see Issue #43 For the design details for this release.

Current Version Limitations As yet there are no parameter checks on the API calls so the following URL's should never be exposed to potentially hostile environments (e.g. the Internet): <adminurl>/uibfiles , <adminurl>/uibgetfile , <adminurl>/uibputfile , <adminurl>/uibindex . Also, there are currently no checks to prevent you losing changes to edits if you close the admin window.

  • NEW The node properties window in the admin UI now provides an "Edit Source Files" button. If clicked, the main properties are hidden and a file editor is shown. You can currently select any existing file in the src folder for the current instance and edit it. You can then save, reset or close the editor.
    • It is still a little too easy to lose changes by loading a different file or closing the properties window, reloading the interface, etc. More work is needed on the UI to help prevent this.
    • The delete button doesn't currently work.
  • NEW Add admin API's and start of admin property ui for editing the front-end files in Node-RED.
    • File list API (get /uiblistfiles ) gets all files in the instances src folder and populates a select drop-down. File list is rebuilt every time the properties admin ui window is opened. Requires user to have uibuilder.read permissions.
    • File read API (get /uibgetfile ) reads the content of a file. Restricted to the node instances src folder. Requires user to have uibuilder.read permissions.
    • File write API (post /uibputfile ) writes the updated content of a file. Restricted to the node instances src folder. Requires user to have uibuilder.write permissions.
  • NEW The node now tracks how many instances of uibuilder have been added to your flows. It tracks by ID and retains the url used. In a future release, this will be used to ensure that unique URL's are used.
  • NEW uibuilder index page (only prototype for now, not fully formed)
    • Index page API (get /uibindex ) lists all of the main URL's served by all uibuilder node instances in the flows. Requires user to have uibuilder.read permissions.
  • CHANGED Improved logging. Naming is more consistent, don't log to Node-RED log if Winston not used. Include instance url in Winston log line header for clarity. Increase Winston log file size. Logging also improved for debugging uibuilderfe.js.
  • DOCUMENTED The front-end code for jQuery seems to move about randomly! It is in one of two places, if you get an error with the default location (the dist sub-path), remove dist/ from the url.
  • CHANGED package.json 'pack' script changed to 'packfe' to avoid clash with npm's native pack script.
2 Likes

Quick note: <adminurl> is the URL you go to for the Node-RED admin ui.

1 Like