# 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://@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 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