diff --git a/README.md b/README.md index 87d1976..0b1d4be 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -Current Release: V4.0.3 +Current Release: V5.0.0 # Introduction +[Migrate from V4.0.3 to V5.0.0](docs/migrate-from-V4-to-V5.md) + This repository pulls in the src from the React Automation Studio repository https://github.com/React-Automation-Studio/React-Automation-Studio and acts a standalone boiler plate example project for React Automation Studio without having to delve into the source code of the master repository. If you wish to create a standalone AlarmHandler project you should clone this project: @@ -151,9 +153,9 @@ git tag ``` -To checkout version 4.0.3 run: +To checkout version 5.0.0 run: ```bash - git checkout tags/V4.0.3 + git checkout tags/V5.0.0 ``` @@ -162,7 +164,7 @@ To confirm the correct git submodule version : ```bash git submodule status ``` -Should contain `submodules/React-Automation-Studio (V4.0.3)` in the output for version 4.0.3 . +Should contain `submodules/React-Automation-Studio (V5.0.0)` in the output for version 5.0.0 . If not and you previously checked out a different version run: ```bash @@ -335,7 +337,7 @@ ls .env ``` If the .env file exists in the root folder, then edit it and set : ```bash -REACT_APP_EnableLogin=true +VITE_EnableLogin=true ``` If the .env file does not exist in the root folder, then: ```bash @@ -343,7 +345,7 @@ cp example.env .env ``` then edit .env and set: ```bash -REACT_APP_EnableLogin=true +VITE_EnableLogin=true ``` Make sure that the other parameters in the file are correct. Or see 4.1: @@ -353,7 +355,7 @@ The admin user will have full read and write access, whilst any other user will To enable Active Directory Authentication open the .env and add, (You will need to rebuild the docker images): ```bash -REACT_APP_EnableActiveDirectoryLogin=true +VITE_EnableActiveDirectoryLogin=true LDAP_HOST=ldap://xxxxxx LDAP_PORT=389 @@ -361,10 +363,10 @@ LDAP_PORT=389 To enable Active Directory Authentication open the .env and add, (You will need to rebuild the docker images): ```bash -Set REACT_APP_EnableGoogleLogin=true -REACT_APP_EnableGoogleLoginId= xxxxx +Set VITE_EnableGoogleLogin=true +VITE_EnableGoogleLoginId= xxxxx ``` -Set REACT_APP_EnableGoogleLoginId to your google client id for your domain +Set VITE_EnableGoogleLoginId to your google client id for your domain at https://console.developers.google.com/apis/credentials/ click create new credentials and the create a new oAuth id for the web app It needs an https domain. @@ -377,7 +379,7 @@ https://mydomain:3000 It is envisioned that in the future more external authentication mechanisms will be added. In this case one may want to disable the standard authentication. This can be done by setting: ```bash -REACT_APP_DisableStandardLogin=true +VITE_DisableStandardLogin=true ``` in the .env file. @@ -460,7 +462,7 @@ The token expiry is controlled by the following variables in the .env file. # 3.5 Disabling the demo components To disable the demo React components and links in development and production, in the .env file set ```bash - REACT_APP_DISABLE_DEMOS=true + VITE_DISABLE_DEMOS=true ``` **This will disable the default demo alarm pvs shown in the alarm handler's alarm table.** @@ -510,6 +512,62 @@ Site specific components and app screens should be kept in your repository. If y Contact us at Github Discussions: https://github.com/React-Automation-Studio/React-Automation-Studio/discussions +# Cite us + +If you use React Automation Studio in your research, please cite us as follows: + +``` +@inproceedings{duckitt:icalepcs2023-fr2bco01, + author = {W. Duckitt and J.K. Abraham and D. Marcato and G. Savarese}, + title = {{React Automation Studio: Modern Scientific Control with the Web}}, +% booktitle = {Proc. ICALEPCS'23}, + booktitle = {Proc. 19th Int. Conf. Accel. Large Exp. Phys. Control Syst. (ICALEPCS'23)}, + eventdate = {2023-10-09/2023-10-13}, + pages = {1643--1649}, + paper = {FR2BCO01}, + language = {english}, + keywords = {EPICS, controls, interface, GUI, framework}, + venue = {Cape Town, South Africa}, + series = {International Conference on Accelerator and Large Experimental Physics Control Systems}, + number = {19}, + publisher = {JACoW Publishing, Geneva, Switzerland}, + month = {01}, + year = {2024}, + issn = {2226-0358}, + isbn = {978-3-95450-238-7}, + doi = {10.18429/JACoW-ICALEPCS2023-FR2BCO01}, + url = {https://jacow.org/icalepcs2023/papers/fr2bco01.pdf}, + abstract = {{React Automation Studio is a progressive web application framework that enables the control of large scientific equipment through EPICS from any smart device connected to a network. With built-in advanced features such as reusable widgets and components, macro substitution, OAuth 2.0 authentication, access rights administration, alarm-handing with notifications, diagnostic probes and archived data viewing, it allows one to build modern, secure and fully responsive control user interfaces and overview screens for the desktop, web browser, TV, mobile and tablet devices. A general overview of React Automation Studio and its features as well as the system architecture, implementation, community involvement and future plans for the system is presented. }}, +} +``` +or: https://doi.org/10.18429/JACoW-ICALEPCS2023-FR2BCO01 + + and: + + ``` + @InProceedings{duckitt:cyclotrons2019-tha03, + author = {W. Duckitt and J.K. Abraham}, + title = {{React Automation Studio: A New Face to Control Large Scientific Equipment}}, + booktitle = {Proc. Cyclotrons'19}, + pages = {285--288}, + paper = {THA03}, + language = {english}, + keywords = {EPICS, controls, GUI, interface, cyclotron}, + venue = {Cape Town, South Africa}, + series = {International Conference on Cyclotrons and their Applications}, + number = {22}, + publisher = {JACoW Publishing, Geneva, Switzerland}, + month = {jun}, + year = {2020}, + isbn = {978-3-95450-205-9}, + doi = {10.18429/JACoW-Cyclotrons2019-THA03}, + url = {http://jacow.org/cyclotrons2019/papers/tha03.pdf}, + note = {https://doi.org/10.18429/JACoW-Cyclotrons2019-THA03}, +} + ``` + or: https://doi.org/10.18429/JACoW-Cyclotrons2019-THA03 + + # FAQ ### 1. Which operating systems are supported? @@ -523,6 +581,40 @@ Contact us at Github Discussions: https://github.com/React-Automation-Studio/Rea The docker containers for RAS run in network mode host. This is done to enable EPICS to communicate seamlessly with any IOC's on the same subnet as the host. Other OSes such as Windows may not support the host mode and will run in the bridged mode. This may break the communication between the micro services. It is therefore recommended to run the RAS containers on a Linux VM that is minimally running Ubuntu Server. Please ensure the the VM network interface is assigned an IP on the same subnet as your EPICS network in order for communication with the IOC's to occur seamlessly. # Changelog + + V5.0.0 Friday 02 February 2024 Major Updates: + + New Features: + + Breaking Changes: + + + [Migrate from V4.0.3 to V5.0.0](docs/migrate-from-V4-to-V5.md) + +
+ V4.0.3 Friday 27 October 2023 Minor Updates: