Manufacturing Execution System (MES) Integration¶
+Manufacturing Execution System (MES) Integration¶
Manufacturing Execution Systems (MES) offer many benefits including enhanced visibility into production, improved efficiency, cost reduction, and better inventory monitoring.
The Prism-Lente framework supports integration using industry standard protocol OPC-UA. diff --git a/docs/build/html/_prodplan.html b/docs/build/html/_prodplan.html index f74e0eaa..4fc378ec 100644 --- a/docs/build/html/_prodplan.html +++ b/docs/build/html/_prodplan.html @@ -232,7 +232,7 @@
Naming Proposal"config": {
"result": "public.prism.result.ResultBaseKeysV1",
"fail_fast": false,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
diff --git a/docs/build/html/_security.html b/docs/build/html/_security.html
index 5728994d..39c05f2a 100644
--- a/docs/build/html/_security.html
+++ b/docs/build/html/_security.html
@@ -58,7 +58,7 @@ Security
Settings.json¶
-Most of the security of the system is set by settings.json.
+Most of the security of the system is set by settings.json.
settings.json file is unique to each Prism/Lente in the deployment. It is common for
multiple Prism computers sitting below Lente to have the same settings.json, assuming the settings are the same.
settings.json is edited/created when Prism/Lente computer is configured.
@@ -68,7 +68,7 @@ Settings.json
Manifest Checking¶
-Enable Manifest checking in the settings.json. file.
+Enable Manifest checking in the settings.json. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files.
The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no
changes to the files it will use to test. The Manifest file itself is encrypted and cannot be viewed.
@@ -124,7 +124,7 @@ Postgres DB
Change the default password!
-Also remember to use the same password in settings.json.
+Also remember to use the same password in settings.json.
@@ -137,7 +137,7 @@ Postgres DB
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is “untrusted” and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. settings.json
+
With HTTPS the connection between Prism/Lente is now encrypted. settings.json
has prism_lente_pw which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
On deployed Prism/Lente computers the user account is presumed to be secure. The Ubuntu filesystem should
@@ -167,7 +167,7 @@
Postgres DB
Generate the cert/key file on each Prism/Lente computer.
-See the settings.json to enable HTTPS and set the Prism/Lente password.
+See the settings.json to enable HTTPS and set the Prism/Lente password.
In the browser, connect over HTTPs,
for Prism use https://127.0.0.1:6590
diff --git a/docs/build/html/_sources/_deployment.rst.txt b/docs/build/html/_sources/_deployment.rst.txt
index 6966b7a9..726797f2 100644
--- a/docs/build/html/_sources/_deployment.rst.txt
+++ b/docs/build/html/_sources/_deployment.rst.txt
@@ -2,7 +2,7 @@ Deployment
##########
Prism/Lente allows for various deployment strategies, and some diagrams
-are shown `here <_system.html#_system_arch>`__.
+are shown :ref:`here `.
Lente deployment depends on your dashboarding and Prism station management strategy.
A Lente station can manage Prism stations directly below it, in the connection
diff --git a/docs/build/html/_sources/_mes_integration.rst.txt b/docs/build/html/_sources/_mes_integration.rst.txt
index 58b89d59..a9c9f65e 100644
--- a/docs/build/html/_sources/_mes_integration.rst.txt
+++ b/docs/build/html/_sources/_mes_integration.rst.txt
@@ -1,3 +1,5 @@
+.. _mes-integration:
+
Manufacturing Execution System (MES) Integration
################################################
diff --git a/docs/build/html/_sources/_prodplan.rst.txt b/docs/build/html/_sources/_prodplan.rst.txt
index 71ea6f18..e0625646 100644
--- a/docs/build/html/_sources/_prodplan.rst.txt
+++ b/docs/build/html/_sources/_prodplan.rst.txt
@@ -181,7 +181,7 @@ Example script P00100_T0100_SmokeTests.scr,
"config": {
"result": "public.prism.result.ResultBaseKeysV1",
"fail_fast": false,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
diff --git a/docs/build/html/_sources/_security.rst.txt b/docs/build/html/_sources/_security.rst.txt
index fc2cfd61..7d2e6b18 100644
--- a/docs/build/html/_sources/_security.rst.txt
+++ b/docs/build/html/_sources/_security.rst.txt
@@ -13,7 +13,7 @@ until the system is operating correctly and only then able encryption and other
Settings.json
=============
-Most of the security of the system is set by `settings.json <_deployment.html#_Settings File>`__.
+Most of the security of the system is set by :ref:`settings.json `.
`settings.json` file is unique to each Prism/Lente in the deployment. It is common for
multiple Prism computers sitting below Lente to have the same `settings.json`, assuming the settings are the same.
@@ -29,7 +29,7 @@ Prism computers should remove the Lente section of the `settings.json` file.
Manifest Checking
=================
-Enable Manifest checking in the `settings.json <_deployment.html#_Settings File>`__. file.
+Enable Manifest checking in the :ref:`settings.json `. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files.
The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no
@@ -99,7 +99,7 @@ Postgres DB
* Change the default password!
- * Also remember to use the same password in `settings.json <_deployment.html#_Settings File>`__.
+ * Also remember to use the same password in :ref:`settings.json `.
.. _https:
@@ -116,7 +116,7 @@ These keys will still be using the same TLS protocol over the connection and are
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is "untrusted" and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. `settings.json <_deployment.html#_Settings File>`__
+With HTTPS the connection between Prism/Lente is now encrypted. :ref:`settings.json `
has `prism_lente_pw` which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
@@ -151,7 +151,7 @@ organization information, if desired.
* Generate the cert/key file on each Prism/Lente computer.
-* See the `settings.json <_deployment.html#_Settings File>`__ to enable HTTPS and set the Prism/Lente password.
+* See the :ref:`settings.json ` to enable HTTPS and set the Prism/Lente password.
* In the browser, connect over HTTPs,
* for Prism use `https://127.0.0.1:6590`
diff --git a/docs/build/html/_sources/_version_history.rst.txt b/docs/build/html/_sources/_version_history.rst.txt
index c17805a3..fc722a0b 100644
--- a/docs/build/html/_sources/_version_history.rst.txt
+++ b/docs/build/html/_sources/_version_history.rst.txt
@@ -36,7 +36,7 @@ Prism
~~~~~~
* [BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
* Index page shows time and date (implemented in 0.7.56)
* Auto config test on startup, see :ref:`settings.json ` (implemented in 0.7.64)
@@ -52,7 +52,7 @@ Lente
~~~~~~
* [BUGFIX] Fix/improve getting self IP address
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Station Management portal can remotely,
* request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/_sources/lente_accounts.rst.txt b/docs/build/html/_sources/lente_accounts.rst.txt
index e66d8f29..fdbbb671 100644
--- a/docs/build/html/_sources/lente_accounts.rst.txt
+++ b/docs/build/html/_sources/lente_accounts.rst.txt
@@ -14,11 +14,11 @@ Users
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A new User account must be set `Active` in order to login.
Roles
@@ -30,24 +30,23 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
+Active
+======
+
+`Active` is not a Role. It is a separate setting on the Account Management page.
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
+Without `Active` set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
@@ -56,7 +55,7 @@ Admin
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -71,27 +70,27 @@ PRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
PRISM ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync'd from Lente, your changes
+may edit the user on a Prism station, but if Users are sync'd from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
diff --git a/docs/build/html/_sources/lente_cloud.rst.txt b/docs/build/html/_sources/lente_cloud.rst.txt
index ccaeff7e..0e6a8f73 100644
--- a/docs/build/html/_sources/lente_cloud.rst.txt
+++ b/docs/build/html/_sources/lente_cloud.rst.txt
@@ -85,7 +85,7 @@ Run these commands to install `scripts`,
git clone https://github.com/sistemicorp/scripts.git
-Follow `these `__ instructions to start postgres server.
+Follow :ref:`these ` instructions to start postgres server.
Run the Lente start script
diff --git a/docs/build/html/_sources/lente_demo.rst.txt b/docs/build/html/_sources/lente_demo.rst.txt
index f318e97e..9a96d050 100644
--- a/docs/build/html/_sources/lente_demo.rst.txt
+++ b/docs/build/html/_sources/lente_demo.rst.txt
@@ -30,6 +30,8 @@ Requirements
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
+.. _lente-demo-postgres:
+
Postgres
********
diff --git a/docs/build/html/_sources/lente_main.rst.txt b/docs/build/html/_sources/lente_main.rst.txt
index 8acd1701..fab9c12d 100644
--- a/docs/build/html/_sources/lente_main.rst.txt
+++ b/docs/build/html/_sources/lente_main.rst.txt
@@ -3,7 +3,7 @@ Lente
Lente is a backend server that has two main functions.
-* dB (PostGres) interface
+* dB (Postgres) interface
* receives results from connected Prism computers
* stores test results into the dB
diff --git a/docs/build/html/_sources/lente_screenshots.rst.txt b/docs/build/html/_sources/lente_screenshots.rst.txt
index 56f421b3..39ebecde 100644
--- a/docs/build/html/_sources/lente_screenshots.rst.txt
+++ b/docs/build/html/_sources/lente_screenshots.rst.txt
@@ -3,49 +3,64 @@ Screenshots
Lente screenshots.
-Dashboard
-*********
-Lente provides two dashboards. The first shown here shows a historical summary of units tested, pass/fail and yield, over
-the previous week. The table below shows the currently active test stations, and their status.
+Result Analytics
+****************
-.. image:: static/Screenshot_lente_dashboard_02.png
+The Result Analytics dashboard is for detailed results analysis. Results shown graphically and in
+the table are filtered by the current state of the "Select/Date" filters.
-The second dashboard is for detailed results analysis. The important thing about this dashboard is that the results shown
-graphically or in the table are filtered by the current state of the "Select/Date" filters across the top of the dashboard.
+The dashboard has three views, selected by the tabs across the top,
-The graph is a view of the previous week's history of Pass/Fail/Yield numbers.
+* `Throughput & Yield` - history of Pass/Fail/Yield numbers
+* `Failure Pareto` - which tests are failing, ranked by how often
+* `Test Runtime` - where the test time is being spent
-The right table is each result. By selecting a result in this table, a new tab is opened with the result details.
+The `Results Summary` panel on the right totals the Pass/Fail/Yield for the current filter selection.
-The table on the bottom left counts the various types of Fail tests.
+The table below the filters is each result. By selecting a result in this table, a new tab is opened with the
+result details.
-.. image:: static/Screenshot_lente_dashboard_01.png
+The `Throughput & Yield` tab charts the units tested over time; Pass and Fail as stacked bars against the left
+axis, and Yield as a line against the right axis. The period selector sets the size of each bar, for
+example `Daily`. Use this to track production output and yield trend.
+.. image:: static/Screenshot_lente_throughput.png
-Station Management
-******************
+The `Failure Pareto` tab ranks the failing tests by quantity, and shows each as a percentage of the failed runs
+and of all runs. Use this to find which tests are costing you the most yield.
-Prism and Lente Station management console.
+.. image:: static/Screenshot_lente_pareto.png
-* View station stats
-* Take actions (Ping, Sync)
+The `Test Runtime` tab breaks down where the test time is being spent. Select the `Script` and the `Script Result`
+to report on. The table gives the average time of each test item and its percentage of the total, and the pie
+chart shows the same proportions. Use this to find which test items to optimize to reduce cycle time.
-.. image:: static/Screenshot_lente_dashboard_03.png
+.. image:: static/Screenshot_lente_runtime.png
-Account Management
-******************
+Station Manager
+***************
-User Summary
+Prism and Lente Station management console.
-.. image:: static/Screenshot_lente_dashboard_06.png
+* View station stats - version, scripts, backups, disk usage, the script running, active users, and last ping
+* Select stations and take actions - `Ping`, `Get Log`, `Restart`, `Sync Users`, `Sync Script`
+* `Station Logs` below lists station events, filtered by the Type/Computer/Version/Cause and date selections
+.. image:: static/Screenshot_lente_station_mgr.png
+
+
+Account Management
+******************
-Create Users
+A single page manages all of the Account Management features.
-.. image:: static/Screenshot_lente_dashboard_04.png
+The table at the top summarizes the Users; their email, whether they are Active, their Language, and their Roles.
+* `New Account` creates a User
+* Selecting a User in the table loads them into the editor below
-Edit User Roles
+The editor sets the User's Language, whether the account is `Active`, and which Roles they hold. `Set Password`
+sets the User's password. `Update` saves the changes, `Reset` discards them, and `Delete` removes the User.
-.. image:: static/Screenshot_lente_dashboard_05.png
\ No newline at end of file
+.. image:: static/Screenshot_lente_acct_mgt.png
\ No newline at end of file
diff --git a/docs/build/html/_sources/prism_accounts.rst.txt b/docs/build/html/_sources/prism_accounts.rst.txt
index 1328f787..c4518c76 100644
--- a/docs/build/html/_sources/prism_accounts.rst.txt
+++ b/docs/build/html/_sources/prism_accounts.rst.txt
@@ -20,7 +20,7 @@ Users need to have unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A User account must be set `Active` in order to login.
Roles
@@ -32,33 +32,24 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
-
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
-
-This allows you to disable a User without deleting their account.
Admin
=====
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -73,21 +64,21 @@ Prism ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
Prism ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
diff --git a/docs/build/html/_sources/prism_demo.rst.txt b/docs/build/html/_sources/prism_demo.rst.txt
index 4b7107b8..b24ae1d9 100644
--- a/docs/build/html/_sources/prism_demo.rst.txt
+++ b/docs/build/html/_sources/prism_demo.rst.txt
@@ -28,7 +28,7 @@ Requirements
* Google Chrome browser (other browsers are not tested)
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
- * Several instillation methods are described. The "convenience script" works well.
+ * Several installation methods are described. The "convenience script" works well.
::
@@ -94,13 +94,12 @@ Clone Sistemi Scripts
http://127.0.0.1:6590
- * **Do Not use the browser BACK button, always use the page controls for navigation**
* The Prism landing page should appear,
.. image:: static/Screenshot_prism_demo_2.png
-* Press the Login button (upper left corner)
+* Press the Login button (upper right corner)
* Prism login user/password is admin@here.com/password
* Other users passwords are `password`
@@ -111,16 +110,16 @@ Clone Sistemi Scripts
* In real production environment, the operator would scan a traveller to
configure Prism to test a product. Since this is a demo, we will select a
test manually.
- * Select button `Test Configuration` (1)
+ * Select the `Test Configuration` link in the left sidebar (1)
.. image:: static/Screenshot_prism_demo_1.png
* Run your first script after logging in,
- * Select Group select `Example` (1)
+ * Select Group select `example` (1)
* Select Script select `prod_0.scr` (2)
* Press button `Validate` (3)
- * If everything checked out, the `Start Testing` button will turn Green. (4)
+ * If everything checked out, the `Start Testing` button will become enabled, solid blue. (4)
* The script that will be run is shown (5)
.. image:: static/Screenshot_prism_demo_3.png
@@ -129,7 +128,7 @@ Clone Sistemi Scripts
.. image:: static/Screenshot_prism_demo_4.png
-* Press the `TEST` (1) button to begin the test.
+* Press the `START ALL` (1) button to begin the test.
* Logging from the test will be shown in the table (2).
* Historical stats of your testing will be shown in the plot (3).
* **Note:** Example tests have delays in them for demo effect.
@@ -138,13 +137,7 @@ Clone Sistemi Scripts
* the user will be shown buttons to press, any button will pass.
* the user will have to enter some text, any text will pass
-* this Demo shows only one active "Jig", if you want to display more,
-
- * Access the Main menu and select Demo (Main->Demo)
- * Change the number of "fake" jigs between 1-4.
- * Go back to the Main page (Menu->Main)
- * Repeat the steps above to re-run the demo test.
-
+* this Demo shows only one active "Jig". Up to eight jigs are supported.
* Prism can be stopped with this command,
diff --git a/docs/build/html/_sources/prism_drivers.rst.txt b/docs/build/html/_sources/prism_drivers.rst.txt
index 6b087e03..7c5a60fb 100644
--- a/docs/build/html/_sources/prism_drivers.rst.txt
+++ b/docs/build/html/_sources/prism_drivers.rst.txt
@@ -23,7 +23,7 @@ Prism will load/init each `driver` that is listed.
The python file specified *MUST* have a class called `HWDriver`. See the `fake` example for
implementation details and documentation.
-By convention, the driver filename has prefix is `hwdrv_.py`.
+By convention, the driver filename has the prefix `hwdrv_.py`.
The Drivers files are stored by convention in a separate path relative to scripts in order to isolate
them. `Drivers` are typically common to test multiple products.
@@ -72,7 +72,7 @@ Per the code documentation, `discover_channels` must return a dictionary with pr
1) The hw driver objects are expected to have an 'slot' field, the lowest
id is assigned to channel 0, the next highest to channel 1, etc
- :return: <#>, ,
+ :return: <#>, , (use Zero for a device shared across all channels)
where
#: >0 number of channels,
0 does not indicate num channels, like a shared hardware driver
@@ -87,7 +87,7 @@ Slot Number
-----------
When implementing python code to implement tests, there is a `channel (self.chan)` number and a `slot` number.
-The channel is how Prism indexes the running threads, usually from 0 to a max of 3. The slot number
+The channel is how Prism indexes the running threads, usually from 0 to a max of 7. The slot number
is a number used to setup configuration of the physical system.
diff --git a/docs/build/html/_sources/prism_programs.rst.txt b/docs/build/html/_sources/prism_programs.rst.txt
index ec6009a1..06b97033 100644
--- a/docs/build/html/_sources/prism_programs.rst.txt
+++ b/docs/build/html/_sources/prism_programs.rst.txt
@@ -8,7 +8,7 @@ A very minimalist ("hello world") (helloWorld.py) program file could look like t
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -40,7 +40,7 @@ And, a minimalist script file that uses this program code, could look like this,
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
@@ -72,11 +72,11 @@ Lets make some general comments about the above script/program before diving int
Program Class Structure
-----------------------
-Lets take a more detailed look at the program structrure,
+Lets take a more detailed look at the program structure,
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -91,7 +91,7 @@ Lets take a more detailed look at the program structrure,
self.logger = logging.getLogger("SC.{}.{}".format(__name__, self.chan))
def sayHello(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
self.log_bullet("Hello World!")
self.item_end() # always last line of test
@@ -115,7 +115,7 @@ methods
::
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
* The last line of every method is
@@ -128,7 +128,7 @@ methods
context
^^^^^^^
-* ``context`` is your programmatic view of the script, and retrieving it is the first line of every method
+* ``ctx`` (context) is your programmatic view of the script, and retrieving it is the first line of every method
* consider a little more complicated script,
::
@@ -141,12 +141,12 @@ context
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
- "module": "public.prims.scripts.my_product.helloWorld",
- "options": { "fail_fast": False, "myVar": "something" },
+ "module": "public.prism.scripts.my_product.helloWorld",
+ "options": { "fail_fast": false, "myVar": "something" },
"items": [
{"id": "sayHello"},
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
@@ -162,7 +162,7 @@ context
::
def TST000_Meas(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
print(ctx.item) # = {"id": "TST000", "enable": True, "args": {"min": 0, "max": 10}}
print(ctx.item.args) # = {"min": 0, "max": 10}
@@ -175,13 +175,13 @@ context
* in Python, you can do ``print(dir(ctx))`` to get a list of everything available to you
* When designing your test script and program structure, consider what user configurable variables you want to be
defined in the script ``args`` section and which you want in the program. Things like min/max limits may change
- overt he product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
+ over the product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
Everything Example
------------------
-Here is a fully documented program example that shows just about every feature of the Lente system. This
+Here is a fully documented program example that shows just about every feature of the Prism system. This
example program is distributed with the system, and may be more up to date than here, so please consult that example.
::
@@ -247,7 +247,7 @@ example program is distributed with the system, and may be more up to date than
# - ctx.record.fail_msg(msg)
# - add a fail message to the record
#
- # self.chan # this channel (0,1,2,3)
+ # self.chan # this channel (0-7)
#
# self.shared_state # instance of the shared state across all running test jigs
#
@@ -864,7 +864,7 @@ a "binning code" when a failure occurs.
The "binning mechanism" is provided by the ``fail`` field for the test item in the script. There is a list
of binning failure IDs (``fid``) with a corresponding ``msg`` for the user in the script. This is shown in the
-example ``TST000_Meas`` above. Repeated here.
+example ``TST001_Meas`` above. Repeated here.
Example Notes:
@@ -880,11 +880,11 @@ Example Notes:
::
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
- # fail: this is a list of 'fid' and 'msg' that get displayed and
- # recorded with the test record. The python code for this
- # test item assigns which item in the list best represents
- # the failure mode. This information is to assist repair.
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ // fail: this is a list of 'fid' and 'msg' that get displayed and
+ // recorded with the test record. The python code for this
+ // test item assigns which item in the list best represents
+ // the failure mode. This information is to assist repair.
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
@@ -892,12 +892,12 @@ Program code,
::
- def TST000_Meas(self):
+ def TST001_Meas(self):
""" Measurement example, with multiple failure messages
- example of taking multiple measurements, and sending as a list of results
- if any test fails, this test item fails
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
"""
diff --git a/docs/build/html/_sources/prism_screenshots.rst.txt b/docs/build/html/_sources/prism_screenshots.rst.txt
index cc667567..4bc7b9f6 100644
--- a/docs/build/html/_sources/prism_screenshots.rst.txt
+++ b/docs/build/html/_sources/prism_screenshots.rst.txt
@@ -7,24 +7,24 @@ Title Page
.. image:: static/Screenshot_title_01.png
-Main view
-*********
+Scan Traveller page
+*******************
After the User has logged in, they may scan a traveller to configure Prism testing, or
-use the Test Configuration button to access scripts manually.
+use the Test Configuration page to access scripts manually.
-.. image:: static/Screenshot_main_01.png
+.. image:: static/Screenshot_prism_scan_traveller.png
-Test Config view
-****************
+Test Configuration page
+***********************
Simple (No Variables) Script
============================
-* A pull down dialog box allows the user to pick which script to run
+* Pull down selections allow the user to pick the script group, and then which script in that group to run
* The script is shown on the left. The script cannot be modified with this `Prism` view
-* The script is a JSON format text file, with the exception that lines begining with `#` are comment lines
+* The script is a JSON format text file, with the exception that lines beginning with `//` are comment lines
* This script example has no user configurable variables
.. image:: static/Screenshot_test_config_01.png
@@ -41,11 +41,12 @@ Variables Script
.. image:: static/Screenshot_test_config_02.png
-Test View
-*********
+Test Portal
+***********
* The result after 4 channels of the demo script have finished
* For each channel a log table is shown
+* Historical stats of your testing are shown in the plot on the left
.. image:: static/Screenshot_test_01.png
diff --git a/docs/build/html/_sources/prism_scripts.rst.txt b/docs/build/html/_sources/prism_scripts.rst.txt
index e6fae604..9cd7559c 100644
--- a/docs/build/html/_sources/prism_scripts.rst.txt
+++ b/docs/build/html/_sources/prism_scripts.rst.txt
@@ -9,7 +9,7 @@ Scripts
* JSON is used so that non-programmers may be able to read/edit [1]_ the script without requiring a
programming background. This is useful in development or emergency situations.
-* extend JSON a little bit, by allowing comments, any line begining with `//` is a comment. This allows
+* extend JSON a little bit, by allowing comments, any line beginning with `//` is a comment. This allows
the script to be documented
The ``script`` has the following sections,
@@ -38,7 +38,7 @@ In a production environment, operators are not typically allowed to arbitrarily
limits or any other setup. However, in an engineering lab, or new product ramp environment, having an easy method
to change some parameters might be useful. This feature does not have to be used.
-Only (logged in) users with a certain role privileges can access `Test Config`, and thus access to GUI controls that
+Only (logged in) users with a certain role privileges can access the `Test Configuration` page, and thus access to GUI controls that
use the `subs` feature. Otherwise `subs` are used to create a `Traveller`, which stores the `subs` used.
`subs` are useful for generating :ref:`prism_travellers:Travellers`.
@@ -54,7 +54,8 @@ Here is a full example of what `subs` section could look like (taken from exampl
// "type" : "",
// "widget": "",
// "regex": <"regex">, // only for widget == textinput,
- // when regex is satisfied widget turns green
+ // the field is valid when the regex is satisfied;
+ // Start Testing enables once all fields are valid
// "choices": [, , ...], // only for widget == select
// "default": ,
// "subs": // inner dependant subs
@@ -87,6 +88,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
"title": "TST000_Meas Enable",
"type" : "str", "widget": "select", "choices": ["true", "false"]
}
+ },
// and how it looks in the test item,
{"id": "TST000_Meas", "enable": "%%TST000Enable", "args": {"min": "%%TST000Min", "max": "%%TST000Max"}},
@@ -103,7 +105,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``title``
-* this is the title of the field to be presented to the Operator in the Test Config view
+* this is the title of the field to be presented to the Operator in the Test Configuration page
* if there is a specific format of the variable expected, that should be indicated in the ``title``
``type``
@@ -113,7 +115,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``widget``
-* the type of GUI widget to present to the Operator in the Test Config view
+* the type of GUI widget to present to the Operator in the Test Configuration page
* `textinput` is a generic text input box, which will be populated by the ``default`` field
* `select` is a drop down selection menu
@@ -142,11 +144,11 @@ This section is a list of fields that correspond to fields that exist in the bac
used for database searches.
You cannot add or delete fields from this section. If there are missing fields, an error will occur downstream as the
-result record is check to have these fields. New fields can be added, but that requires a request to customize
+result record is checked to have these fields. New fields can be added, but that requires a request to customize
the backend database. See TBD.
Note that the example here, two fields are using the `subs` section to get their values from the Operator
-in the Test Config view.
+in the Test Configuration page.
::
@@ -181,7 +183,7 @@ This section sets required variables that Prism uses to drive the test script.
"config": {
"fail_fast": true,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
@@ -193,8 +195,8 @@ This section sets required variables that Prism uses to drive the test script.
* it is recommended ``fail_fast`` be set to `true`.
* Often tests are interdependent, and if one test fails, it often means other tests will fail that depended on
- that particular function. What happens then is a cascade of failed tests which my might obscure the root failure.
- * If tests are mutually exclusive, it may be advantages to set ``fail_fast`` to `false`.
+ that particular function. What happens then is a cascade of failed tests which might obscure the root failure.
+ * If tests are mutually exclusive, it may be advantageous to set ``fail_fast`` to `false`.
``drivers``
@@ -221,7 +223,7 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
"tests": [
{
- "module": "public.prism.scripts.prod_v0.tst00xx",
+ "module": "public.prism.scripts.example.prod_v0.tst00xx",
"options": {
"fail_fast": false
// add more key/value as required
@@ -231,8 +233,8 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": "%%TST000Max"},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
- {"id": "TST001_Skip", "enable": false },
- {"id": "TST0xxTRDN", "enable": true }
+ {"id": "TST002_Skip", "enable": false },
+ {"id": "TST0xxTEARDOWN", "enable": true }
]
}
]
diff --git a/docs/build/html/_sources/prism_travellers.rst.txt b/docs/build/html/_sources/prism_travellers.rst.txt
index 662bc703..b1b249b0 100644
--- a/docs/build/html/_sources/prism_travellers.rst.txt
+++ b/docs/build/html/_sources/prism_travellers.rst.txt
@@ -1,14 +1,14 @@
Travellers
##########
-Travellers are 2D bar codes printed on paper than can configure Prism
+Travellers are 2D bar codes printed on paper that can configure Prism
to run a script with certain substitution parameters. Travellers are used to simplify
setting up and operating Prism by any User (operator).
Travellers can only be created by users with the :ref:`prism_accounts:ConfigMan` role.
-The image below shows the `Test Config` view, a script has been selected and
-the parameters selected, at this point the `Traveller` button turns Green
+The image below shows the `Test Configuration` page, a script has been selected and
+the parameters selected, at this point the `Create Traveller` button becomes enabled
indicating it can now be pressed.
.. image:: static/Screenshot_traveller_01.png
@@ -30,7 +30,7 @@ Scanning
********
Travellers are scanned by the operator using most any bar code scanner set
-to emulate the keyboard. After the Operator logs in the Prism waits for a scan,
+to emulate the keyboard. After the Operator logs in Prism waits for a scan,
.. image:: static/Screenshot_traveller_03.png
@@ -38,7 +38,8 @@ Once the image is scanned the system will validate and then move to the Test Por
where testing can start.
Note that Operator sign in Roles can be changed such that the Operator cannot access the
-Test Configuration or other menu options.
+Test Configuration page, or other restricted pages. The menu options remain visible to the
+Operator, however the pages themselves enforce the access restrictions.
User Content
@@ -65,7 +66,7 @@ For example see `public/prism/scripts/example/prod_v0/prod_0.scr`,
Auto Load Traveller
*******************
-The `settings.json <_deployment.html#_Settings File>`__ can specify a traveller that is automatically loaded when
+The :ref:`settings.json ` can specify a traveller that is automatically loaded when
Prism boots up and the indicated user logs in.
::
diff --git a/docs/build/html/_static/Screenshot_lente_acct_mgt.png b/docs/build/html/_static/Screenshot_lente_acct_mgt.png
new file mode 100644
index 00000000..f99a7f39
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_acct_mgt.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_01.png b/docs/build/html/_static/Screenshot_lente_dashboard_01.png
deleted file mode 100644
index fe8ae1b0..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_02.png b/docs/build/html/_static/Screenshot_lente_dashboard_02.png
deleted file mode 100644
index de8826de..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_02.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_03.png b/docs/build/html/_static/Screenshot_lente_dashboard_03.png
deleted file mode 100644
index 01df70cc..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_03.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_04.png b/docs/build/html/_static/Screenshot_lente_dashboard_04.png
deleted file mode 100644
index 6fdfa7ac..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_04.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_05.png b/docs/build/html/_static/Screenshot_lente_dashboard_05.png
deleted file mode 100644
index fc1027a1..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_05.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_06.png b/docs/build/html/_static/Screenshot_lente_dashboard_06.png
deleted file mode 100644
index 51c5c785..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_06.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_pareto.png b/docs/build/html/_static/Screenshot_lente_pareto.png
new file mode 100644
index 00000000..e221b249
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_pareto.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_runtime.png b/docs/build/html/_static/Screenshot_lente_runtime.png
new file mode 100644
index 00000000..521d6056
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_runtime.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_station_mgr.png b/docs/build/html/_static/Screenshot_lente_station_mgr.png
new file mode 100644
index 00000000..b95e030b
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_station_mgr.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_throughput.png b/docs/build/html/_static/Screenshot_lente_throughput.png
new file mode 100644
index 00000000..b2177c3c
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_throughput.png differ
diff --git a/docs/build/html/_static/Screenshot_main_01.png b/docs/build/html/_static/Screenshot_main_01.png
deleted file mode 100644
index 7fbfd327..00000000
Binary files a/docs/build/html/_static/Screenshot_main_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_1.png b/docs/build/html/_static/Screenshot_prism_demo_1.png
index a127b7ae..5355c788 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_1.png and b/docs/build/html/_static/Screenshot_prism_demo_1.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_2.png b/docs/build/html/_static/Screenshot_prism_demo_2.png
index 9a44b9a5..c03e1bf3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_2.png and b/docs/build/html/_static/Screenshot_prism_demo_2.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_3.png b/docs/build/html/_static/Screenshot_prism_demo_3.png
index 081fccca..40bac9e0 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_3.png and b/docs/build/html/_static/Screenshot_prism_demo_3.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_4.png b/docs/build/html/_static/Screenshot_prism_demo_4.png
index 88230a4e..6e382da3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_4.png and b/docs/build/html/_static/Screenshot_prism_demo_4.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_scan_traveller.png b/docs/build/html/_static/Screenshot_prism_scan_traveller.png
new file mode 100644
index 00000000..9e2e3923
Binary files /dev/null and b/docs/build/html/_static/Screenshot_prism_scan_traveller.png differ
diff --git a/docs/build/html/_static/Screenshot_test_01.png b/docs/build/html/_static/Screenshot_test_01.png
index 82a8be8d..d0102ee4 100644
Binary files a/docs/build/html/_static/Screenshot_test_01.png and b/docs/build/html/_static/Screenshot_test_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_01.png b/docs/build/html/_static/Screenshot_test_config_01.png
index 3366d094..6d29f579 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_01.png and b/docs/build/html/_static/Screenshot_test_config_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_02.png b/docs/build/html/_static/Screenshot_test_config_02.png
index 0b2c8fd3..1ddc6ed1 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_02.png and b/docs/build/html/_static/Screenshot_test_config_02.png differ
diff --git a/docs/build/html/_static/Screenshot_title_01.png b/docs/build/html/_static/Screenshot_title_01.png
index ea94771a..0d610504 100644
Binary files a/docs/build/html/_static/Screenshot_title_01.png and b/docs/build/html/_static/Screenshot_title_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_01.png b/docs/build/html/_static/Screenshot_traveller_01.png
index 6dad3ada..eac65b82 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_01.png and b/docs/build/html/_static/Screenshot_traveller_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_02.png b/docs/build/html/_static/Screenshot_traveller_02.png
index 9013c83c..d860c159 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_02.png and b/docs/build/html/_static/Screenshot_traveller_02.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_03.png b/docs/build/html/_static/Screenshot_traveller_03.png
index b4838814..284f102f 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_03.png and b/docs/build/html/_static/Screenshot_traveller_03.png differ
diff --git a/docs/build/html/_static/lente_main_01.png b/docs/build/html/_static/lente_main_01.png
index 4d200038..7a1555d6 100644
Binary files a/docs/build/html/_static/lente_main_01.png and b/docs/build/html/_static/lente_main_01.png differ
diff --git a/docs/build/html/_version_history.html b/docs/build/html/_version_history.html
index 22dc3cc8..e194f40e 100644
--- a/docs/build/html/_version_history.html
+++ b/docs/build/html/_version_history.html
@@ -62,7 +62,7 @@ Prism¶
0.8.37¶
[BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
Index page shows time and date (implemented in 0.7.56)
Auto config test on startup, see settings.json (implemented in 0.7.64)
@@ -78,7 +78,7 @@ Lente¶
0.8.21¶
[BUGFIX] Fix/improve getting self IP address
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Station Management portal can remotely,
request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/lente_accounts.html b/docs/build/html/lente_accounts.html
index 4e46c259..0895f0af 100644
--- a/docs/build/html/lente_accounts.html
+++ b/docs/build/html/lente_accounts.html
@@ -49,7 +49,7 @@ Accounts
-
-
+
@@ -63,38 +63,36 @@ Accounts
Users¶
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role Enabled in order to login.
+A new User account must be set Active in order to login.
Roles¶
The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-
-Enabled¶
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add Enabled to the User for them to be able to login.
+
+Active¶
+Active is not a Role. It is a separate setting on the Account Management page.
+Without Active set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
Admin¶
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it’s good practice to have two Users with Admin role.
Account¶
@@ -105,23 +103,23 @@ OperatorPRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User cannot use Test Config menu.
+The User cannot use Test Configuration page.
ConfigMan¶
PRISM ONLY
-Allows the User to use the Test Config menu, which allows the user to pick which
+
Allows the User to use the Test Configuration page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer¶
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync¶
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync’d from Lente, your changes
+may edit the user on a Prism station, but if Users are sync’d from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
More on ServerSync TBD (link)
diff --git a/docs/build/html/lente_cloud.html b/docs/build/html/lente_cloud.html
index 389906a3..88f28302 100644
--- a/docs/build/html/lente_cloud.html
+++ b/docs/build/html/lente_cloud.html
@@ -112,7 +112,7 @@ Lente/Postgres On Ins
git clone https://github.com/sistemicorp/scripts.git
Settings.json¶
-Most of the security of the system is set by settings.json.
+Most of the security of the system is set by settings.json.
settings.json file is unique to each Prism/Lente in the deployment. It is common for multiple Prism computers sitting below Lente to have the same settings.json, assuming the settings are the same.
settings.json is edited/created when Prism/Lente computer is configured.
@@ -68,7 +68,7 @@Settings.json
Manifest Checking¶
-Enable Manifest checking in the settings.json. file.
+Enable Manifest checking in the settings.json. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files.
The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no
changes to the files it will use to test. The Manifest file itself is encrypted and cannot be viewed.
@@ -124,7 +124,7 @@ Postgres DB
Change the default password!
-Also remember to use the same password in settings.json.
+Also remember to use the same password in settings.json.
@@ -137,7 +137,7 @@ Postgres DB
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is “untrusted” and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. settings.json
+
With HTTPS the connection between Prism/Lente is now encrypted. settings.json
has prism_lente_pw which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
On deployed Prism/Lente computers the user account is presumed to be secure. The Ubuntu filesystem should
@@ -167,7 +167,7 @@
Postgres DB
Generate the cert/key file on each Prism/Lente computer.
-See the settings.json to enable HTTPS and set the Prism/Lente password.
+See the settings.json to enable HTTPS and set the Prism/Lente password.
In the browser, connect over HTTPs,
for Prism use https://127.0.0.1:6590
diff --git a/docs/build/html/_sources/_deployment.rst.txt b/docs/build/html/_sources/_deployment.rst.txt
index 6966b7a9..726797f2 100644
--- a/docs/build/html/_sources/_deployment.rst.txt
+++ b/docs/build/html/_sources/_deployment.rst.txt
@@ -2,7 +2,7 @@ Deployment
##########
Prism/Lente allows for various deployment strategies, and some diagrams
-are shown `here <_system.html#_system_arch>`__.
+are shown :ref:`here `.
Lente deployment depends on your dashboarding and Prism station management strategy.
A Lente station can manage Prism stations directly below it, in the connection
diff --git a/docs/build/html/_sources/_mes_integration.rst.txt b/docs/build/html/_sources/_mes_integration.rst.txt
index 58b89d59..a9c9f65e 100644
--- a/docs/build/html/_sources/_mes_integration.rst.txt
+++ b/docs/build/html/_sources/_mes_integration.rst.txt
@@ -1,3 +1,5 @@
+.. _mes-integration:
+
Manufacturing Execution System (MES) Integration
################################################
diff --git a/docs/build/html/_sources/_prodplan.rst.txt b/docs/build/html/_sources/_prodplan.rst.txt
index 71ea6f18..e0625646 100644
--- a/docs/build/html/_sources/_prodplan.rst.txt
+++ b/docs/build/html/_sources/_prodplan.rst.txt
@@ -181,7 +181,7 @@ Example script P00100_T0100_SmokeTests.scr,
"config": {
"result": "public.prism.result.ResultBaseKeysV1",
"fail_fast": false,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
diff --git a/docs/build/html/_sources/_security.rst.txt b/docs/build/html/_sources/_security.rst.txt
index fc2cfd61..7d2e6b18 100644
--- a/docs/build/html/_sources/_security.rst.txt
+++ b/docs/build/html/_sources/_security.rst.txt
@@ -13,7 +13,7 @@ until the system is operating correctly and only then able encryption and other
Settings.json
=============
-Most of the security of the system is set by `settings.json <_deployment.html#_Settings File>`__.
+Most of the security of the system is set by :ref:`settings.json `.
`settings.json` file is unique to each Prism/Lente in the deployment. It is common for
multiple Prism computers sitting below Lente to have the same `settings.json`, assuming the settings are the same.
@@ -29,7 +29,7 @@ Prism computers should remove the Lente section of the `settings.json` file.
Manifest Checking
=================
-Enable Manifest checking in the `settings.json <_deployment.html#_Settings File>`__. file.
+Enable Manifest checking in the :ref:`settings.json `. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files.
The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no
@@ -99,7 +99,7 @@ Postgres DB
* Change the default password!
- * Also remember to use the same password in `settings.json <_deployment.html#_Settings File>`__.
+ * Also remember to use the same password in :ref:`settings.json `.
.. _https:
@@ -116,7 +116,7 @@ These keys will still be using the same TLS protocol over the connection and are
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is "untrusted" and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. `settings.json <_deployment.html#_Settings File>`__
+With HTTPS the connection between Prism/Lente is now encrypted. :ref:`settings.json `
has `prism_lente_pw` which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
@@ -151,7 +151,7 @@ organization information, if desired.
* Generate the cert/key file on each Prism/Lente computer.
-* See the `settings.json <_deployment.html#_Settings File>`__ to enable HTTPS and set the Prism/Lente password.
+* See the :ref:`settings.json ` to enable HTTPS and set the Prism/Lente password.
* In the browser, connect over HTTPs,
* for Prism use `https://127.0.0.1:6590`
diff --git a/docs/build/html/_sources/_version_history.rst.txt b/docs/build/html/_sources/_version_history.rst.txt
index c17805a3..fc722a0b 100644
--- a/docs/build/html/_sources/_version_history.rst.txt
+++ b/docs/build/html/_sources/_version_history.rst.txt
@@ -36,7 +36,7 @@ Prism
~~~~~~
* [BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
* Index page shows time and date (implemented in 0.7.56)
* Auto config test on startup, see :ref:`settings.json ` (implemented in 0.7.64)
@@ -52,7 +52,7 @@ Lente
~~~~~~
* [BUGFIX] Fix/improve getting self IP address
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Station Management portal can remotely,
* request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/_sources/lente_accounts.rst.txt b/docs/build/html/_sources/lente_accounts.rst.txt
index e66d8f29..fdbbb671 100644
--- a/docs/build/html/_sources/lente_accounts.rst.txt
+++ b/docs/build/html/_sources/lente_accounts.rst.txt
@@ -14,11 +14,11 @@ Users
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A new User account must be set `Active` in order to login.
Roles
@@ -30,24 +30,23 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
+Active
+======
+
+`Active` is not a Role. It is a separate setting on the Account Management page.
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
+Without `Active` set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
@@ -56,7 +55,7 @@ Admin
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -71,27 +70,27 @@ PRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
PRISM ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync'd from Lente, your changes
+may edit the user on a Prism station, but if Users are sync'd from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
diff --git a/docs/build/html/_sources/lente_cloud.rst.txt b/docs/build/html/_sources/lente_cloud.rst.txt
index ccaeff7e..0e6a8f73 100644
--- a/docs/build/html/_sources/lente_cloud.rst.txt
+++ b/docs/build/html/_sources/lente_cloud.rst.txt
@@ -85,7 +85,7 @@ Run these commands to install `scripts`,
git clone https://github.com/sistemicorp/scripts.git
-Follow `these `__ instructions to start postgres server.
+Follow :ref:`these ` instructions to start postgres server.
Run the Lente start script
diff --git a/docs/build/html/_sources/lente_demo.rst.txt b/docs/build/html/_sources/lente_demo.rst.txt
index f318e97e..9a96d050 100644
--- a/docs/build/html/_sources/lente_demo.rst.txt
+++ b/docs/build/html/_sources/lente_demo.rst.txt
@@ -30,6 +30,8 @@ Requirements
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
+.. _lente-demo-postgres:
+
Postgres
********
diff --git a/docs/build/html/_sources/lente_main.rst.txt b/docs/build/html/_sources/lente_main.rst.txt
index 8acd1701..fab9c12d 100644
--- a/docs/build/html/_sources/lente_main.rst.txt
+++ b/docs/build/html/_sources/lente_main.rst.txt
@@ -3,7 +3,7 @@ Lente
Lente is a backend server that has two main functions.
-* dB (PostGres) interface
+* dB (Postgres) interface
* receives results from connected Prism computers
* stores test results into the dB
diff --git a/docs/build/html/_sources/lente_screenshots.rst.txt b/docs/build/html/_sources/lente_screenshots.rst.txt
index 56f421b3..39ebecde 100644
--- a/docs/build/html/_sources/lente_screenshots.rst.txt
+++ b/docs/build/html/_sources/lente_screenshots.rst.txt
@@ -3,49 +3,64 @@ Screenshots
Lente screenshots.
-Dashboard
-*********
-Lente provides two dashboards. The first shown here shows a historical summary of units tested, pass/fail and yield, over
-the previous week. The table below shows the currently active test stations, and their status.
+Result Analytics
+****************
-.. image:: static/Screenshot_lente_dashboard_02.png
+The Result Analytics dashboard is for detailed results analysis. Results shown graphically and in
+the table are filtered by the current state of the "Select/Date" filters.
-The second dashboard is for detailed results analysis. The important thing about this dashboard is that the results shown
-graphically or in the table are filtered by the current state of the "Select/Date" filters across the top of the dashboard.
+The dashboard has three views, selected by the tabs across the top,
-The graph is a view of the previous week's history of Pass/Fail/Yield numbers.
+* `Throughput & Yield` - history of Pass/Fail/Yield numbers
+* `Failure Pareto` - which tests are failing, ranked by how often
+* `Test Runtime` - where the test time is being spent
-The right table is each result. By selecting a result in this table, a new tab is opened with the result details.
+The `Results Summary` panel on the right totals the Pass/Fail/Yield for the current filter selection.
-The table on the bottom left counts the various types of Fail tests.
+The table below the filters is each result. By selecting a result in this table, a new tab is opened with the
+result details.
-.. image:: static/Screenshot_lente_dashboard_01.png
+The `Throughput & Yield` tab charts the units tested over time; Pass and Fail as stacked bars against the left
+axis, and Yield as a line against the right axis. The period selector sets the size of each bar, for
+example `Daily`. Use this to track production output and yield trend.
+.. image:: static/Screenshot_lente_throughput.png
-Station Management
-******************
+The `Failure Pareto` tab ranks the failing tests by quantity, and shows each as a percentage of the failed runs
+and of all runs. Use this to find which tests are costing you the most yield.
-Prism and Lente Station management console.
+.. image:: static/Screenshot_lente_pareto.png
-* View station stats
-* Take actions (Ping, Sync)
+The `Test Runtime` tab breaks down where the test time is being spent. Select the `Script` and the `Script Result`
+to report on. The table gives the average time of each test item and its percentage of the total, and the pie
+chart shows the same proportions. Use this to find which test items to optimize to reduce cycle time.
-.. image:: static/Screenshot_lente_dashboard_03.png
+.. image:: static/Screenshot_lente_runtime.png
-Account Management
-******************
+Station Manager
+***************
-User Summary
+Prism and Lente Station management console.
-.. image:: static/Screenshot_lente_dashboard_06.png
+* View station stats - version, scripts, backups, disk usage, the script running, active users, and last ping
+* Select stations and take actions - `Ping`, `Get Log`, `Restart`, `Sync Users`, `Sync Script`
+* `Station Logs` below lists station events, filtered by the Type/Computer/Version/Cause and date selections
+.. image:: static/Screenshot_lente_station_mgr.png
+
+
+Account Management
+******************
-Create Users
+A single page manages all of the Account Management features.
-.. image:: static/Screenshot_lente_dashboard_04.png
+The table at the top summarizes the Users; their email, whether they are Active, their Language, and their Roles.
+* `New Account` creates a User
+* Selecting a User in the table loads them into the editor below
-Edit User Roles
+The editor sets the User's Language, whether the account is `Active`, and which Roles they hold. `Set Password`
+sets the User's password. `Update` saves the changes, `Reset` discards them, and `Delete` removes the User.
-.. image:: static/Screenshot_lente_dashboard_05.png
\ No newline at end of file
+.. image:: static/Screenshot_lente_acct_mgt.png
\ No newline at end of file
diff --git a/docs/build/html/_sources/prism_accounts.rst.txt b/docs/build/html/_sources/prism_accounts.rst.txt
index 1328f787..c4518c76 100644
--- a/docs/build/html/_sources/prism_accounts.rst.txt
+++ b/docs/build/html/_sources/prism_accounts.rst.txt
@@ -20,7 +20,7 @@ Users need to have unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A User account must be set `Active` in order to login.
Roles
@@ -32,33 +32,24 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
-
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
-
-This allows you to disable a User without deleting their account.
Admin
=====
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -73,21 +64,21 @@ Prism ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
Prism ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
diff --git a/docs/build/html/_sources/prism_demo.rst.txt b/docs/build/html/_sources/prism_demo.rst.txt
index 4b7107b8..b24ae1d9 100644
--- a/docs/build/html/_sources/prism_demo.rst.txt
+++ b/docs/build/html/_sources/prism_demo.rst.txt
@@ -28,7 +28,7 @@ Requirements
* Google Chrome browser (other browsers are not tested)
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
- * Several instillation methods are described. The "convenience script" works well.
+ * Several installation methods are described. The "convenience script" works well.
::
@@ -94,13 +94,12 @@ Clone Sistemi Scripts
http://127.0.0.1:6590
- * **Do Not use the browser BACK button, always use the page controls for navigation**
* The Prism landing page should appear,
.. image:: static/Screenshot_prism_demo_2.png
-* Press the Login button (upper left corner)
+* Press the Login button (upper right corner)
* Prism login user/password is admin@here.com/password
* Other users passwords are `password`
@@ -111,16 +110,16 @@ Clone Sistemi Scripts
* In real production environment, the operator would scan a traveller to
configure Prism to test a product. Since this is a demo, we will select a
test manually.
- * Select button `Test Configuration` (1)
+ * Select the `Test Configuration` link in the left sidebar (1)
.. image:: static/Screenshot_prism_demo_1.png
* Run your first script after logging in,
- * Select Group select `Example` (1)
+ * Select Group select `example` (1)
* Select Script select `prod_0.scr` (2)
* Press button `Validate` (3)
- * If everything checked out, the `Start Testing` button will turn Green. (4)
+ * If everything checked out, the `Start Testing` button will become enabled, solid blue. (4)
* The script that will be run is shown (5)
.. image:: static/Screenshot_prism_demo_3.png
@@ -129,7 +128,7 @@ Clone Sistemi Scripts
.. image:: static/Screenshot_prism_demo_4.png
-* Press the `TEST` (1) button to begin the test.
+* Press the `START ALL` (1) button to begin the test.
* Logging from the test will be shown in the table (2).
* Historical stats of your testing will be shown in the plot (3).
* **Note:** Example tests have delays in them for demo effect.
@@ -138,13 +137,7 @@ Clone Sistemi Scripts
* the user will be shown buttons to press, any button will pass.
* the user will have to enter some text, any text will pass
-* this Demo shows only one active "Jig", if you want to display more,
-
- * Access the Main menu and select Demo (Main->Demo)
- * Change the number of "fake" jigs between 1-4.
- * Go back to the Main page (Menu->Main)
- * Repeat the steps above to re-run the demo test.
-
+* this Demo shows only one active "Jig". Up to eight jigs are supported.
* Prism can be stopped with this command,
diff --git a/docs/build/html/_sources/prism_drivers.rst.txt b/docs/build/html/_sources/prism_drivers.rst.txt
index 6b087e03..7c5a60fb 100644
--- a/docs/build/html/_sources/prism_drivers.rst.txt
+++ b/docs/build/html/_sources/prism_drivers.rst.txt
@@ -23,7 +23,7 @@ Prism will load/init each `driver` that is listed.
The python file specified *MUST* have a class called `HWDriver`. See the `fake` example for
implementation details and documentation.
-By convention, the driver filename has prefix is `hwdrv_.py`.
+By convention, the driver filename has the prefix `hwdrv_.py`.
The Drivers files are stored by convention in a separate path relative to scripts in order to isolate
them. `Drivers` are typically common to test multiple products.
@@ -72,7 +72,7 @@ Per the code documentation, `discover_channels` must return a dictionary with pr
1) The hw driver objects are expected to have an 'slot' field, the lowest
id is assigned to channel 0, the next highest to channel 1, etc
- :return: <#>, ,
+ :return: <#>, , (use Zero for a device shared across all channels)
where
#: >0 number of channels,
0 does not indicate num channels, like a shared hardware driver
@@ -87,7 +87,7 @@ Slot Number
-----------
When implementing python code to implement tests, there is a `channel (self.chan)` number and a `slot` number.
-The channel is how Prism indexes the running threads, usually from 0 to a max of 3. The slot number
+The channel is how Prism indexes the running threads, usually from 0 to a max of 7. The slot number
is a number used to setup configuration of the physical system.
diff --git a/docs/build/html/_sources/prism_programs.rst.txt b/docs/build/html/_sources/prism_programs.rst.txt
index ec6009a1..06b97033 100644
--- a/docs/build/html/_sources/prism_programs.rst.txt
+++ b/docs/build/html/_sources/prism_programs.rst.txt
@@ -8,7 +8,7 @@ A very minimalist ("hello world") (helloWorld.py) program file could look like t
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -40,7 +40,7 @@ And, a minimalist script file that uses this program code, could look like this,
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
@@ -72,11 +72,11 @@ Lets make some general comments about the above script/program before diving int
Program Class Structure
-----------------------
-Lets take a more detailed look at the program structrure,
+Lets take a more detailed look at the program structure,
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -91,7 +91,7 @@ Lets take a more detailed look at the program structrure,
self.logger = logging.getLogger("SC.{}.{}".format(__name__, self.chan))
def sayHello(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
self.log_bullet("Hello World!")
self.item_end() # always last line of test
@@ -115,7 +115,7 @@ methods
::
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
* The last line of every method is
@@ -128,7 +128,7 @@ methods
context
^^^^^^^
-* ``context`` is your programmatic view of the script, and retrieving it is the first line of every method
+* ``ctx`` (context) is your programmatic view of the script, and retrieving it is the first line of every method
* consider a little more complicated script,
::
@@ -141,12 +141,12 @@ context
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
- "module": "public.prims.scripts.my_product.helloWorld",
- "options": { "fail_fast": False, "myVar": "something" },
+ "module": "public.prism.scripts.my_product.helloWorld",
+ "options": { "fail_fast": false, "myVar": "something" },
"items": [
{"id": "sayHello"},
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
@@ -162,7 +162,7 @@ context
::
def TST000_Meas(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
print(ctx.item) # = {"id": "TST000", "enable": True, "args": {"min": 0, "max": 10}}
print(ctx.item.args) # = {"min": 0, "max": 10}
@@ -175,13 +175,13 @@ context
* in Python, you can do ``print(dir(ctx))`` to get a list of everything available to you
* When designing your test script and program structure, consider what user configurable variables you want to be
defined in the script ``args`` section and which you want in the program. Things like min/max limits may change
- overt he product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
+ over the product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
Everything Example
------------------
-Here is a fully documented program example that shows just about every feature of the Lente system. This
+Here is a fully documented program example that shows just about every feature of the Prism system. This
example program is distributed with the system, and may be more up to date than here, so please consult that example.
::
@@ -247,7 +247,7 @@ example program is distributed with the system, and may be more up to date than
# - ctx.record.fail_msg(msg)
# - add a fail message to the record
#
- # self.chan # this channel (0,1,2,3)
+ # self.chan # this channel (0-7)
#
# self.shared_state # instance of the shared state across all running test jigs
#
@@ -864,7 +864,7 @@ a "binning code" when a failure occurs.
The "binning mechanism" is provided by the ``fail`` field for the test item in the script. There is a list
of binning failure IDs (``fid``) with a corresponding ``msg`` for the user in the script. This is shown in the
-example ``TST000_Meas`` above. Repeated here.
+example ``TST001_Meas`` above. Repeated here.
Example Notes:
@@ -880,11 +880,11 @@ Example Notes:
::
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
- # fail: this is a list of 'fid' and 'msg' that get displayed and
- # recorded with the test record. The python code for this
- # test item assigns which item in the list best represents
- # the failure mode. This information is to assist repair.
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ // fail: this is a list of 'fid' and 'msg' that get displayed and
+ // recorded with the test record. The python code for this
+ // test item assigns which item in the list best represents
+ // the failure mode. This information is to assist repair.
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
@@ -892,12 +892,12 @@ Program code,
::
- def TST000_Meas(self):
+ def TST001_Meas(self):
""" Measurement example, with multiple failure messages
- example of taking multiple measurements, and sending as a list of results
- if any test fails, this test item fails
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
"""
diff --git a/docs/build/html/_sources/prism_screenshots.rst.txt b/docs/build/html/_sources/prism_screenshots.rst.txt
index cc667567..4bc7b9f6 100644
--- a/docs/build/html/_sources/prism_screenshots.rst.txt
+++ b/docs/build/html/_sources/prism_screenshots.rst.txt
@@ -7,24 +7,24 @@ Title Page
.. image:: static/Screenshot_title_01.png
-Main view
-*********
+Scan Traveller page
+*******************
After the User has logged in, they may scan a traveller to configure Prism testing, or
-use the Test Configuration button to access scripts manually.
+use the Test Configuration page to access scripts manually.
-.. image:: static/Screenshot_main_01.png
+.. image:: static/Screenshot_prism_scan_traveller.png
-Test Config view
-****************
+Test Configuration page
+***********************
Simple (No Variables) Script
============================
-* A pull down dialog box allows the user to pick which script to run
+* Pull down selections allow the user to pick the script group, and then which script in that group to run
* The script is shown on the left. The script cannot be modified with this `Prism` view
-* The script is a JSON format text file, with the exception that lines begining with `#` are comment lines
+* The script is a JSON format text file, with the exception that lines beginning with `//` are comment lines
* This script example has no user configurable variables
.. image:: static/Screenshot_test_config_01.png
@@ -41,11 +41,12 @@ Variables Script
.. image:: static/Screenshot_test_config_02.png
-Test View
-*********
+Test Portal
+***********
* The result after 4 channels of the demo script have finished
* For each channel a log table is shown
+* Historical stats of your testing are shown in the plot on the left
.. image:: static/Screenshot_test_01.png
diff --git a/docs/build/html/_sources/prism_scripts.rst.txt b/docs/build/html/_sources/prism_scripts.rst.txt
index e6fae604..9cd7559c 100644
--- a/docs/build/html/_sources/prism_scripts.rst.txt
+++ b/docs/build/html/_sources/prism_scripts.rst.txt
@@ -9,7 +9,7 @@ Scripts
* JSON is used so that non-programmers may be able to read/edit [1]_ the script without requiring a
programming background. This is useful in development or emergency situations.
-* extend JSON a little bit, by allowing comments, any line begining with `//` is a comment. This allows
+* extend JSON a little bit, by allowing comments, any line beginning with `//` is a comment. This allows
the script to be documented
The ``script`` has the following sections,
@@ -38,7 +38,7 @@ In a production environment, operators are not typically allowed to arbitrarily
limits or any other setup. However, in an engineering lab, or new product ramp environment, having an easy method
to change some parameters might be useful. This feature does not have to be used.
-Only (logged in) users with a certain role privileges can access `Test Config`, and thus access to GUI controls that
+Only (logged in) users with a certain role privileges can access the `Test Configuration` page, and thus access to GUI controls that
use the `subs` feature. Otherwise `subs` are used to create a `Traveller`, which stores the `subs` used.
`subs` are useful for generating :ref:`prism_travellers:Travellers`.
@@ -54,7 +54,8 @@ Here is a full example of what `subs` section could look like (taken from exampl
// "type" : "",
// "widget": "",
// "regex": <"regex">, // only for widget == textinput,
- // when regex is satisfied widget turns green
+ // the field is valid when the regex is satisfied;
+ // Start Testing enables once all fields are valid
// "choices": [, , ...], // only for widget == select
// "default": ,
// "subs": // inner dependant subs
@@ -87,6 +88,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
"title": "TST000_Meas Enable",
"type" : "str", "widget": "select", "choices": ["true", "false"]
}
+ },
// and how it looks in the test item,
{"id": "TST000_Meas", "enable": "%%TST000Enable", "args": {"min": "%%TST000Min", "max": "%%TST000Max"}},
@@ -103,7 +105,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``title``
-* this is the title of the field to be presented to the Operator in the Test Config view
+* this is the title of the field to be presented to the Operator in the Test Configuration page
* if there is a specific format of the variable expected, that should be indicated in the ``title``
``type``
@@ -113,7 +115,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``widget``
-* the type of GUI widget to present to the Operator in the Test Config view
+* the type of GUI widget to present to the Operator in the Test Configuration page
* `textinput` is a generic text input box, which will be populated by the ``default`` field
* `select` is a drop down selection menu
@@ -142,11 +144,11 @@ This section is a list of fields that correspond to fields that exist in the bac
used for database searches.
You cannot add or delete fields from this section. If there are missing fields, an error will occur downstream as the
-result record is check to have these fields. New fields can be added, but that requires a request to customize
+result record is checked to have these fields. New fields can be added, but that requires a request to customize
the backend database. See TBD.
Note that the example here, two fields are using the `subs` section to get their values from the Operator
-in the Test Config view.
+in the Test Configuration page.
::
@@ -181,7 +183,7 @@ This section sets required variables that Prism uses to drive the test script.
"config": {
"fail_fast": true,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
@@ -193,8 +195,8 @@ This section sets required variables that Prism uses to drive the test script.
* it is recommended ``fail_fast`` be set to `true`.
* Often tests are interdependent, and if one test fails, it often means other tests will fail that depended on
- that particular function. What happens then is a cascade of failed tests which my might obscure the root failure.
- * If tests are mutually exclusive, it may be advantages to set ``fail_fast`` to `false`.
+ that particular function. What happens then is a cascade of failed tests which might obscure the root failure.
+ * If tests are mutually exclusive, it may be advantageous to set ``fail_fast`` to `false`.
``drivers``
@@ -221,7 +223,7 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
"tests": [
{
- "module": "public.prism.scripts.prod_v0.tst00xx",
+ "module": "public.prism.scripts.example.prod_v0.tst00xx",
"options": {
"fail_fast": false
// add more key/value as required
@@ -231,8 +233,8 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": "%%TST000Max"},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
- {"id": "TST001_Skip", "enable": false },
- {"id": "TST0xxTRDN", "enable": true }
+ {"id": "TST002_Skip", "enable": false },
+ {"id": "TST0xxTEARDOWN", "enable": true }
]
}
]
diff --git a/docs/build/html/_sources/prism_travellers.rst.txt b/docs/build/html/_sources/prism_travellers.rst.txt
index 662bc703..b1b249b0 100644
--- a/docs/build/html/_sources/prism_travellers.rst.txt
+++ b/docs/build/html/_sources/prism_travellers.rst.txt
@@ -1,14 +1,14 @@
Travellers
##########
-Travellers are 2D bar codes printed on paper than can configure Prism
+Travellers are 2D bar codes printed on paper that can configure Prism
to run a script with certain substitution parameters. Travellers are used to simplify
setting up and operating Prism by any User (operator).
Travellers can only be created by users with the :ref:`prism_accounts:ConfigMan` role.
-The image below shows the `Test Config` view, a script has been selected and
-the parameters selected, at this point the `Traveller` button turns Green
+The image below shows the `Test Configuration` page, a script has been selected and
+the parameters selected, at this point the `Create Traveller` button becomes enabled
indicating it can now be pressed.
.. image:: static/Screenshot_traveller_01.png
@@ -30,7 +30,7 @@ Scanning
********
Travellers are scanned by the operator using most any bar code scanner set
-to emulate the keyboard. After the Operator logs in the Prism waits for a scan,
+to emulate the keyboard. After the Operator logs in Prism waits for a scan,
.. image:: static/Screenshot_traveller_03.png
@@ -38,7 +38,8 @@ Once the image is scanned the system will validate and then move to the Test Por
where testing can start.
Note that Operator sign in Roles can be changed such that the Operator cannot access the
-Test Configuration or other menu options.
+Test Configuration page, or other restricted pages. The menu options remain visible to the
+Operator, however the pages themselves enforce the access restrictions.
User Content
@@ -65,7 +66,7 @@ For example see `public/prism/scripts/example/prod_v0/prod_0.scr`,
Auto Load Traveller
*******************
-The `settings.json <_deployment.html#_Settings File>`__ can specify a traveller that is automatically loaded when
+The :ref:`settings.json ` can specify a traveller that is automatically loaded when
Prism boots up and the indicated user logs in.
::
diff --git a/docs/build/html/_static/Screenshot_lente_acct_mgt.png b/docs/build/html/_static/Screenshot_lente_acct_mgt.png
new file mode 100644
index 00000000..f99a7f39
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_acct_mgt.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_01.png b/docs/build/html/_static/Screenshot_lente_dashboard_01.png
deleted file mode 100644
index fe8ae1b0..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_02.png b/docs/build/html/_static/Screenshot_lente_dashboard_02.png
deleted file mode 100644
index de8826de..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_02.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_03.png b/docs/build/html/_static/Screenshot_lente_dashboard_03.png
deleted file mode 100644
index 01df70cc..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_03.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_04.png b/docs/build/html/_static/Screenshot_lente_dashboard_04.png
deleted file mode 100644
index 6fdfa7ac..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_04.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_05.png b/docs/build/html/_static/Screenshot_lente_dashboard_05.png
deleted file mode 100644
index fc1027a1..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_05.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_06.png b/docs/build/html/_static/Screenshot_lente_dashboard_06.png
deleted file mode 100644
index 51c5c785..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_06.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_pareto.png b/docs/build/html/_static/Screenshot_lente_pareto.png
new file mode 100644
index 00000000..e221b249
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_pareto.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_runtime.png b/docs/build/html/_static/Screenshot_lente_runtime.png
new file mode 100644
index 00000000..521d6056
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_runtime.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_station_mgr.png b/docs/build/html/_static/Screenshot_lente_station_mgr.png
new file mode 100644
index 00000000..b95e030b
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_station_mgr.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_throughput.png b/docs/build/html/_static/Screenshot_lente_throughput.png
new file mode 100644
index 00000000..b2177c3c
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_throughput.png differ
diff --git a/docs/build/html/_static/Screenshot_main_01.png b/docs/build/html/_static/Screenshot_main_01.png
deleted file mode 100644
index 7fbfd327..00000000
Binary files a/docs/build/html/_static/Screenshot_main_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_1.png b/docs/build/html/_static/Screenshot_prism_demo_1.png
index a127b7ae..5355c788 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_1.png and b/docs/build/html/_static/Screenshot_prism_demo_1.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_2.png b/docs/build/html/_static/Screenshot_prism_demo_2.png
index 9a44b9a5..c03e1bf3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_2.png and b/docs/build/html/_static/Screenshot_prism_demo_2.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_3.png b/docs/build/html/_static/Screenshot_prism_demo_3.png
index 081fccca..40bac9e0 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_3.png and b/docs/build/html/_static/Screenshot_prism_demo_3.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_4.png b/docs/build/html/_static/Screenshot_prism_demo_4.png
index 88230a4e..6e382da3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_4.png and b/docs/build/html/_static/Screenshot_prism_demo_4.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_scan_traveller.png b/docs/build/html/_static/Screenshot_prism_scan_traveller.png
new file mode 100644
index 00000000..9e2e3923
Binary files /dev/null and b/docs/build/html/_static/Screenshot_prism_scan_traveller.png differ
diff --git a/docs/build/html/_static/Screenshot_test_01.png b/docs/build/html/_static/Screenshot_test_01.png
index 82a8be8d..d0102ee4 100644
Binary files a/docs/build/html/_static/Screenshot_test_01.png and b/docs/build/html/_static/Screenshot_test_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_01.png b/docs/build/html/_static/Screenshot_test_config_01.png
index 3366d094..6d29f579 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_01.png and b/docs/build/html/_static/Screenshot_test_config_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_02.png b/docs/build/html/_static/Screenshot_test_config_02.png
index 0b2c8fd3..1ddc6ed1 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_02.png and b/docs/build/html/_static/Screenshot_test_config_02.png differ
diff --git a/docs/build/html/_static/Screenshot_title_01.png b/docs/build/html/_static/Screenshot_title_01.png
index ea94771a..0d610504 100644
Binary files a/docs/build/html/_static/Screenshot_title_01.png and b/docs/build/html/_static/Screenshot_title_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_01.png b/docs/build/html/_static/Screenshot_traveller_01.png
index 6dad3ada..eac65b82 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_01.png and b/docs/build/html/_static/Screenshot_traveller_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_02.png b/docs/build/html/_static/Screenshot_traveller_02.png
index 9013c83c..d860c159 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_02.png and b/docs/build/html/_static/Screenshot_traveller_02.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_03.png b/docs/build/html/_static/Screenshot_traveller_03.png
index b4838814..284f102f 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_03.png and b/docs/build/html/_static/Screenshot_traveller_03.png differ
diff --git a/docs/build/html/_static/lente_main_01.png b/docs/build/html/_static/lente_main_01.png
index 4d200038..7a1555d6 100644
Binary files a/docs/build/html/_static/lente_main_01.png and b/docs/build/html/_static/lente_main_01.png differ
diff --git a/docs/build/html/_version_history.html b/docs/build/html/_version_history.html
index 22dc3cc8..e194f40e 100644
--- a/docs/build/html/_version_history.html
+++ b/docs/build/html/_version_history.html
@@ -62,7 +62,7 @@ Prism¶
0.8.37¶
[BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
Index page shows time and date (implemented in 0.7.56)
Auto config test on startup, see settings.json (implemented in 0.7.64)
@@ -78,7 +78,7 @@ Lente¶
0.8.21¶
[BUGFIX] Fix/improve getting self IP address
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Station Management portal can remotely,
request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/lente_accounts.html b/docs/build/html/lente_accounts.html
index 4e46c259..0895f0af 100644
--- a/docs/build/html/lente_accounts.html
+++ b/docs/build/html/lente_accounts.html
@@ -49,7 +49,7 @@ Accounts
-
-
+
@@ -63,38 +63,36 @@ Accounts
Users¶
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role Enabled in order to login.
+A new User account must be set Active in order to login.
Roles¶
The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-
-Enabled¶
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add Enabled to the User for them to be able to login.
+
+Active¶
+Active is not a Role. It is a separate setting on the Account Management page.
+Without Active set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
Admin¶
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it’s good practice to have two Users with Admin role.
Account¶
@@ -105,23 +103,23 @@ OperatorPRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User cannot use Test Config menu.
+The User cannot use Test Configuration page.
ConfigMan¶
PRISM ONLY
-Allows the User to use the Test Config menu, which allows the user to pick which
+
Allows the User to use the Test Configuration page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer¶
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync¶
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync’d from Lente, your changes
+may edit the user on a Prism station, but if Users are sync’d from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
More on ServerSync TBD (link)
diff --git a/docs/build/html/lente_cloud.html b/docs/build/html/lente_cloud.html
index 389906a3..88f28302 100644
--- a/docs/build/html/lente_cloud.html
+++ b/docs/build/html/lente_cloud.html
@@ -112,7 +112,7 @@ Lente/Postgres On Ins
git clone https://github.com/sistemicorp/scripts.git
Manifest Checking¶
-Enable Manifest checking in the settings.json. file.
+Enable Manifest checking in the settings.json. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files. The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no changes to the files it will use to test. The Manifest file itself is encrypted and cannot be viewed.
@@ -124,7 +124,7 @@Postgres DB
Change the default password!
-Also remember to use the same password in settings.json.
+Also remember to use the same password in settings.json.
@@ -137,7 +137,7 @@ Postgres DB
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is “untrusted” and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. settings.json
+
With HTTPS the connection between Prism/Lente is now encrypted. settings.json
has prism_lente_pw which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
On deployed Prism/Lente computers the user account is presumed to be secure. The Ubuntu filesystem should
@@ -167,7 +167,7 @@
Postgres DB
Generate the cert/key file on each Prism/Lente computer.
-See the settings.json to enable HTTPS and set the Prism/Lente password.
+See the settings.json to enable HTTPS and set the Prism/Lente password.
In the browser, connect over HTTPs,
for Prism use https://127.0.0.1:6590
diff --git a/docs/build/html/_sources/_deployment.rst.txt b/docs/build/html/_sources/_deployment.rst.txt
index 6966b7a9..726797f2 100644
--- a/docs/build/html/_sources/_deployment.rst.txt
+++ b/docs/build/html/_sources/_deployment.rst.txt
@@ -2,7 +2,7 @@ Deployment
##########
Prism/Lente allows for various deployment strategies, and some diagrams
-are shown `here <_system.html#_system_arch>`__.
+are shown :ref:`here `.
Lente deployment depends on your dashboarding and Prism station management strategy.
A Lente station can manage Prism stations directly below it, in the connection
diff --git a/docs/build/html/_sources/_mes_integration.rst.txt b/docs/build/html/_sources/_mes_integration.rst.txt
index 58b89d59..a9c9f65e 100644
--- a/docs/build/html/_sources/_mes_integration.rst.txt
+++ b/docs/build/html/_sources/_mes_integration.rst.txt
@@ -1,3 +1,5 @@
+.. _mes-integration:
+
Manufacturing Execution System (MES) Integration
################################################
diff --git a/docs/build/html/_sources/_prodplan.rst.txt b/docs/build/html/_sources/_prodplan.rst.txt
index 71ea6f18..e0625646 100644
--- a/docs/build/html/_sources/_prodplan.rst.txt
+++ b/docs/build/html/_sources/_prodplan.rst.txt
@@ -181,7 +181,7 @@ Example script P00100_T0100_SmokeTests.scr,
"config": {
"result": "public.prism.result.ResultBaseKeysV1",
"fail_fast": false,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
diff --git a/docs/build/html/_sources/_security.rst.txt b/docs/build/html/_sources/_security.rst.txt
index fc2cfd61..7d2e6b18 100644
--- a/docs/build/html/_sources/_security.rst.txt
+++ b/docs/build/html/_sources/_security.rst.txt
@@ -13,7 +13,7 @@ until the system is operating correctly and only then able encryption and other
Settings.json
=============
-Most of the security of the system is set by `settings.json <_deployment.html#_Settings File>`__.
+Most of the security of the system is set by :ref:`settings.json `.
`settings.json` file is unique to each Prism/Lente in the deployment. It is common for
multiple Prism computers sitting below Lente to have the same `settings.json`, assuming the settings are the same.
@@ -29,7 +29,7 @@ Prism computers should remove the Lente section of the `settings.json` file.
Manifest Checking
=================
-Enable Manifest checking in the `settings.json <_deployment.html#_Settings File>`__. file.
+Enable Manifest checking in the :ref:`settings.json `. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files.
The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no
@@ -99,7 +99,7 @@ Postgres DB
* Change the default password!
- * Also remember to use the same password in `settings.json <_deployment.html#_Settings File>`__.
+ * Also remember to use the same password in :ref:`settings.json `.
.. _https:
@@ -116,7 +116,7 @@ These keys will still be using the same TLS protocol over the connection and are
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is "untrusted" and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. `settings.json <_deployment.html#_Settings File>`__
+With HTTPS the connection between Prism/Lente is now encrypted. :ref:`settings.json `
has `prism_lente_pw` which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
@@ -151,7 +151,7 @@ organization information, if desired.
* Generate the cert/key file on each Prism/Lente computer.
-* See the `settings.json <_deployment.html#_Settings File>`__ to enable HTTPS and set the Prism/Lente password.
+* See the :ref:`settings.json ` to enable HTTPS and set the Prism/Lente password.
* In the browser, connect over HTTPs,
* for Prism use `https://127.0.0.1:6590`
diff --git a/docs/build/html/_sources/_version_history.rst.txt b/docs/build/html/_sources/_version_history.rst.txt
index c17805a3..fc722a0b 100644
--- a/docs/build/html/_sources/_version_history.rst.txt
+++ b/docs/build/html/_sources/_version_history.rst.txt
@@ -36,7 +36,7 @@ Prism
~~~~~~
* [BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
* Index page shows time and date (implemented in 0.7.56)
* Auto config test on startup, see :ref:`settings.json ` (implemented in 0.7.64)
@@ -52,7 +52,7 @@ Lente
~~~~~~
* [BUGFIX] Fix/improve getting self IP address
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Station Management portal can remotely,
* request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/_sources/lente_accounts.rst.txt b/docs/build/html/_sources/lente_accounts.rst.txt
index e66d8f29..fdbbb671 100644
--- a/docs/build/html/_sources/lente_accounts.rst.txt
+++ b/docs/build/html/_sources/lente_accounts.rst.txt
@@ -14,11 +14,11 @@ Users
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A new User account must be set `Active` in order to login.
Roles
@@ -30,24 +30,23 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
+Active
+======
+
+`Active` is not a Role. It is a separate setting on the Account Management page.
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
+Without `Active` set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
@@ -56,7 +55,7 @@ Admin
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -71,27 +70,27 @@ PRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
PRISM ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync'd from Lente, your changes
+may edit the user on a Prism station, but if Users are sync'd from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
diff --git a/docs/build/html/_sources/lente_cloud.rst.txt b/docs/build/html/_sources/lente_cloud.rst.txt
index ccaeff7e..0e6a8f73 100644
--- a/docs/build/html/_sources/lente_cloud.rst.txt
+++ b/docs/build/html/_sources/lente_cloud.rst.txt
@@ -85,7 +85,7 @@ Run these commands to install `scripts`,
git clone https://github.com/sistemicorp/scripts.git
-Follow `these `__ instructions to start postgres server.
+Follow :ref:`these ` instructions to start postgres server.
Run the Lente start script
diff --git a/docs/build/html/_sources/lente_demo.rst.txt b/docs/build/html/_sources/lente_demo.rst.txt
index f318e97e..9a96d050 100644
--- a/docs/build/html/_sources/lente_demo.rst.txt
+++ b/docs/build/html/_sources/lente_demo.rst.txt
@@ -30,6 +30,8 @@ Requirements
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
+.. _lente-demo-postgres:
+
Postgres
********
diff --git a/docs/build/html/_sources/lente_main.rst.txt b/docs/build/html/_sources/lente_main.rst.txt
index 8acd1701..fab9c12d 100644
--- a/docs/build/html/_sources/lente_main.rst.txt
+++ b/docs/build/html/_sources/lente_main.rst.txt
@@ -3,7 +3,7 @@ Lente
Lente is a backend server that has two main functions.
-* dB (PostGres) interface
+* dB (Postgres) interface
* receives results from connected Prism computers
* stores test results into the dB
diff --git a/docs/build/html/_sources/lente_screenshots.rst.txt b/docs/build/html/_sources/lente_screenshots.rst.txt
index 56f421b3..39ebecde 100644
--- a/docs/build/html/_sources/lente_screenshots.rst.txt
+++ b/docs/build/html/_sources/lente_screenshots.rst.txt
@@ -3,49 +3,64 @@ Screenshots
Lente screenshots.
-Dashboard
-*********
-Lente provides two dashboards. The first shown here shows a historical summary of units tested, pass/fail and yield, over
-the previous week. The table below shows the currently active test stations, and their status.
+Result Analytics
+****************
-.. image:: static/Screenshot_lente_dashboard_02.png
+The Result Analytics dashboard is for detailed results analysis. Results shown graphically and in
+the table are filtered by the current state of the "Select/Date" filters.
-The second dashboard is for detailed results analysis. The important thing about this dashboard is that the results shown
-graphically or in the table are filtered by the current state of the "Select/Date" filters across the top of the dashboard.
+The dashboard has three views, selected by the tabs across the top,
-The graph is a view of the previous week's history of Pass/Fail/Yield numbers.
+* `Throughput & Yield` - history of Pass/Fail/Yield numbers
+* `Failure Pareto` - which tests are failing, ranked by how often
+* `Test Runtime` - where the test time is being spent
-The right table is each result. By selecting a result in this table, a new tab is opened with the result details.
+The `Results Summary` panel on the right totals the Pass/Fail/Yield for the current filter selection.
-The table on the bottom left counts the various types of Fail tests.
+The table below the filters is each result. By selecting a result in this table, a new tab is opened with the
+result details.
-.. image:: static/Screenshot_lente_dashboard_01.png
+The `Throughput & Yield` tab charts the units tested over time; Pass and Fail as stacked bars against the left
+axis, and Yield as a line against the right axis. The period selector sets the size of each bar, for
+example `Daily`. Use this to track production output and yield trend.
+.. image:: static/Screenshot_lente_throughput.png
-Station Management
-******************
+The `Failure Pareto` tab ranks the failing tests by quantity, and shows each as a percentage of the failed runs
+and of all runs. Use this to find which tests are costing you the most yield.
-Prism and Lente Station management console.
+.. image:: static/Screenshot_lente_pareto.png
-* View station stats
-* Take actions (Ping, Sync)
+The `Test Runtime` tab breaks down where the test time is being spent. Select the `Script` and the `Script Result`
+to report on. The table gives the average time of each test item and its percentage of the total, and the pie
+chart shows the same proportions. Use this to find which test items to optimize to reduce cycle time.
-.. image:: static/Screenshot_lente_dashboard_03.png
+.. image:: static/Screenshot_lente_runtime.png
-Account Management
-******************
+Station Manager
+***************
-User Summary
+Prism and Lente Station management console.
-.. image:: static/Screenshot_lente_dashboard_06.png
+* View station stats - version, scripts, backups, disk usage, the script running, active users, and last ping
+* Select stations and take actions - `Ping`, `Get Log`, `Restart`, `Sync Users`, `Sync Script`
+* `Station Logs` below lists station events, filtered by the Type/Computer/Version/Cause and date selections
+.. image:: static/Screenshot_lente_station_mgr.png
+
+
+Account Management
+******************
-Create Users
+A single page manages all of the Account Management features.
-.. image:: static/Screenshot_lente_dashboard_04.png
+The table at the top summarizes the Users; their email, whether they are Active, their Language, and their Roles.
+* `New Account` creates a User
+* Selecting a User in the table loads them into the editor below
-Edit User Roles
+The editor sets the User's Language, whether the account is `Active`, and which Roles they hold. `Set Password`
+sets the User's password. `Update` saves the changes, `Reset` discards them, and `Delete` removes the User.
-.. image:: static/Screenshot_lente_dashboard_05.png
\ No newline at end of file
+.. image:: static/Screenshot_lente_acct_mgt.png
\ No newline at end of file
diff --git a/docs/build/html/_sources/prism_accounts.rst.txt b/docs/build/html/_sources/prism_accounts.rst.txt
index 1328f787..c4518c76 100644
--- a/docs/build/html/_sources/prism_accounts.rst.txt
+++ b/docs/build/html/_sources/prism_accounts.rst.txt
@@ -20,7 +20,7 @@ Users need to have unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A User account must be set `Active` in order to login.
Roles
@@ -32,33 +32,24 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
-
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
-
-This allows you to disable a User without deleting their account.
Admin
=====
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -73,21 +64,21 @@ Prism ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
Prism ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
diff --git a/docs/build/html/_sources/prism_demo.rst.txt b/docs/build/html/_sources/prism_demo.rst.txt
index 4b7107b8..b24ae1d9 100644
--- a/docs/build/html/_sources/prism_demo.rst.txt
+++ b/docs/build/html/_sources/prism_demo.rst.txt
@@ -28,7 +28,7 @@ Requirements
* Google Chrome browser (other browsers are not tested)
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
- * Several instillation methods are described. The "convenience script" works well.
+ * Several installation methods are described. The "convenience script" works well.
::
@@ -94,13 +94,12 @@ Clone Sistemi Scripts
http://127.0.0.1:6590
- * **Do Not use the browser BACK button, always use the page controls for navigation**
* The Prism landing page should appear,
.. image:: static/Screenshot_prism_demo_2.png
-* Press the Login button (upper left corner)
+* Press the Login button (upper right corner)
* Prism login user/password is admin@here.com/password
* Other users passwords are `password`
@@ -111,16 +110,16 @@ Clone Sistemi Scripts
* In real production environment, the operator would scan a traveller to
configure Prism to test a product. Since this is a demo, we will select a
test manually.
- * Select button `Test Configuration` (1)
+ * Select the `Test Configuration` link in the left sidebar (1)
.. image:: static/Screenshot_prism_demo_1.png
* Run your first script after logging in,
- * Select Group select `Example` (1)
+ * Select Group select `example` (1)
* Select Script select `prod_0.scr` (2)
* Press button `Validate` (3)
- * If everything checked out, the `Start Testing` button will turn Green. (4)
+ * If everything checked out, the `Start Testing` button will become enabled, solid blue. (4)
* The script that will be run is shown (5)
.. image:: static/Screenshot_prism_demo_3.png
@@ -129,7 +128,7 @@ Clone Sistemi Scripts
.. image:: static/Screenshot_prism_demo_4.png
-* Press the `TEST` (1) button to begin the test.
+* Press the `START ALL` (1) button to begin the test.
* Logging from the test will be shown in the table (2).
* Historical stats of your testing will be shown in the plot (3).
* **Note:** Example tests have delays in them for demo effect.
@@ -138,13 +137,7 @@ Clone Sistemi Scripts
* the user will be shown buttons to press, any button will pass.
* the user will have to enter some text, any text will pass
-* this Demo shows only one active "Jig", if you want to display more,
-
- * Access the Main menu and select Demo (Main->Demo)
- * Change the number of "fake" jigs between 1-4.
- * Go back to the Main page (Menu->Main)
- * Repeat the steps above to re-run the demo test.
-
+* this Demo shows only one active "Jig". Up to eight jigs are supported.
* Prism can be stopped with this command,
diff --git a/docs/build/html/_sources/prism_drivers.rst.txt b/docs/build/html/_sources/prism_drivers.rst.txt
index 6b087e03..7c5a60fb 100644
--- a/docs/build/html/_sources/prism_drivers.rst.txt
+++ b/docs/build/html/_sources/prism_drivers.rst.txt
@@ -23,7 +23,7 @@ Prism will load/init each `driver` that is listed.
The python file specified *MUST* have a class called `HWDriver`. See the `fake` example for
implementation details and documentation.
-By convention, the driver filename has prefix is `hwdrv_.py`.
+By convention, the driver filename has the prefix `hwdrv_.py`.
The Drivers files are stored by convention in a separate path relative to scripts in order to isolate
them. `Drivers` are typically common to test multiple products.
@@ -72,7 +72,7 @@ Per the code documentation, `discover_channels` must return a dictionary with pr
1) The hw driver objects are expected to have an 'slot' field, the lowest
id is assigned to channel 0, the next highest to channel 1, etc
- :return: <#>, ,
+ :return: <#>, , (use Zero for a device shared across all channels)
where
#: >0 number of channels,
0 does not indicate num channels, like a shared hardware driver
@@ -87,7 +87,7 @@ Slot Number
-----------
When implementing python code to implement tests, there is a `channel (self.chan)` number and a `slot` number.
-The channel is how Prism indexes the running threads, usually from 0 to a max of 3. The slot number
+The channel is how Prism indexes the running threads, usually from 0 to a max of 7. The slot number
is a number used to setup configuration of the physical system.
diff --git a/docs/build/html/_sources/prism_programs.rst.txt b/docs/build/html/_sources/prism_programs.rst.txt
index ec6009a1..06b97033 100644
--- a/docs/build/html/_sources/prism_programs.rst.txt
+++ b/docs/build/html/_sources/prism_programs.rst.txt
@@ -8,7 +8,7 @@ A very minimalist ("hello world") (helloWorld.py) program file could look like t
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -40,7 +40,7 @@ And, a minimalist script file that uses this program code, could look like this,
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
@@ -72,11 +72,11 @@ Lets make some general comments about the above script/program before diving int
Program Class Structure
-----------------------
-Lets take a more detailed look at the program structrure,
+Lets take a more detailed look at the program structure,
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -91,7 +91,7 @@ Lets take a more detailed look at the program structrure,
self.logger = logging.getLogger("SC.{}.{}".format(__name__, self.chan))
def sayHello(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
self.log_bullet("Hello World!")
self.item_end() # always last line of test
@@ -115,7 +115,7 @@ methods
::
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
* The last line of every method is
@@ -128,7 +128,7 @@ methods
context
^^^^^^^
-* ``context`` is your programmatic view of the script, and retrieving it is the first line of every method
+* ``ctx`` (context) is your programmatic view of the script, and retrieving it is the first line of every method
* consider a little more complicated script,
::
@@ -141,12 +141,12 @@ context
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
- "module": "public.prims.scripts.my_product.helloWorld",
- "options": { "fail_fast": False, "myVar": "something" },
+ "module": "public.prism.scripts.my_product.helloWorld",
+ "options": { "fail_fast": false, "myVar": "something" },
"items": [
{"id": "sayHello"},
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
@@ -162,7 +162,7 @@ context
::
def TST000_Meas(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
print(ctx.item) # = {"id": "TST000", "enable": True, "args": {"min": 0, "max": 10}}
print(ctx.item.args) # = {"min": 0, "max": 10}
@@ -175,13 +175,13 @@ context
* in Python, you can do ``print(dir(ctx))`` to get a list of everything available to you
* When designing your test script and program structure, consider what user configurable variables you want to be
defined in the script ``args`` section and which you want in the program. Things like min/max limits may change
- overt he product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
+ over the product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
Everything Example
------------------
-Here is a fully documented program example that shows just about every feature of the Lente system. This
+Here is a fully documented program example that shows just about every feature of the Prism system. This
example program is distributed with the system, and may be more up to date than here, so please consult that example.
::
@@ -247,7 +247,7 @@ example program is distributed with the system, and may be more up to date than
# - ctx.record.fail_msg(msg)
# - add a fail message to the record
#
- # self.chan # this channel (0,1,2,3)
+ # self.chan # this channel (0-7)
#
# self.shared_state # instance of the shared state across all running test jigs
#
@@ -864,7 +864,7 @@ a "binning code" when a failure occurs.
The "binning mechanism" is provided by the ``fail`` field for the test item in the script. There is a list
of binning failure IDs (``fid``) with a corresponding ``msg`` for the user in the script. This is shown in the
-example ``TST000_Meas`` above. Repeated here.
+example ``TST001_Meas`` above. Repeated here.
Example Notes:
@@ -880,11 +880,11 @@ Example Notes:
::
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
- # fail: this is a list of 'fid' and 'msg' that get displayed and
- # recorded with the test record. The python code for this
- # test item assigns which item in the list best represents
- # the failure mode. This information is to assist repair.
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ // fail: this is a list of 'fid' and 'msg' that get displayed and
+ // recorded with the test record. The python code for this
+ // test item assigns which item in the list best represents
+ // the failure mode. This information is to assist repair.
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
@@ -892,12 +892,12 @@ Program code,
::
- def TST000_Meas(self):
+ def TST001_Meas(self):
""" Measurement example, with multiple failure messages
- example of taking multiple measurements, and sending as a list of results
- if any test fails, this test item fails
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
"""
diff --git a/docs/build/html/_sources/prism_screenshots.rst.txt b/docs/build/html/_sources/prism_screenshots.rst.txt
index cc667567..4bc7b9f6 100644
--- a/docs/build/html/_sources/prism_screenshots.rst.txt
+++ b/docs/build/html/_sources/prism_screenshots.rst.txt
@@ -7,24 +7,24 @@ Title Page
.. image:: static/Screenshot_title_01.png
-Main view
-*********
+Scan Traveller page
+*******************
After the User has logged in, they may scan a traveller to configure Prism testing, or
-use the Test Configuration button to access scripts manually.
+use the Test Configuration page to access scripts manually.
-.. image:: static/Screenshot_main_01.png
+.. image:: static/Screenshot_prism_scan_traveller.png
-Test Config view
-****************
+Test Configuration page
+***********************
Simple (No Variables) Script
============================
-* A pull down dialog box allows the user to pick which script to run
+* Pull down selections allow the user to pick the script group, and then which script in that group to run
* The script is shown on the left. The script cannot be modified with this `Prism` view
-* The script is a JSON format text file, with the exception that lines begining with `#` are comment lines
+* The script is a JSON format text file, with the exception that lines beginning with `//` are comment lines
* This script example has no user configurable variables
.. image:: static/Screenshot_test_config_01.png
@@ -41,11 +41,12 @@ Variables Script
.. image:: static/Screenshot_test_config_02.png
-Test View
-*********
+Test Portal
+***********
* The result after 4 channels of the demo script have finished
* For each channel a log table is shown
+* Historical stats of your testing are shown in the plot on the left
.. image:: static/Screenshot_test_01.png
diff --git a/docs/build/html/_sources/prism_scripts.rst.txt b/docs/build/html/_sources/prism_scripts.rst.txt
index e6fae604..9cd7559c 100644
--- a/docs/build/html/_sources/prism_scripts.rst.txt
+++ b/docs/build/html/_sources/prism_scripts.rst.txt
@@ -9,7 +9,7 @@ Scripts
* JSON is used so that non-programmers may be able to read/edit [1]_ the script without requiring a
programming background. This is useful in development or emergency situations.
-* extend JSON a little bit, by allowing comments, any line begining with `//` is a comment. This allows
+* extend JSON a little bit, by allowing comments, any line beginning with `//` is a comment. This allows
the script to be documented
The ``script`` has the following sections,
@@ -38,7 +38,7 @@ In a production environment, operators are not typically allowed to arbitrarily
limits or any other setup. However, in an engineering lab, or new product ramp environment, having an easy method
to change some parameters might be useful. This feature does not have to be used.
-Only (logged in) users with a certain role privileges can access `Test Config`, and thus access to GUI controls that
+Only (logged in) users with a certain role privileges can access the `Test Configuration` page, and thus access to GUI controls that
use the `subs` feature. Otherwise `subs` are used to create a `Traveller`, which stores the `subs` used.
`subs` are useful for generating :ref:`prism_travellers:Travellers`.
@@ -54,7 +54,8 @@ Here is a full example of what `subs` section could look like (taken from exampl
// "type" : "",
// "widget": "",
// "regex": <"regex">, // only for widget == textinput,
- // when regex is satisfied widget turns green
+ // the field is valid when the regex is satisfied;
+ // Start Testing enables once all fields are valid
// "choices": [, , ...], // only for widget == select
// "default": ,
// "subs": // inner dependant subs
@@ -87,6 +88,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
"title": "TST000_Meas Enable",
"type" : "str", "widget": "select", "choices": ["true", "false"]
}
+ },
// and how it looks in the test item,
{"id": "TST000_Meas", "enable": "%%TST000Enable", "args": {"min": "%%TST000Min", "max": "%%TST000Max"}},
@@ -103,7 +105,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``title``
-* this is the title of the field to be presented to the Operator in the Test Config view
+* this is the title of the field to be presented to the Operator in the Test Configuration page
* if there is a specific format of the variable expected, that should be indicated in the ``title``
``type``
@@ -113,7 +115,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``widget``
-* the type of GUI widget to present to the Operator in the Test Config view
+* the type of GUI widget to present to the Operator in the Test Configuration page
* `textinput` is a generic text input box, which will be populated by the ``default`` field
* `select` is a drop down selection menu
@@ -142,11 +144,11 @@ This section is a list of fields that correspond to fields that exist in the bac
used for database searches.
You cannot add or delete fields from this section. If there are missing fields, an error will occur downstream as the
-result record is check to have these fields. New fields can be added, but that requires a request to customize
+result record is checked to have these fields. New fields can be added, but that requires a request to customize
the backend database. See TBD.
Note that the example here, two fields are using the `subs` section to get their values from the Operator
-in the Test Config view.
+in the Test Configuration page.
::
@@ -181,7 +183,7 @@ This section sets required variables that Prism uses to drive the test script.
"config": {
"fail_fast": true,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
@@ -193,8 +195,8 @@ This section sets required variables that Prism uses to drive the test script.
* it is recommended ``fail_fast`` be set to `true`.
* Often tests are interdependent, and if one test fails, it often means other tests will fail that depended on
- that particular function. What happens then is a cascade of failed tests which my might obscure the root failure.
- * If tests are mutually exclusive, it may be advantages to set ``fail_fast`` to `false`.
+ that particular function. What happens then is a cascade of failed tests which might obscure the root failure.
+ * If tests are mutually exclusive, it may be advantageous to set ``fail_fast`` to `false`.
``drivers``
@@ -221,7 +223,7 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
"tests": [
{
- "module": "public.prism.scripts.prod_v0.tst00xx",
+ "module": "public.prism.scripts.example.prod_v0.tst00xx",
"options": {
"fail_fast": false
// add more key/value as required
@@ -231,8 +233,8 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": "%%TST000Max"},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
- {"id": "TST001_Skip", "enable": false },
- {"id": "TST0xxTRDN", "enable": true }
+ {"id": "TST002_Skip", "enable": false },
+ {"id": "TST0xxTEARDOWN", "enable": true }
]
}
]
diff --git a/docs/build/html/_sources/prism_travellers.rst.txt b/docs/build/html/_sources/prism_travellers.rst.txt
index 662bc703..b1b249b0 100644
--- a/docs/build/html/_sources/prism_travellers.rst.txt
+++ b/docs/build/html/_sources/prism_travellers.rst.txt
@@ -1,14 +1,14 @@
Travellers
##########
-Travellers are 2D bar codes printed on paper than can configure Prism
+Travellers are 2D bar codes printed on paper that can configure Prism
to run a script with certain substitution parameters. Travellers are used to simplify
setting up and operating Prism by any User (operator).
Travellers can only be created by users with the :ref:`prism_accounts:ConfigMan` role.
-The image below shows the `Test Config` view, a script has been selected and
-the parameters selected, at this point the `Traveller` button turns Green
+The image below shows the `Test Configuration` page, a script has been selected and
+the parameters selected, at this point the `Create Traveller` button becomes enabled
indicating it can now be pressed.
.. image:: static/Screenshot_traveller_01.png
@@ -30,7 +30,7 @@ Scanning
********
Travellers are scanned by the operator using most any bar code scanner set
-to emulate the keyboard. After the Operator logs in the Prism waits for a scan,
+to emulate the keyboard. After the Operator logs in Prism waits for a scan,
.. image:: static/Screenshot_traveller_03.png
@@ -38,7 +38,8 @@ Once the image is scanned the system will validate and then move to the Test Por
where testing can start.
Note that Operator sign in Roles can be changed such that the Operator cannot access the
-Test Configuration or other menu options.
+Test Configuration page, or other restricted pages. The menu options remain visible to the
+Operator, however the pages themselves enforce the access restrictions.
User Content
@@ -65,7 +66,7 @@ For example see `public/prism/scripts/example/prod_v0/prod_0.scr`,
Auto Load Traveller
*******************
-The `settings.json <_deployment.html#_Settings File>`__ can specify a traveller that is automatically loaded when
+The :ref:`settings.json ` can specify a traveller that is automatically loaded when
Prism boots up and the indicated user logs in.
::
diff --git a/docs/build/html/_static/Screenshot_lente_acct_mgt.png b/docs/build/html/_static/Screenshot_lente_acct_mgt.png
new file mode 100644
index 00000000..f99a7f39
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_acct_mgt.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_01.png b/docs/build/html/_static/Screenshot_lente_dashboard_01.png
deleted file mode 100644
index fe8ae1b0..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_02.png b/docs/build/html/_static/Screenshot_lente_dashboard_02.png
deleted file mode 100644
index de8826de..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_02.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_03.png b/docs/build/html/_static/Screenshot_lente_dashboard_03.png
deleted file mode 100644
index 01df70cc..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_03.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_04.png b/docs/build/html/_static/Screenshot_lente_dashboard_04.png
deleted file mode 100644
index 6fdfa7ac..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_04.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_05.png b/docs/build/html/_static/Screenshot_lente_dashboard_05.png
deleted file mode 100644
index fc1027a1..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_05.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_06.png b/docs/build/html/_static/Screenshot_lente_dashboard_06.png
deleted file mode 100644
index 51c5c785..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_06.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_pareto.png b/docs/build/html/_static/Screenshot_lente_pareto.png
new file mode 100644
index 00000000..e221b249
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_pareto.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_runtime.png b/docs/build/html/_static/Screenshot_lente_runtime.png
new file mode 100644
index 00000000..521d6056
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_runtime.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_station_mgr.png b/docs/build/html/_static/Screenshot_lente_station_mgr.png
new file mode 100644
index 00000000..b95e030b
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_station_mgr.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_throughput.png b/docs/build/html/_static/Screenshot_lente_throughput.png
new file mode 100644
index 00000000..b2177c3c
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_throughput.png differ
diff --git a/docs/build/html/_static/Screenshot_main_01.png b/docs/build/html/_static/Screenshot_main_01.png
deleted file mode 100644
index 7fbfd327..00000000
Binary files a/docs/build/html/_static/Screenshot_main_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_1.png b/docs/build/html/_static/Screenshot_prism_demo_1.png
index a127b7ae..5355c788 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_1.png and b/docs/build/html/_static/Screenshot_prism_demo_1.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_2.png b/docs/build/html/_static/Screenshot_prism_demo_2.png
index 9a44b9a5..c03e1bf3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_2.png and b/docs/build/html/_static/Screenshot_prism_demo_2.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_3.png b/docs/build/html/_static/Screenshot_prism_demo_3.png
index 081fccca..40bac9e0 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_3.png and b/docs/build/html/_static/Screenshot_prism_demo_3.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_4.png b/docs/build/html/_static/Screenshot_prism_demo_4.png
index 88230a4e..6e382da3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_4.png and b/docs/build/html/_static/Screenshot_prism_demo_4.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_scan_traveller.png b/docs/build/html/_static/Screenshot_prism_scan_traveller.png
new file mode 100644
index 00000000..9e2e3923
Binary files /dev/null and b/docs/build/html/_static/Screenshot_prism_scan_traveller.png differ
diff --git a/docs/build/html/_static/Screenshot_test_01.png b/docs/build/html/_static/Screenshot_test_01.png
index 82a8be8d..d0102ee4 100644
Binary files a/docs/build/html/_static/Screenshot_test_01.png and b/docs/build/html/_static/Screenshot_test_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_01.png b/docs/build/html/_static/Screenshot_test_config_01.png
index 3366d094..6d29f579 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_01.png and b/docs/build/html/_static/Screenshot_test_config_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_02.png b/docs/build/html/_static/Screenshot_test_config_02.png
index 0b2c8fd3..1ddc6ed1 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_02.png and b/docs/build/html/_static/Screenshot_test_config_02.png differ
diff --git a/docs/build/html/_static/Screenshot_title_01.png b/docs/build/html/_static/Screenshot_title_01.png
index ea94771a..0d610504 100644
Binary files a/docs/build/html/_static/Screenshot_title_01.png and b/docs/build/html/_static/Screenshot_title_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_01.png b/docs/build/html/_static/Screenshot_traveller_01.png
index 6dad3ada..eac65b82 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_01.png and b/docs/build/html/_static/Screenshot_traveller_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_02.png b/docs/build/html/_static/Screenshot_traveller_02.png
index 9013c83c..d860c159 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_02.png and b/docs/build/html/_static/Screenshot_traveller_02.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_03.png b/docs/build/html/_static/Screenshot_traveller_03.png
index b4838814..284f102f 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_03.png and b/docs/build/html/_static/Screenshot_traveller_03.png differ
diff --git a/docs/build/html/_static/lente_main_01.png b/docs/build/html/_static/lente_main_01.png
index 4d200038..7a1555d6 100644
Binary files a/docs/build/html/_static/lente_main_01.png and b/docs/build/html/_static/lente_main_01.png differ
diff --git a/docs/build/html/_version_history.html b/docs/build/html/_version_history.html
index 22dc3cc8..e194f40e 100644
--- a/docs/build/html/_version_history.html
+++ b/docs/build/html/_version_history.html
@@ -62,7 +62,7 @@ Prism¶
0.8.37¶
[BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
Index page shows time and date (implemented in 0.7.56)
Auto config test on startup, see settings.json (implemented in 0.7.64)
@@ -78,7 +78,7 @@ Lente¶
0.8.21¶
[BUGFIX] Fix/improve getting self IP address
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Station Management portal can remotely,
request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/lente_accounts.html b/docs/build/html/lente_accounts.html
index 4e46c259..0895f0af 100644
--- a/docs/build/html/lente_accounts.html
+++ b/docs/build/html/lente_accounts.html
@@ -49,7 +49,7 @@ Accounts
-
-
+
@@ -63,38 +63,36 @@ Accounts
Users¶
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role Enabled in order to login.
+A new User account must be set Active in order to login.
Roles¶
The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-
-Enabled¶
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add Enabled to the User for them to be able to login.
+
+Active¶
+Active is not a Role. It is a separate setting on the Account Management page.
+Without Active set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
Admin¶
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it’s good practice to have two Users with Admin role.
Account¶
@@ -105,23 +103,23 @@ OperatorPRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User cannot use Test Config menu.
+The User cannot use Test Configuration page.
ConfigMan¶
PRISM ONLY
-Allows the User to use the Test Config menu, which allows the user to pick which
+
Allows the User to use the Test Configuration page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer¶
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync¶
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync’d from Lente, your changes
+may edit the user on a Prism station, but if Users are sync’d from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
More on ServerSync TBD (link)
diff --git a/docs/build/html/lente_cloud.html b/docs/build/html/lente_cloud.html
index 389906a3..88f28302 100644
--- a/docs/build/html/lente_cloud.html
+++ b/docs/build/html/lente_cloud.html
@@ -112,7 +112,7 @@ Lente/Postgres On Ins
git clone https://github.com/sistemicorp/scripts.git
Change the default password!
-
-
Also remember to use the same password in settings.json.
+Also remember to use the same password in settings.json.
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it will indicate that the connection is “untrusted” and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. settings.json +
With HTTPS the connection between Prism/Lente is now encrypted. settings.json has prism_lente_pw which should also be set to something unique. This setting needs to be the same across all the Prism/Lente computers.
On deployed Prism/Lente computers the user account is presumed to be secure. The Ubuntu filesystem should @@ -167,7 +167,7 @@
Postgres DB
Generate the cert/key file on each Prism/Lente computer.
-See the settings.json to enable HTTPS and set the Prism/Lente password.
+See the settings.json to enable HTTPS and set the Prism/Lente password.
In the browser, connect over HTTPs,
for Prism use https://127.0.0.1:6590
diff --git a/docs/build/html/_sources/_deployment.rst.txt b/docs/build/html/_sources/_deployment.rst.txt
index 6966b7a9..726797f2 100644
--- a/docs/build/html/_sources/_deployment.rst.txt
+++ b/docs/build/html/_sources/_deployment.rst.txt
@@ -2,7 +2,7 @@ Deployment
##########
Prism/Lente allows for various deployment strategies, and some diagrams
-are shown `here <_system.html#_system_arch>`__.
+are shown :ref:`here `.
Lente deployment depends on your dashboarding and Prism station management strategy.
A Lente station can manage Prism stations directly below it, in the connection
diff --git a/docs/build/html/_sources/_mes_integration.rst.txt b/docs/build/html/_sources/_mes_integration.rst.txt
index 58b89d59..a9c9f65e 100644
--- a/docs/build/html/_sources/_mes_integration.rst.txt
+++ b/docs/build/html/_sources/_mes_integration.rst.txt
@@ -1,3 +1,5 @@
+.. _mes-integration:
+
Manufacturing Execution System (MES) Integration
################################################
diff --git a/docs/build/html/_sources/_prodplan.rst.txt b/docs/build/html/_sources/_prodplan.rst.txt
index 71ea6f18..e0625646 100644
--- a/docs/build/html/_sources/_prodplan.rst.txt
+++ b/docs/build/html/_sources/_prodplan.rst.txt
@@ -181,7 +181,7 @@ Example script P00100_T0100_SmokeTests.scr,
"config": {
"result": "public.prism.result.ResultBaseKeysV1",
"fail_fast": false,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
diff --git a/docs/build/html/_sources/_security.rst.txt b/docs/build/html/_sources/_security.rst.txt
index fc2cfd61..7d2e6b18 100644
--- a/docs/build/html/_sources/_security.rst.txt
+++ b/docs/build/html/_sources/_security.rst.txt
@@ -13,7 +13,7 @@ until the system is operating correctly and only then able encryption and other
Settings.json
=============
-Most of the security of the system is set by `settings.json <_deployment.html#_Settings File>`__.
+Most of the security of the system is set by :ref:`settings.json `.
`settings.json` file is unique to each Prism/Lente in the deployment. It is common for
multiple Prism computers sitting below Lente to have the same `settings.json`, assuming the settings are the same.
@@ -29,7 +29,7 @@ Prism computers should remove the Lente section of the `settings.json` file.
Manifest Checking
=================
-Enable Manifest checking in the `settings.json <_deployment.html#_Settings File>`__. file.
+Enable Manifest checking in the :ref:`settings.json `. file.
The Manifest (file) is created by Lente to ensure the integrity of the all the scripts and supporting files.
The manifest is a list of files and corresponding hashes, which Prism will use to validate there are no
@@ -99,7 +99,7 @@ Postgres DB
* Change the default password!
- * Also remember to use the same password in `settings.json <_deployment.html#_Settings File>`__.
+ * Also remember to use the same password in :ref:`settings.json `.
.. _https:
@@ -116,7 +116,7 @@ These keys will still be using the same TLS protocol over the connection and are
However, since the (Chrome) browser is not able to authenticate the self signed keys/certificate it
will indicate that the connection is "untrusted" and will prompt the user to validate the connection.
-With HTTPS the connection between Prism/Lente is now encrypted. `settings.json <_deployment.html#_Settings File>`__
+With HTTPS the connection between Prism/Lente is now encrypted. :ref:`settings.json `
has `prism_lente_pw` which should also be set to something unique. This setting needs to be the same
across all the Prism/Lente computers.
@@ -151,7 +151,7 @@ organization information, if desired.
* Generate the cert/key file on each Prism/Lente computer.
-* See the `settings.json <_deployment.html#_Settings File>`__ to enable HTTPS and set the Prism/Lente password.
+* See the :ref:`settings.json ` to enable HTTPS and set the Prism/Lente password.
* In the browser, connect over HTTPs,
* for Prism use `https://127.0.0.1:6590`
diff --git a/docs/build/html/_sources/_version_history.rst.txt b/docs/build/html/_sources/_version_history.rst.txt
index c17805a3..fc722a0b 100644
--- a/docs/build/html/_sources/_version_history.rst.txt
+++ b/docs/build/html/_sources/_version_history.rst.txt
@@ -36,7 +36,7 @@ Prism
~~~~~~
* [BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
* Index page shows time and date (implemented in 0.7.56)
* Auto config test on startup, see :ref:`settings.json ` (implemented in 0.7.64)
@@ -52,7 +52,7 @@ Lente
~~~~~~
* [BUGFIX] Fix/improve getting self IP address
-* Support for UPCUA, see `OPCUA <_mes_integration.html#_Manufacturing>`__
+* Support for UPCUA, see :ref:`OPCUA `
* Station Management portal can remotely,
* request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/_sources/lente_accounts.rst.txt b/docs/build/html/_sources/lente_accounts.rst.txt
index e66d8f29..fdbbb671 100644
--- a/docs/build/html/_sources/lente_accounts.rst.txt
+++ b/docs/build/html/_sources/lente_accounts.rst.txt
@@ -14,11 +14,11 @@ Users
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A new User account must be set `Active` in order to login.
Roles
@@ -30,24 +30,23 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
+Active
+======
+
+`Active` is not a Role. It is a separate setting on the Account Management page.
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
+Without `Active` set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
@@ -56,7 +55,7 @@ Admin
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -71,27 +70,27 @@ PRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
PRISM ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync'd from Lente, your changes
+may edit the user on a Prism station, but if Users are sync'd from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
diff --git a/docs/build/html/_sources/lente_cloud.rst.txt b/docs/build/html/_sources/lente_cloud.rst.txt
index ccaeff7e..0e6a8f73 100644
--- a/docs/build/html/_sources/lente_cloud.rst.txt
+++ b/docs/build/html/_sources/lente_cloud.rst.txt
@@ -85,7 +85,7 @@ Run these commands to install `scripts`,
git clone https://github.com/sistemicorp/scripts.git
-Follow `these `__ instructions to start postgres server.
+Follow :ref:`these ` instructions to start postgres server.
Run the Lente start script
diff --git a/docs/build/html/_sources/lente_demo.rst.txt b/docs/build/html/_sources/lente_demo.rst.txt
index f318e97e..9a96d050 100644
--- a/docs/build/html/_sources/lente_demo.rst.txt
+++ b/docs/build/html/_sources/lente_demo.rst.txt
@@ -30,6 +30,8 @@ Requirements
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
+.. _lente-demo-postgres:
+
Postgres
********
diff --git a/docs/build/html/_sources/lente_main.rst.txt b/docs/build/html/_sources/lente_main.rst.txt
index 8acd1701..fab9c12d 100644
--- a/docs/build/html/_sources/lente_main.rst.txt
+++ b/docs/build/html/_sources/lente_main.rst.txt
@@ -3,7 +3,7 @@ Lente
Lente is a backend server that has two main functions.
-* dB (PostGres) interface
+* dB (Postgres) interface
* receives results from connected Prism computers
* stores test results into the dB
diff --git a/docs/build/html/_sources/lente_screenshots.rst.txt b/docs/build/html/_sources/lente_screenshots.rst.txt
index 56f421b3..39ebecde 100644
--- a/docs/build/html/_sources/lente_screenshots.rst.txt
+++ b/docs/build/html/_sources/lente_screenshots.rst.txt
@@ -3,49 +3,64 @@ Screenshots
Lente screenshots.
-Dashboard
-*********
-Lente provides two dashboards. The first shown here shows a historical summary of units tested, pass/fail and yield, over
-the previous week. The table below shows the currently active test stations, and their status.
+Result Analytics
+****************
-.. image:: static/Screenshot_lente_dashboard_02.png
+The Result Analytics dashboard is for detailed results analysis. Results shown graphically and in
+the table are filtered by the current state of the "Select/Date" filters.
-The second dashboard is for detailed results analysis. The important thing about this dashboard is that the results shown
-graphically or in the table are filtered by the current state of the "Select/Date" filters across the top of the dashboard.
+The dashboard has three views, selected by the tabs across the top,
-The graph is a view of the previous week's history of Pass/Fail/Yield numbers.
+* `Throughput & Yield` - history of Pass/Fail/Yield numbers
+* `Failure Pareto` - which tests are failing, ranked by how often
+* `Test Runtime` - where the test time is being spent
-The right table is each result. By selecting a result in this table, a new tab is opened with the result details.
+The `Results Summary` panel on the right totals the Pass/Fail/Yield for the current filter selection.
-The table on the bottom left counts the various types of Fail tests.
+The table below the filters is each result. By selecting a result in this table, a new tab is opened with the
+result details.
-.. image:: static/Screenshot_lente_dashboard_01.png
+The `Throughput & Yield` tab charts the units tested over time; Pass and Fail as stacked bars against the left
+axis, and Yield as a line against the right axis. The period selector sets the size of each bar, for
+example `Daily`. Use this to track production output and yield trend.
+.. image:: static/Screenshot_lente_throughput.png
-Station Management
-******************
+The `Failure Pareto` tab ranks the failing tests by quantity, and shows each as a percentage of the failed runs
+and of all runs. Use this to find which tests are costing you the most yield.
-Prism and Lente Station management console.
+.. image:: static/Screenshot_lente_pareto.png
-* View station stats
-* Take actions (Ping, Sync)
+The `Test Runtime` tab breaks down where the test time is being spent. Select the `Script` and the `Script Result`
+to report on. The table gives the average time of each test item and its percentage of the total, and the pie
+chart shows the same proportions. Use this to find which test items to optimize to reduce cycle time.
-.. image:: static/Screenshot_lente_dashboard_03.png
+.. image:: static/Screenshot_lente_runtime.png
-Account Management
-******************
+Station Manager
+***************
-User Summary
+Prism and Lente Station management console.
-.. image:: static/Screenshot_lente_dashboard_06.png
+* View station stats - version, scripts, backups, disk usage, the script running, active users, and last ping
+* Select stations and take actions - `Ping`, `Get Log`, `Restart`, `Sync Users`, `Sync Script`
+* `Station Logs` below lists station events, filtered by the Type/Computer/Version/Cause and date selections
+.. image:: static/Screenshot_lente_station_mgr.png
+
+
+Account Management
+******************
-Create Users
+A single page manages all of the Account Management features.
-.. image:: static/Screenshot_lente_dashboard_04.png
+The table at the top summarizes the Users; their email, whether they are Active, their Language, and their Roles.
+* `New Account` creates a User
+* Selecting a User in the table loads them into the editor below
-Edit User Roles
+The editor sets the User's Language, whether the account is `Active`, and which Roles they hold. `Set Password`
+sets the User's password. `Update` saves the changes, `Reset` discards them, and `Delete` removes the User.
-.. image:: static/Screenshot_lente_dashboard_05.png
\ No newline at end of file
+.. image:: static/Screenshot_lente_acct_mgt.png
\ No newline at end of file
diff --git a/docs/build/html/_sources/prism_accounts.rst.txt b/docs/build/html/_sources/prism_accounts.rst.txt
index 1328f787..c4518c76 100644
--- a/docs/build/html/_sources/prism_accounts.rst.txt
+++ b/docs/build/html/_sources/prism_accounts.rst.txt
@@ -20,7 +20,7 @@ Users need to have unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role `Enabled` in order to login.
+A User account must be set `Active` in order to login.
Roles
@@ -32,33 +32,24 @@ The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-Enabled
-=======
-
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add `Enabled` to the User for them to be able to login.
-
-This allows you to disable a User without deleting their account.
Admin
=====
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it's good practice to have two Users with Admin role.
Account
=======
@@ -73,21 +64,21 @@ Prism ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User **cannot** use `Test Config` menu.
+The User **cannot** use `Test Configuration` page.
ConfigMan
=========
Prism ONLY
-Allows the User to use the `Test Config` menu, which allows the user to pick which
+Allows the User to use the `Test Configuration` page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer
=========
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync
==========
diff --git a/docs/build/html/_sources/prism_demo.rst.txt b/docs/build/html/_sources/prism_demo.rst.txt
index 4b7107b8..b24ae1d9 100644
--- a/docs/build/html/_sources/prism_demo.rst.txt
+++ b/docs/build/html/_sources/prism_demo.rst.txt
@@ -28,7 +28,7 @@ Requirements
* Google Chrome browser (other browsers are not tested)
* install Docker CE (https://docs.docker.com/install/linux/docker-ce/ubuntu/)
- * Several instillation methods are described. The "convenience script" works well.
+ * Several installation methods are described. The "convenience script" works well.
::
@@ -94,13 +94,12 @@ Clone Sistemi Scripts
http://127.0.0.1:6590
- * **Do Not use the browser BACK button, always use the page controls for navigation**
* The Prism landing page should appear,
.. image:: static/Screenshot_prism_demo_2.png
-* Press the Login button (upper left corner)
+* Press the Login button (upper right corner)
* Prism login user/password is admin@here.com/password
* Other users passwords are `password`
@@ -111,16 +110,16 @@ Clone Sistemi Scripts
* In real production environment, the operator would scan a traveller to
configure Prism to test a product. Since this is a demo, we will select a
test manually.
- * Select button `Test Configuration` (1)
+ * Select the `Test Configuration` link in the left sidebar (1)
.. image:: static/Screenshot_prism_demo_1.png
* Run your first script after logging in,
- * Select Group select `Example` (1)
+ * Select Group select `example` (1)
* Select Script select `prod_0.scr` (2)
* Press button `Validate` (3)
- * If everything checked out, the `Start Testing` button will turn Green. (4)
+ * If everything checked out, the `Start Testing` button will become enabled, solid blue. (4)
* The script that will be run is shown (5)
.. image:: static/Screenshot_prism_demo_3.png
@@ -129,7 +128,7 @@ Clone Sistemi Scripts
.. image:: static/Screenshot_prism_demo_4.png
-* Press the `TEST` (1) button to begin the test.
+* Press the `START ALL` (1) button to begin the test.
* Logging from the test will be shown in the table (2).
* Historical stats of your testing will be shown in the plot (3).
* **Note:** Example tests have delays in them for demo effect.
@@ -138,13 +137,7 @@ Clone Sistemi Scripts
* the user will be shown buttons to press, any button will pass.
* the user will have to enter some text, any text will pass
-* this Demo shows only one active "Jig", if you want to display more,
-
- * Access the Main menu and select Demo (Main->Demo)
- * Change the number of "fake" jigs between 1-4.
- * Go back to the Main page (Menu->Main)
- * Repeat the steps above to re-run the demo test.
-
+* this Demo shows only one active "Jig". Up to eight jigs are supported.
* Prism can be stopped with this command,
diff --git a/docs/build/html/_sources/prism_drivers.rst.txt b/docs/build/html/_sources/prism_drivers.rst.txt
index 6b087e03..7c5a60fb 100644
--- a/docs/build/html/_sources/prism_drivers.rst.txt
+++ b/docs/build/html/_sources/prism_drivers.rst.txt
@@ -23,7 +23,7 @@ Prism will load/init each `driver` that is listed.
The python file specified *MUST* have a class called `HWDriver`. See the `fake` example for
implementation details and documentation.
-By convention, the driver filename has prefix is `hwdrv_.py`.
+By convention, the driver filename has the prefix `hwdrv_.py`.
The Drivers files are stored by convention in a separate path relative to scripts in order to isolate
them. `Drivers` are typically common to test multiple products.
@@ -72,7 +72,7 @@ Per the code documentation, `discover_channels` must return a dictionary with pr
1) The hw driver objects are expected to have an 'slot' field, the lowest
id is assigned to channel 0, the next highest to channel 1, etc
- :return: <#>, ,
+ :return: <#>, , (use Zero for a device shared across all channels)
where
#: >0 number of channels,
0 does not indicate num channels, like a shared hardware driver
@@ -87,7 +87,7 @@ Slot Number
-----------
When implementing python code to implement tests, there is a `channel (self.chan)` number and a `slot` number.
-The channel is how Prism indexes the running threads, usually from 0 to a max of 3. The slot number
+The channel is how Prism indexes the running threads, usually from 0 to a max of 7. The slot number
is a number used to setup configuration of the physical system.
diff --git a/docs/build/html/_sources/prism_programs.rst.txt b/docs/build/html/_sources/prism_programs.rst.txt
index ec6009a1..06b97033 100644
--- a/docs/build/html/_sources/prism_programs.rst.txt
+++ b/docs/build/html/_sources/prism_programs.rst.txt
@@ -8,7 +8,7 @@ A very minimalist ("hello world") (helloWorld.py) program file could look like t
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -40,7 +40,7 @@ And, a minimalist script file that uses this program code, could look like this,
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
@@ -72,11 +72,11 @@ Lets make some general comments about the above script/program before diving int
Program Class Structure
-----------------------
-Lets take a more detailed look at the program structrure,
+Lets take a more detailed look at the program structure,
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -91,7 +91,7 @@ Lets take a more detailed look at the program structrure,
self.logger = logging.getLogger("SC.{}.{}".format(__name__, self.chan))
def sayHello(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
self.log_bullet("Hello World!")
self.item_end() # always last line of test
@@ -115,7 +115,7 @@ methods
::
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
* The last line of every method is
@@ -128,7 +128,7 @@ methods
context
^^^^^^^
-* ``context`` is your programmatic view of the script, and retrieving it is the first line of every method
+* ``ctx`` (context) is your programmatic view of the script, and retrieving it is the first line of every method
* consider a little more complicated script,
::
@@ -141,12 +141,12 @@ context
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
- "module": "public.prims.scripts.my_product.helloWorld",
- "options": { "fail_fast": False, "myVar": "something" },
+ "module": "public.prism.scripts.my_product.helloWorld",
+ "options": { "fail_fast": false, "myVar": "something" },
"items": [
{"id": "sayHello"},
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
@@ -162,7 +162,7 @@ context
::
def TST000_Meas(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
print(ctx.item) # = {"id": "TST000", "enable": True, "args": {"min": 0, "max": 10}}
print(ctx.item.args) # = {"min": 0, "max": 10}
@@ -175,13 +175,13 @@ context
* in Python, you can do ``print(dir(ctx))`` to get a list of everything available to you
* When designing your test script and program structure, consider what user configurable variables you want to be
defined in the script ``args`` section and which you want in the program. Things like min/max limits may change
- overt he product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
+ over the product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
Everything Example
------------------
-Here is a fully documented program example that shows just about every feature of the Lente system. This
+Here is a fully documented program example that shows just about every feature of the Prism system. This
example program is distributed with the system, and may be more up to date than here, so please consult that example.
::
@@ -247,7 +247,7 @@ example program is distributed with the system, and may be more up to date than
# - ctx.record.fail_msg(msg)
# - add a fail message to the record
#
- # self.chan # this channel (0,1,2,3)
+ # self.chan # this channel (0-7)
#
# self.shared_state # instance of the shared state across all running test jigs
#
@@ -864,7 +864,7 @@ a "binning code" when a failure occurs.
The "binning mechanism" is provided by the ``fail`` field for the test item in the script. There is a list
of binning failure IDs (``fid``) with a corresponding ``msg`` for the user in the script. This is shown in the
-example ``TST000_Meas`` above. Repeated here.
+example ``TST001_Meas`` above. Repeated here.
Example Notes:
@@ -880,11 +880,11 @@ Example Notes:
::
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
- # fail: this is a list of 'fid' and 'msg' that get displayed and
- # recorded with the test record. The python code for this
- # test item assigns which item in the list best represents
- # the failure mode. This information is to assist repair.
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ // fail: this is a list of 'fid' and 'msg' that get displayed and
+ // recorded with the test record. The python code for this
+ // test item assigns which item in the list best represents
+ // the failure mode. This information is to assist repair.
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
@@ -892,12 +892,12 @@ Program code,
::
- def TST000_Meas(self):
+ def TST001_Meas(self):
""" Measurement example, with multiple failure messages
- example of taking multiple measurements, and sending as a list of results
- if any test fails, this test item fails
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
"""
diff --git a/docs/build/html/_sources/prism_screenshots.rst.txt b/docs/build/html/_sources/prism_screenshots.rst.txt
index cc667567..4bc7b9f6 100644
--- a/docs/build/html/_sources/prism_screenshots.rst.txt
+++ b/docs/build/html/_sources/prism_screenshots.rst.txt
@@ -7,24 +7,24 @@ Title Page
.. image:: static/Screenshot_title_01.png
-Main view
-*********
+Scan Traveller page
+*******************
After the User has logged in, they may scan a traveller to configure Prism testing, or
-use the Test Configuration button to access scripts manually.
+use the Test Configuration page to access scripts manually.
-.. image:: static/Screenshot_main_01.png
+.. image:: static/Screenshot_prism_scan_traveller.png
-Test Config view
-****************
+Test Configuration page
+***********************
Simple (No Variables) Script
============================
-* A pull down dialog box allows the user to pick which script to run
+* Pull down selections allow the user to pick the script group, and then which script in that group to run
* The script is shown on the left. The script cannot be modified with this `Prism` view
-* The script is a JSON format text file, with the exception that lines begining with `#` are comment lines
+* The script is a JSON format text file, with the exception that lines beginning with `//` are comment lines
* This script example has no user configurable variables
.. image:: static/Screenshot_test_config_01.png
@@ -41,11 +41,12 @@ Variables Script
.. image:: static/Screenshot_test_config_02.png
-Test View
-*********
+Test Portal
+***********
* The result after 4 channels of the demo script have finished
* For each channel a log table is shown
+* Historical stats of your testing are shown in the plot on the left
.. image:: static/Screenshot_test_01.png
diff --git a/docs/build/html/_sources/prism_scripts.rst.txt b/docs/build/html/_sources/prism_scripts.rst.txt
index e6fae604..9cd7559c 100644
--- a/docs/build/html/_sources/prism_scripts.rst.txt
+++ b/docs/build/html/_sources/prism_scripts.rst.txt
@@ -9,7 +9,7 @@ Scripts
* JSON is used so that non-programmers may be able to read/edit [1]_ the script without requiring a
programming background. This is useful in development or emergency situations.
-* extend JSON a little bit, by allowing comments, any line begining with `//` is a comment. This allows
+* extend JSON a little bit, by allowing comments, any line beginning with `//` is a comment. This allows
the script to be documented
The ``script`` has the following sections,
@@ -38,7 +38,7 @@ In a production environment, operators are not typically allowed to arbitrarily
limits or any other setup. However, in an engineering lab, or new product ramp environment, having an easy method
to change some parameters might be useful. This feature does not have to be used.
-Only (logged in) users with a certain role privileges can access `Test Config`, and thus access to GUI controls that
+Only (logged in) users with a certain role privileges can access the `Test Configuration` page, and thus access to GUI controls that
use the `subs` feature. Otherwise `subs` are used to create a `Traveller`, which stores the `subs` used.
`subs` are useful for generating :ref:`prism_travellers:Travellers`.
@@ -54,7 +54,8 @@ Here is a full example of what `subs` section could look like (taken from exampl
// "type" : "",
// "widget": "",
// "regex": <"regex">, // only for widget == textinput,
- // when regex is satisfied widget turns green
+ // the field is valid when the regex is satisfied;
+ // Start Testing enables once all fields are valid
// "choices": [, , ...], // only for widget == select
// "default": ,
// "subs": // inner dependant subs
@@ -87,6 +88,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
"title": "TST000_Meas Enable",
"type" : "str", "widget": "select", "choices": ["true", "false"]
}
+ },
// and how it looks in the test item,
{"id": "TST000_Meas", "enable": "%%TST000Enable", "args": {"min": "%%TST000Min", "max": "%%TST000Max"}},
@@ -103,7 +105,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``title``
-* this is the title of the field to be presented to the Operator in the Test Config view
+* this is the title of the field to be presented to the Operator in the Test Configuration page
* if there is a specific format of the variable expected, that should be indicated in the ``title``
``type``
@@ -113,7 +115,7 @@ Here is a full example of what `subs` section could look like (taken from exampl
``widget``
-* the type of GUI widget to present to the Operator in the Test Config view
+* the type of GUI widget to present to the Operator in the Test Configuration page
* `textinput` is a generic text input box, which will be populated by the ``default`` field
* `select` is a drop down selection menu
@@ -142,11 +144,11 @@ This section is a list of fields that correspond to fields that exist in the bac
used for database searches.
You cannot add or delete fields from this section. If there are missing fields, an error will occur downstream as the
-result record is check to have these fields. New fields can be added, but that requires a request to customize
+result record is checked to have these fields. New fields can be added, but that requires a request to customize
the backend database. See TBD.
Note that the example here, two fields are using the `subs` section to get their values from the Operator
-in the Test Config view.
+in the Test Configuration page.
::
@@ -181,7 +183,7 @@ This section sets required variables that Prism uses to drive the test script.
"config": {
"fail_fast": true,
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
@@ -193,8 +195,8 @@ This section sets required variables that Prism uses to drive the test script.
* it is recommended ``fail_fast`` be set to `true`.
* Often tests are interdependent, and if one test fails, it often means other tests will fail that depended on
- that particular function. What happens then is a cascade of failed tests which my might obscure the root failure.
- * If tests are mutually exclusive, it may be advantages to set ``fail_fast`` to `false`.
+ that particular function. What happens then is a cascade of failed tests which might obscure the root failure.
+ * If tests are mutually exclusive, it may be advantageous to set ``fail_fast`` to `false`.
``drivers``
@@ -221,7 +223,7 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
"tests": [
{
- "module": "public.prism.scripts.prod_v0.tst00xx",
+ "module": "public.prism.scripts.example.prod_v0.tst00xx",
"options": {
"fail_fast": false
// add more key/value as required
@@ -231,8 +233,8 @@ See ``public/prism/scripts/example/prod_v0/tst00xx.py`` for usage.
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": "%%TST000Max"},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
- {"id": "TST001_Skip", "enable": false },
- {"id": "TST0xxTRDN", "enable": true }
+ {"id": "TST002_Skip", "enable": false },
+ {"id": "TST0xxTEARDOWN", "enable": true }
]
}
]
diff --git a/docs/build/html/_sources/prism_travellers.rst.txt b/docs/build/html/_sources/prism_travellers.rst.txt
index 662bc703..b1b249b0 100644
--- a/docs/build/html/_sources/prism_travellers.rst.txt
+++ b/docs/build/html/_sources/prism_travellers.rst.txt
@@ -1,14 +1,14 @@
Travellers
##########
-Travellers are 2D bar codes printed on paper than can configure Prism
+Travellers are 2D bar codes printed on paper that can configure Prism
to run a script with certain substitution parameters. Travellers are used to simplify
setting up and operating Prism by any User (operator).
Travellers can only be created by users with the :ref:`prism_accounts:ConfigMan` role.
-The image below shows the `Test Config` view, a script has been selected and
-the parameters selected, at this point the `Traveller` button turns Green
+The image below shows the `Test Configuration` page, a script has been selected and
+the parameters selected, at this point the `Create Traveller` button becomes enabled
indicating it can now be pressed.
.. image:: static/Screenshot_traveller_01.png
@@ -30,7 +30,7 @@ Scanning
********
Travellers are scanned by the operator using most any bar code scanner set
-to emulate the keyboard. After the Operator logs in the Prism waits for a scan,
+to emulate the keyboard. After the Operator logs in Prism waits for a scan,
.. image:: static/Screenshot_traveller_03.png
@@ -38,7 +38,8 @@ Once the image is scanned the system will validate and then move to the Test Por
where testing can start.
Note that Operator sign in Roles can be changed such that the Operator cannot access the
-Test Configuration or other menu options.
+Test Configuration page, or other restricted pages. The menu options remain visible to the
+Operator, however the pages themselves enforce the access restrictions.
User Content
@@ -65,7 +66,7 @@ For example see `public/prism/scripts/example/prod_v0/prod_0.scr`,
Auto Load Traveller
*******************
-The `settings.json <_deployment.html#_Settings File>`__ can specify a traveller that is automatically loaded when
+The :ref:`settings.json ` can specify a traveller that is automatically loaded when
Prism boots up and the indicated user logs in.
::
diff --git a/docs/build/html/_static/Screenshot_lente_acct_mgt.png b/docs/build/html/_static/Screenshot_lente_acct_mgt.png
new file mode 100644
index 00000000..f99a7f39
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_acct_mgt.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_01.png b/docs/build/html/_static/Screenshot_lente_dashboard_01.png
deleted file mode 100644
index fe8ae1b0..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_02.png b/docs/build/html/_static/Screenshot_lente_dashboard_02.png
deleted file mode 100644
index de8826de..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_02.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_03.png b/docs/build/html/_static/Screenshot_lente_dashboard_03.png
deleted file mode 100644
index 01df70cc..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_03.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_04.png b/docs/build/html/_static/Screenshot_lente_dashboard_04.png
deleted file mode 100644
index 6fdfa7ac..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_04.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_05.png b/docs/build/html/_static/Screenshot_lente_dashboard_05.png
deleted file mode 100644
index fc1027a1..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_05.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_dashboard_06.png b/docs/build/html/_static/Screenshot_lente_dashboard_06.png
deleted file mode 100644
index 51c5c785..00000000
Binary files a/docs/build/html/_static/Screenshot_lente_dashboard_06.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_lente_pareto.png b/docs/build/html/_static/Screenshot_lente_pareto.png
new file mode 100644
index 00000000..e221b249
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_pareto.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_runtime.png b/docs/build/html/_static/Screenshot_lente_runtime.png
new file mode 100644
index 00000000..521d6056
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_runtime.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_station_mgr.png b/docs/build/html/_static/Screenshot_lente_station_mgr.png
new file mode 100644
index 00000000..b95e030b
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_station_mgr.png differ
diff --git a/docs/build/html/_static/Screenshot_lente_throughput.png b/docs/build/html/_static/Screenshot_lente_throughput.png
new file mode 100644
index 00000000..b2177c3c
Binary files /dev/null and b/docs/build/html/_static/Screenshot_lente_throughput.png differ
diff --git a/docs/build/html/_static/Screenshot_main_01.png b/docs/build/html/_static/Screenshot_main_01.png
deleted file mode 100644
index 7fbfd327..00000000
Binary files a/docs/build/html/_static/Screenshot_main_01.png and /dev/null differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_1.png b/docs/build/html/_static/Screenshot_prism_demo_1.png
index a127b7ae..5355c788 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_1.png and b/docs/build/html/_static/Screenshot_prism_demo_1.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_2.png b/docs/build/html/_static/Screenshot_prism_demo_2.png
index 9a44b9a5..c03e1bf3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_2.png and b/docs/build/html/_static/Screenshot_prism_demo_2.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_3.png b/docs/build/html/_static/Screenshot_prism_demo_3.png
index 081fccca..40bac9e0 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_3.png and b/docs/build/html/_static/Screenshot_prism_demo_3.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_demo_4.png b/docs/build/html/_static/Screenshot_prism_demo_4.png
index 88230a4e..6e382da3 100644
Binary files a/docs/build/html/_static/Screenshot_prism_demo_4.png and b/docs/build/html/_static/Screenshot_prism_demo_4.png differ
diff --git a/docs/build/html/_static/Screenshot_prism_scan_traveller.png b/docs/build/html/_static/Screenshot_prism_scan_traveller.png
new file mode 100644
index 00000000..9e2e3923
Binary files /dev/null and b/docs/build/html/_static/Screenshot_prism_scan_traveller.png differ
diff --git a/docs/build/html/_static/Screenshot_test_01.png b/docs/build/html/_static/Screenshot_test_01.png
index 82a8be8d..d0102ee4 100644
Binary files a/docs/build/html/_static/Screenshot_test_01.png and b/docs/build/html/_static/Screenshot_test_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_01.png b/docs/build/html/_static/Screenshot_test_config_01.png
index 3366d094..6d29f579 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_01.png and b/docs/build/html/_static/Screenshot_test_config_01.png differ
diff --git a/docs/build/html/_static/Screenshot_test_config_02.png b/docs/build/html/_static/Screenshot_test_config_02.png
index 0b2c8fd3..1ddc6ed1 100644
Binary files a/docs/build/html/_static/Screenshot_test_config_02.png and b/docs/build/html/_static/Screenshot_test_config_02.png differ
diff --git a/docs/build/html/_static/Screenshot_title_01.png b/docs/build/html/_static/Screenshot_title_01.png
index ea94771a..0d610504 100644
Binary files a/docs/build/html/_static/Screenshot_title_01.png and b/docs/build/html/_static/Screenshot_title_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_01.png b/docs/build/html/_static/Screenshot_traveller_01.png
index 6dad3ada..eac65b82 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_01.png and b/docs/build/html/_static/Screenshot_traveller_01.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_02.png b/docs/build/html/_static/Screenshot_traveller_02.png
index 9013c83c..d860c159 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_02.png and b/docs/build/html/_static/Screenshot_traveller_02.png differ
diff --git a/docs/build/html/_static/Screenshot_traveller_03.png b/docs/build/html/_static/Screenshot_traveller_03.png
index b4838814..284f102f 100644
Binary files a/docs/build/html/_static/Screenshot_traveller_03.png and b/docs/build/html/_static/Screenshot_traveller_03.png differ
diff --git a/docs/build/html/_static/lente_main_01.png b/docs/build/html/_static/lente_main_01.png
index 4d200038..7a1555d6 100644
Binary files a/docs/build/html/_static/lente_main_01.png and b/docs/build/html/_static/lente_main_01.png differ
diff --git a/docs/build/html/_version_history.html b/docs/build/html/_version_history.html
index 22dc3cc8..e194f40e 100644
--- a/docs/build/html/_version_history.html
+++ b/docs/build/html/_version_history.html
@@ -62,7 +62,7 @@ Prism¶
0.8.37¶
[BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
Index page shows time and date (implemented in 0.7.56)
Auto config test on startup, see settings.json (implemented in 0.7.64)
@@ -78,7 +78,7 @@ Lente¶
0.8.21¶
[BUGFIX] Fix/improve getting self IP address
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Station Management portal can remotely,
request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/lente_accounts.html b/docs/build/html/lente_accounts.html
index 4e46c259..0895f0af 100644
--- a/docs/build/html/lente_accounts.html
+++ b/docs/build/html/lente_accounts.html
@@ -49,7 +49,7 @@ Accounts
-
-
+
@@ -63,38 +63,36 @@ Accounts
Users¶
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role Enabled in order to login.
+A new User account must be set Active in order to login.
Roles¶
The following roles are defined,
"roles": {
# Framework Roles
- "ENABLED": "Enabled",
- "ACCOUNT": "Account",
+ "ACCOUNT": "Account Admin, Add/Edit Roles & Users",
"ADMIN": "Administrator", # rights to do anything
# App specific Roles
"OPERATOR": "Operator",
- "CONFIGMAN": "Config Management",
+ "CONFIGMAN": "Configuration Management",
"DEVELOPER": "Developer",
"SERVERSYNC": "ServerSync", # causes user to be pushed to all stations
},
-
-Enabled¶
-Without this role, the User cannot log into the system. When a User is created,
-this role is NOT set. After a User is created, you must access the Roles menu
-and add Enabled to the User for them to be able to login.
+
+Active¶
+Active is not a Role. It is a separate setting on the Account Management page.
+Without Active set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
Admin¶
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it’s good practice to have two Users with Admin role.
Account¶
@@ -105,23 +103,23 @@ OperatorPRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests.
-The User cannot use Test Config menu.
+The User cannot use Test Configuration page.
ConfigMan¶
PRISM ONLY
-Allows the User to use the Test Config menu, which allows the user to pick which
+
Allows the User to use the Test Configuration page, which allows the user to pick which
script to run, and fill in any parameters for the script, and also to be able to create
a Traveller.
Developer¶
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync¶
A User with this setting means their profile is controlled from Lente. You
-may edit the user here on Prism, but if Users are sync’d from Lente, your changes
+may edit the user on a Prism station, but if Users are sync’d from Lente, your changes
will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
More on ServerSync TBD (link)
diff --git a/docs/build/html/lente_cloud.html b/docs/build/html/lente_cloud.html
index 389906a3..88f28302 100644
--- a/docs/build/html/lente_cloud.html
+++ b/docs/build/html/lente_cloud.html
@@ -112,7 +112,7 @@ Lente/Postgres On Ins
git clone https://github.com/sistemicorp/scripts.git
Generate the cert/key file on each Prism/Lente computer.
See the settings.json to enable HTTPS and set the Prism/Lente password.
See the settings.json to enable HTTPS and set the Prism/Lente password.
In the browser, connect over HTTPs,
for Prism use https://127.0.0.1:6590
diff --git a/docs/build/html/_sources/_deployment.rst.txt b/docs/build/html/_sources/_deployment.rst.txt
index 6966b7a9..726797f2 100644
--- a/docs/build/html/_sources/_deployment.rst.txt
+++ b/docs/build/html/_sources/_deployment.rst.txt
@@ -2,7 +2,7 @@ Deployment
##########
Prism/Lente allows for various deployment strategies, and some diagrams
-are shown `here <_system.html#_system_arch>`__.
+are shown :ref:`here [BUGFIX] Fix/improve getting self IP address (implemented in 0.7.52)
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Test portal layout supports up to 8 test channels (jigs per Prism PC) (implemented in 0.7.43)
Index page shows time and date (implemented in 0.7.56)
Auto config test on startup, see settings.json (implemented in 0.7.64)
@@ -78,7 +78,7 @@ [BUGFIX] Fix/improve getting self IP address
-Support for UPCUA, see OPCUA
+Support for UPCUA, see OPCUA
Station Management portal can remotely,
request Prism Log (implemented in 0.7.48)
diff --git a/docs/build/html/lente_accounts.html b/docs/build/html/lente_accounts.html
index 4e46c259..0895f0af 100644
--- a/docs/build/html/lente_accounts.html
+++ b/docs/build/html/lente_accounts.html
@@ -49,7 +49,7 @@ -
-
-
- +
- @@ -63,38 +63,36 @@
Accounts
Users¶
Users should be added to the system, rather than using the Admin account.
-Users need to have unique username.
+Users need to have a unique username.
Users are added by another user (Admin) who has Account role privileges.
-A new User account must have the role Enabled in order to login.
+A new User account must be set Active in order to login.
Roles¶
The following roles are defined,
-"roles": { # Framework Roles - "ENABLED": "Enabled", - "ACCOUNT": "Account", + "ACCOUNT": "Account Admin, Add/Edit Roles & Users", "ADMIN": "Administrator", # rights to do anything # App specific Roles "OPERATOR": "Operator", - "CONFIGMAN": "Config Management", + "CONFIGMAN": "Configuration Management", "DEVELOPER": "Developer", "SERVERSYNC": "ServerSync", # causes user to be pushed to all stations },
- Enabled¶
-Without this role, the User cannot log into the system. When a User is created, -this role is NOT set. After a User is created, you must access the Roles menu -and add Enabled to the User for them to be able to login.
++ Active¶
+Active is not a Role. It is a separate setting on the Account Management page.
+Without Active set, the User cannot log into the system.
This allows you to disable a User without deleting their account.
Admin¶
The Admin(istrator) role has access to all system functions and menus.
-In general its good practice to have two Users with Admin role.
+In general it’s good practice to have two Users with Admin role.
Account¶
@@ -105,23 +103,23 @@OperatorPRISM ONLY
Basic role for operating Prism.
Operator allows the User to scan a traveller and run tests. -The User cannot use Test Config menu.
+The User cannot use Test Configuration page.ConfigMan¶
PRISM ONLY
-Allows the User to use the Test Config menu, which allows the user to pick which +
Allows the User to use the Test Configuration page, which allows the user to pick which script to run, and fill in any parameters for the script, and also to be able to create a Traveller.
Developer¶
-Currently this has no purpose.
+Same as Administrator, except without access to the account management pages.
ServerSync¶
A User with this setting means their profile is controlled from Lente. You -may edit the user here on Prism, but if Users are sync’d from Lente, your changes +may edit the user on a Prism station, but if Users are sync’d from Lente, your changes will be overridden by the profile on Lente.
All changes to this User should be made on Lente.
More on ServerSync TBD (link)
diff --git a/docs/build/html/lente_cloud.html b/docs/build/html/lente_cloud.html index 389906a3..88f28302 100644 --- a/docs/build/html/lente_cloud.html +++ b/docs/build/html/lente_cloud.html @@ -112,7 +112,7 @@Lente/Postgres On Ins git clone https://github.com/sistemicorp/scripts.git
Accounts
-
+ :return: <#>,
- (use Zero for a device shared across all channels)
where
#: >0 number of channels,
0 does not indicate num channels, like a shared hardware driver
@@ -87,7 +87,7 @@ Slot Number
-----------
When implementing python code to implement tests, there is a `channel (self.chan)` number and a `slot` number.
-The channel is how Prism indexes the running threads, usually from 0 to a max of 3. The slot number
+The channel is how Prism indexes the running threads, usually from 0 to a max of 7. The slot number
is a number used to setup configuration of the physical system.
diff --git a/docs/build/html/_sources/prism_programs.rst.txt b/docs/build/html/_sources/prism_programs.rst.txt
index ec6009a1..06b97033 100644
--- a/docs/build/html/_sources/prism_programs.rst.txt
+++ b/docs/build/html/_sources/prism_programs.rst.txt
@@ -8,7 +8,7 @@ A very minimalist ("hello world") (helloWorld.py) program file could look like t
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -40,7 +40,7 @@ And, a minimalist script file that uses this program code, could look like this,
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
@@ -72,11 +72,11 @@ Lets make some general comments about the above script/program before diving int
Program Class Structure
-----------------------
-Lets take a more detailed look at the program structrure,
+Lets take a more detailed look at the program structure,
::
- ! /usr/bin/env python
+ #! /usr/bin/env python
# -*- coding: utf-8 -*-
import logging
@@ -91,7 +91,7 @@ Lets take a more detailed look at the program structrure,
self.logger = logging.getLogger("SC.{}.{}".format(__name__, self.chan))
def sayHello(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
self.log_bullet("Hello World!")
self.item_end() # always last line of test
@@ -115,7 +115,7 @@ methods
::
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
* The last line of every method is
@@ -128,7 +128,7 @@ methods
context
^^^^^^^
-* ``context`` is your programmatic view of the script, and retrieving it is the first line of every method
+* ``ctx`` (context) is your programmatic view of the script, and retrieving it is the first line of every method
* consider a little more complicated script,
::
@@ -141,12 +141,12 @@ context
"location": "FACTORY1"
},
"config": {
- "drivers": ["public.prism.drivers.fake.fake"]
+ "drivers": ["public.prism.drivers.fake.hwdrv_fake"]
},
"tests": [
{
- "module": "public.prims.scripts.my_product.helloWorld",
- "options": { "fail_fast": False, "myVar": "something" },
+ "module": "public.prism.scripts.my_product.helloWorld",
+ "options": { "fail_fast": false, "myVar": "something" },
"items": [
{"id": "sayHello"},
{"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
@@ -162,7 +162,7 @@ context
::
def TST000_Meas(self):
- context = self.item_start() # always first line of test
+ ctx = self.item_start() # always first line of test
print(ctx.item) # = {"id": "TST000", "enable": True, "args": {"min": 0, "max": 10}}
print(ctx.item.args) # = {"min": 0, "max": 10}
@@ -175,13 +175,13 @@ context
* in Python, you can do ``print(dir(ctx))`` to get a list of everything available to you
* When designing your test script and program structure, consider what user configurable variables you want to be
defined in the script ``args`` section and which you want in the program. Things like min/max limits may change
- overt he product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
+ over the product life cycle, and its better to make those things editable by a non-programmer. See TBS-Planning
Everything Example
------------------
-Here is a fully documented program example that shows just about every feature of the Lente system. This
+Here is a fully documented program example that shows just about every feature of the Prism system. This
example program is distributed with the system, and may be more up to date than here, so please consult that example.
::
@@ -247,7 +247,7 @@ example program is distributed with the system, and may be more up to date than
# - ctx.record.fail_msg(msg)
# - add a fail message to the record
#
- # self.chan # this channel (0,1,2,3)
+ # self.chan # this channel (0-7)
#
# self.shared_state # instance of the shared state across all running test jigs
#
@@ -864,7 +864,7 @@ a "binning code" when a failure occurs.
The "binning mechanism" is provided by the ``fail`` field for the test item in the script. There is a list
of binning failure IDs (``fid``) with a corresponding ``msg`` for the user in the script. This is shown in the
-example ``TST000_Meas`` above. Repeated here.
+example ``TST001_Meas`` above. Repeated here.
Example Notes:
@@ -880,11 +880,11 @@ Example Notes:
::
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
- # fail: this is a list of 'fid' and 'msg' that get displayed and
- # recorded with the test record. The python code for this
- # test item assigns which item in the list best represents
- # the failure mode. This information is to assist repair.
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ // fail: this is a list of 'fid' and 'msg' that get displayed and
+ // recorded with the test record. The python code for this
+ // test item assigns which item in the list best represents
+ // the failure mode. This information is to assist repair.
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
@@ -892,12 +892,12 @@ Program code,
::
- def TST000_Meas(self):
+ def TST001_Meas(self):
""" Measurement example, with multiple failure messages
- example of taking multiple measurements, and sending as a list of results
- if any test fails, this test item fails
- {"id": "TST000_Meas", "enable": true, "args": {"min": 0, "max": 10},
+ {"id": "TST001_Meas", "enable": true, "args": {"min": 0, "max": 10},
"fail": [ {"fid": "TST000-0", "msg": "Component apple R1"},
{"fid": "TST000-1", "msg": "Component banana R1"}] },
"""
diff --git a/docs/build/html/_sources/prism_screenshots.rst.txt b/docs/build/html/_sources/prism_screenshots.rst.txt
index cc667567..4bc7b9f6 100644
--- a/docs/build/html/_sources/prism_screenshots.rst.txt
+++ b/docs/build/html/_sources/prism_screenshots.rst.txt
@@ -7,24 +7,24 @@ Title Page
.. image:: static/Screenshot_title_01.png
-Main view
-*********
+Scan Traveller page
+*******************
After the User has logged in, they may scan a traveller to configure Prism testing, or
-use the Test Configuration button to access scripts manually.
+use the Test Configuration page to access scripts manually.
-.. image:: static/Screenshot_main_01.png
+.. image:: static/Screenshot_prism_scan_traveller.png
-Test Config view
-****************
+Test Configuration page
+***********************
Simple (No Variables) Script
============================
-* A pull down dialog box allows the user to pick which script to run
+* Pull down selections allow the user to pick the script group, and then which script in that group to run
* The script is shown on the left. The script cannot be modified with this `Prism` view
-* The script is a JSON format text file, with the exception that lines begining with `#` are comment lines
+* The script is a JSON format text file, with the exception that lines beginning with `//` are comment lines
* This script example has no user configurable variables
.. image:: static/Screenshot_test_config_01.png
@@ -41,11 +41,12 @@ Variables Script
.. image:: static/Screenshot_test_config_02.png
-Test View
-*********
+Test Portal
+***********
* The result after 4 channels of the demo script have finished
* For each channel a log table is shown
+* Historical stats of your testing are shown in the plot on the left
.. image:: static/Screenshot_test_01.png
diff --git a/docs/build/html/_sources/prism_scripts.rst.txt b/docs/build/html/_sources/prism_scripts.rst.txt
index e6fae604..9cd7559c 100644
--- a/docs/build/html/_sources/prism_scripts.rst.txt
+++ b/docs/build/html/_sources/prism_scripts.rst.txt
@@ -9,7 +9,7 @@ Scripts
* JSON is used so that non-programmers may be able to read/edit [1]_ the script without requiring a
programming background. This is useful in development or emergency situations.
-* extend JSON a little bit, by allowing comments, any line begining with `//` is a comment. This allows
+* extend JSON a little bit, by allowing comments, any line beginning with `//` is a comment. This allows
the script to be documented
The ``script`` has the following sections,
@@ -38,7 +38,7 @@ In a production environment, operators are not typically allowed to arbitrarily
limits or any other setup. However, in an engineering lab, or new product ramp environment, having an easy method
to change some parameters might be useful. This feature does not have to be used.
-Only (logged in) users with a certain role privileges can access `Test Config`, and thus access to GUI controls that
+Only (logged in) users with a certain role privileges can access the `Test Configuration` page, and thus access to GUI controls that
use the `subs` feature. Otherwise `subs` are used to create a `Traveller`, which stores the `subs` used.
`subs` are useful for generating :ref:`prism_travellers:Travellers`.
@@ -54,7 +54,8 @@ Here is a full example of what `subs` section could look like (taken from exampl
// "type" : "
-
+
+
+
+
-
-
+
-
+use the Test Configuration page to access scripts manually.
+
@@ -80,11 +80,12 @@