Nomad Login Implementation¶
The Nomad Login Implementation is mainly the integration of Senddata into the Nomad application. Login will now be done in the Nomad client and data policy directories management by the Nomad server. Communication with SI is now done with a new REST/JSON server that replaces a Web-services based server.
User and password text fields from GUI splash screen are removed: Nomad starts using last login information if any (information given by the server), otherwise it starts in the mode “internal_use”.
The user can authenticate (login + password) in a modal window opened from a link below the menu bar.
Text for this link is either the current user's name or "internal_use", depending on the current connection state.
Once the user is authenticated:
- the link below the menu bar is renamed in user's name,
- he is asked to choose a proposal number – among the list of his own proposals – in a second modal window.
Once a proposal is selected, its number is reminded in a spy widget that can not be closed.
The user can later:
- choose another proposal if needed,
by clicking the link.
Nomad is enriched by adding a “super user” mode, that notably gives access to the hardware tab. The hardware tab is no longer accessible for common users.
Nomad Client¶The client is in charge of the login and the change of proposal. The client makes the following requests to the SI server:
- input: user/password
- output: list of proposals
- proposal selection
- input: proposal
- output: description of the proposal
- the current proposal
- the description of the proposal
The previous requests can be done in Settings (immediate setting of Properties) or in Launch Pad (differed setting of Properties) using a dedicated Command Box. The user must enter his login/password to validate the Command Box .The Launch Pad should not be startable in case of login failure.
The server is in charge of the data policy directory changes. The change of proposal is made by Property listeners that change the current data directory.
The Senddata application is used to perform the task, using at first a simple system call with success and failure response.
The proposal change can be simply done by Settings or Command Zone execution.
When the server is starting, it requests the SI server to get the current cycle. If the cycle is different from the last cycle it ran, the data directory is reset to "internal use".