From 78cadd7bef9c510c33a464584a43aa0b8a06dbb3 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Fri, 25 Oct 2024 08:53:33 +0200 Subject: [PATCH] instructions and specifications for daniels work --- instructions_specifications.md | 143 +++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 instructions_specifications.md diff --git a/instructions_specifications.md b/instructions_specifications.md new file mode 100644 index 0000000..b4c72b5 --- /dev/null +++ b/instructions_specifications.md @@ -0,0 +1,143 @@ +# Installation + +python virtual env machen: + +> python3 -m venv myenv + +aktivieren dieser venv (wiederholen bei jeder session): + +> source myenv/activate + +seweb git repo klonen (token ist max. ein Jahr gueltig): + +> git clone https://dm:krChVHhLuAntP-sG1T1g@gitlab.psi.ch/samenv/seweb.git + +> cd seweb + +in deinen Entwicklungsbranch wechseln: + +> git switch daniel + +noetige packages installieren (wird in myenv gepackt!) + +> pip3 install -r requirements.txt + +# First Run + +demo frappy server starten + +> frappy-server cryo,test -p 5000 + +dieses Terminal offen lassen, neues Terminal starten + +> source myenv/activate +> cd seweb + +dummy webserver starten, verbindet mit obigem frappy server + +> ./dummy-webserver port=8888 instrument=test hostport=localhost:5000 + +webclient im browser starten mit http://localhost:8888/ + +# git + +Branches anzeigen: + +> git branch + +In deinen Branch gehen, wenn nicht schon da: + +> git switch daniel + +## Aenderungen pushen + +fuer jede thematisch zusammenhaenge Aenderung einen Commit machen: + +> git add +> git commit -a -m "repalce icons by nicer ones" + +Wenn Du den teil beginnend mit -m weglaesst, oeffnet sich der default Editor, +dann kannst Du auch mehrzeilige Kommentare machen. 1. Zeile: Titel, 2. Zeile leer +ab 3. Zeile: Text, nicht breiter als ca. 72 Zeichen + +> git push + +## Aenderungen vom repo uebernehmen + +Wenn noch offene Aenderungen da sind, die Du noch nicht committen willst, +kannst Du diese Aenderungen zwischenlagern (ist ein Stapel!) + +> git stash + +Zum master branch wechseln, und diesen runterziehen vom Repo: + +> git switch master +> git pull + +Die Aenderungen vom master in Deinen branch uebernehmen: + +> git switch daniel +> git rebase + +Falls Konflikte entstehen, bekommst Du eine entsprechende Meldung + +Wenn diese geloest sind, Deine vorher zwischengespeicherten offenen Aenderungen zurueckholen + +> git stash pop + + +## Tile Layout + +4 types of blocks/tiles: +graphics +moduleblock (list of modules with main values), (goodie: foldable groups) +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) +allow to swipe when touch device is available (do we need this?) + +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) +swipe not possible + +## moduleblocks + + on each row: +colored indicator depending on status (yellow: driving, 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 + +## 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 increasing width +nderungen wieder zur