4.2 KiB
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