168 lines
4.2 KiB
Markdown
168 lines
4.2 KiB
Markdown
# Installation
|
|
|
|
create python virtual env (you might choose another name than 'myenv'):
|
|
|
|
python3 -m venv myenv
|
|
|
|
aktivate this venv (to be repeated for each session):
|
|
|
|
source myenv/bin/activate
|
|
|
|
clone seweb git repository (token is valid for one year only):
|
|
|
|
git clone https://<token>@gitlab.psi.ch/samenv/seweb.git
|
|
cd seweb
|
|
|
|
switch to your development branch:
|
|
|
|
git switch daniel
|
|
|
|
instal needed packages (goes into myenv)
|
|
|
|
pip3 install -r requirements.txt
|
|
|
|
# First Run
|
|
|
|
start demo frappy server
|
|
|
|
frappy-server cryo,test -p 5000
|
|
|
|
this terminal should stay open, now open another terminal and type:
|
|
|
|
source myenv/activate
|
|
cd seweb
|
|
|
|
start dummy webserver, connects with above frappy server
|
|
|
|
./dummy-webserver port=8888 instrument=test hostport=localhost:5000
|
|
|
|
start webclient in browser with http://localhost:8888/
|
|
|
|
# git
|
|
|
|
show branches:
|
|
|
|
git branch
|
|
|
|
switch to your branch, if not yet there:
|
|
|
|
git switch daniel
|
|
|
|
## Aenderungen pushen
|
|
|
|
make a commit for each batch of coherent code changes:
|
|
|
|
git add <new files>
|
|
git commit -a -m "replace icons by nicer ones"
|
|
|
|
If the part starting by '-m' is omitted, the default editor opens,
|
|
this is helpful for create an extended commit message.
|
|
Keep the following format: first line summary, empty 2nd line,
|
|
then more lines may follow. Keep witdh within about 72 chars.
|
|
|
|
git push
|
|
|
|
## Merge changes from other developers
|
|
|
|
Assume there are some changes in branch 'master' you want to
|
|
include in your branch.
|
|
If you have uncommitted chanes you do not want to commit yet,
|
|
you may save this changes temporarely on a stack:
|
|
|
|
git stash
|
|
|
|
Change to master branch and pull the current version:
|
|
|
|
git switch master
|
|
git pull
|
|
|
|
Take over these changes in your branch:
|
|
|
|
git switch daniel
|
|
git rebase
|
|
|
|
If conflicts arise, read carefully the instructions and follow them.
|
|
|
|
After this, in case you did the git stash command above, you want get back your current modifications now:
|
|
|
|
git stash pop
|
|
|
|
|
|
# Specifications
|
|
|
|
## Swiping
|
|
|
|
Remove swiper completely. Marek and me decied this after the meeting.
|
|
The benefit is not worth the effort to solve problems.
|
|
|
|
Problems:
|
|
|
|
- swiping is used in graphics for something else
|
|
- swiping is used in web pages also for going back in history
|
|
|
|
|
|
## Tile Layout
|
|
|
|
4 types of blocks/tiles:
|
|
- graphics
|
|
- moduleblock (list of modules with main values),
|
|
(goodie: foldable groups, may need some changes in the server code)
|
|
- parblock (editable list of parameters) (goodie: foldable groups)
|
|
- logblock (log messages) placed in right bottom quarter
|
|
|
|
console is no longer used!
|
|
|
|
(x) means a button in the top right corner
|
|
|
|
for narrow windows < 2w:
|
|
|
|
- show moduleblock by default
|
|
- (x) on graphics: go to moduleblock
|
|
- (x) on modules: go to graphics
|
|
- clicking on moduleblock: open parblock
|
|
- (x) on parblock: go to moduleblock
|
|
- logblock is shown by clicking on right bottom icon
|
|
(not available with graphics) and hidden with (x)
|
|
|
|
for broader windows:
|
|
|
|
- show graphics + moduleblock by default
|
|
- (x) not shown on graphics by default
|
|
- (x) on modules: full screen graphics
|
|
- click on a module row (or a 'details' icon): add parblock,
|
|
do not overwrite moduleblock when window is broad enough (width > 3.5w)
|
|
- (x) on parblock (close parblock and reveal moduleblock if hidden)
|
|
- logblock is shown by clicking on right bottom icon and hidden with (x)
|
|
|
|
## moduleblocks
|
|
|
|
on each row:
|
|
- colored indicator depending on status
|
|
(yellow: busy, orange: warn, red: error)
|
|
- red also when value is in error
|
|
- edit icon for changing the target parameter of the module,
|
|
if available
|
|
- 'details' icon for open the corresponding parblock
|
|
(instead or in addittion to link on name)
|
|
|
|
## parblocks
|
|
|
|
orange when parameter is in error (update message with error
|
|
instead of value: show a little icon with hover revealing error text)
|
|
|
|
## logging
|
|
|
|
use logging feature of SECoP - needs some work on the server (Markus)
|
|
|
|
## resizing window
|
|
|
|
- hide parameters when size < 3.5w
|
|
- hide graphics when size < 2w
|
|
- show graphics when size > 2w
|
|
- it is not needed to show the parblock again when width is increased
|
|
|
|
## nicer icons
|
|
|
|
- replace the (x) in modules by an icon for the graphics (e.g. a sine wave)
|
|
- replcae the (x) on graphics by an icon for the modules
|