Organization of the Lua for LabVIEW distribution

The organization of the files and directories of the unpacked Lua for LabVIEW distribution is as follows:

These are installed in the examples, project and help folder inside the LabVIEW folder to be included in the LabVIEW menus.

examples/Lua for LabVIEW/*
Example VIs and scripts.
examples/Lua for LabVIEW/VI templates/*
Templates of Lua for LabVIEW building blocks ready to be reviewed and specialized.
help/Lua for LabVIEW/*
Documentation of Lua for LabVIEW, including this manual. Note that the online version of the manual will always describe the latest Lua for LabVIEW release and may therefore mention functionality not yet present in earlier releases. To avoid confusion, always refer to the documentation included with the release being used.
project/Lua for LabVIEW/*
Function, Task Manager and the Unit Tester.

These are the actual Lua for LabVIEW Vis and are located inside a luaview folder in user.lib.

clientsrv/*
By default this directory contains stubs that disable the client-server functionality. When you have installed the client-server example framework, the directory will instead the framework VIs and scripts.
library/*
SubVIs of general utility. Not part of the API.
luaview/*
All files related to scripting.
luaview/subvis/*
API VIs.
luaview/objects/*
API VIs that operate on retained state. Such VIs have a "obj_*" prefix.
*/dynamic/*
Dynamically loaded and instantiated VIs and templates. Their VI descriptions specify to what functionality they belong. When building an application that includes that functionality, make sure to include the corresponding dynamic file via the "Add Dynamic VI" button of the application builder. Alternatively, the VIs can be included via a static reference somewhere inside the hierarchy of the top-level VI. This does not work for templates. 
*/functions/*
A directory holding Lua for LabVIEW functions. These VIs have a "*_lua.vi" postfix so as to allow them to be automatically registered even when built into an executable or llb. To reduce application size, include only required functions in the build script.
*/private/*
Do not use nor mind, these VIs concern internal functionality and are likely to change in future releases.
*/served/*
Remote calling wrappers for user interface VIs. When you choose to build one or more of the provided user interfaces into an application executable, check which of these are required. Since these VIs are dynamically loaded, they must be specifically included in the application builder script. By exclusively accessing the scripting subsystem through VI-server calls on these wrapper VIs, the user interfaces were made client-server capable. These VIs have a "*_srv.vi" postfix so that VI-server can easily be configured to limit remote calls to only this subset of VIs. Also, all these VIs have a certificate input which allows for server-side access checks: client-side checks are intrinsically insecure. Some of these VIs aggregate multiple API actions so as to minimize network latency overhead. 
*/unit tests/*
The VIs and scripts in such directories are assumed to be tests designed for running by the "Unit Tester". They are automatically collected when the "Unit Tester" is run.
re_*.vi
Reentrant VIs.
glb_*.vi
Configuration globals. These have been given reasonable default values so that Lua for LabVIEW functionality works without further configuration under the LabVIEW development environment. When creating an application that uses Lua for LabVIEW you may wish to customise some of these values. Only change the configuration values when the application starts, not while it runs. This can be done via a bootstrap script.
tui_*.vi and ui_*.vi
User-interface VIs.
*.lua
Lua scripts.

Go to table of contents