diff --git a/README.md b/README.md index 15bff9267de4fa5d6a80f182d5ed79cfe09fc56d..4aefbe4bbb2413551b04efd5ddf8a7d5f5da6d38 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Subdirectories: GoogleCardboardAndroid: Demos for Google Cardboard (android) CAVE: Demos for LRZ CAVE-like environment (linux) - NOMADVRLib: Shared code between HTC Vive and GearVR demos related to NOMAD. + NOMADVRLib: Shared code between HTC Vive, GearVR and Google Cardboard demos related to NOMAD. libs: Other (external) supporting libs shared by HTC Vive, GearVR, Cardboard and CAVE demos webserver: @@ -13,3 +13,5 @@ Subdirectories: More platforms will be added in the future. +The code is distributed under the Apache 2.0 License (See LICENSE file). + diff --git a/webserver/cgi-bin/NOMAD/material b/webserver/cgi-bin/NOMAD/material index e81f4551c2c166128337546e6483e17c1aebfade..7dc41b652f6f3a51953a58af291fe5a46491c1e2 100644 --- a/webserver/cgi-bin/NOMAD/material +++ b/webserver/cgi-bin/NOMAD/material @@ -1,8 +1,25 @@ #!/bin/bash + + # Copyright 2016-2018 The NOMAD Developers Group + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + +source ../../pass + if [[ "$QUERY_STRING" -eq "" ]] then #echo Location: /NOMAD/ - echo Location:http://mrs-srv.srv.lrz.de/NOMAD/ + echo Location:https://www.nomad-coe.eu/the-project/graphics/VR-prototype echo '' else #rgh: text/plain works in pc but android chrome saves it as .txt, removing the extension @@ -15,13 +32,20 @@ else /usr/bin/mkdir $RAND cd $RAND +#pre 2018: http://encyclopedia-api.nomad-coe.eu/v1.0/saml/ +#post 2018: +SAMLURL=https://encyclopedia.nomad-coe.eu/api/v1.0/saml/ + wget --save-cookies cookies.txt \ --keep-session-cookies \ - --no-check-certificate http://encyclopedia-api.nomad-coe.eu/v1.0/saml/ -O login.html >/dev/null 2>&1 + --no-check-certificate $SAMLURL -O login.html >/dev/null 2>&1 URL=`grep "form action" login.html |cut -f 2 -d \" |head -n 1` -wget --save-cookies cookies2.txt --keep-session-cookies --load-cookies cookies.txt --no-check-certificate "https://idp.nomad-coe.eu$URL&j_username=vrconfigurator&j_password=iFOCkuwxZC6i&_eventId_proceed" -O a.html >/dev/null 2>&1 +wget --save-cookies cookies2.txt --keep-session-cookies --load-cookies cookies.txt --no-check-certificate \ + "https://idp.nomad-coe.eu$URL&j_username=$USER&j_password=$PASS&_eventId_proceed" -O a.html >/dev/null 2>&1 URL=`grep "form action" a.html |cut -f 2 -d \" |head -n 1` -wget --save-cookies cookies3.txt --keep-session-cookies --load-cookies cookies2.txt --no-check-certificate "https://idp.nomad-coe.eu$URL&_shib_idp_consentOptions=_shib_idp_globalConsent&_eventId_proceed" -O b.html >/dev/null 2>&1 +wget --save-cookies cookies3.txt --keep-session-cookies --load-cookies cookies2.txt --no-check-certificate \ + "https://idp.nomad-coe.eu$URL&_shib_idp_consentOptions=_shib_idp_globalConsent&_eventId_proceed" \ + -O b.html >/dev/null 2>&1 #now continue, as we don't support javascript :o) URL2=`echo $URL |cut -f 1 -d \?` @@ -30,30 +54,51 @@ RELAY=`grep RelayState b.html |cut -f6 -d \"` SAML=`grep SAMLResponse b.html |cut -f6 -d \"` #rgh: since 25-09-2017, this line gives "invalid url" (possibly curl update) #RELAY="https%3A%2F%2Fencyclopedia-api.nomad-coe.eu%2Fv1.0%2Fsaml%2F" -RELAY="https://encyclopedia-api.nomad-coe.eu/v1.0/saml/" +#pre-2018 +#RELAY="https://encyclopedia-api.nomad-coe.eu/v1.0/saml/" +RELAY=$SAMLURL #echo relay is $RELAY -curl -L -c cookies3.txt -X GET -F "RelayState=$RELAY" -F "SAMLResponse=$SAML" "https://encyclopedia-api.nomad-coe.eu/v1.0/saml/?acs" -o resp.json >/dev/null 2>&1 + +MATERIALSURL=https://encyclopedia.nomad-coe.eu/api/v1.0/materials + +curl -L -c cookies3.txt -X GET -F "RelayState=$RELAY" -F "SAMLResponse=$SAML" "$SAMLURL?acs" -o resp.json >/dev/null 2>&1 TOKEN=`grep data resp.json |cut -f 4 -d \"` mkdir $MAT cd $MAT - wget --no-check-certificate --user "$TOKEN" --password "" https://encyclopedia-api.nomad-coe.eu/v1.0/materials/$MAT/cells?pagination=off -O material_cells.json >/dev/null 2>&1 - wget --no-check-certificate --user "$TOKEN" --password "" https://encyclopedia-api.nomad-coe.eu/v1.0/materials/$MAT/elements?pagination=off -O material_elements.json >/dev/null 2>&1 + wget --no-check-certificate --user "$TOKEN" --password "" $MATERIALSURL/$MAT/cells?pagination=off -O material_cells.json >/dev/null 2>&1 + wget --no-check-certificate --user "$TOKEN" --password "" $MATERIALSURL/$MAT/elements?pagination=off -O material_elements.json >/dev/null 2>&1 echo \# Material $QUERY_STRING >> $MAT.ncfg echo background 0 0 0 >> $MAT.ncfg echo atomscaling 0.5 >> $MAT.ncfg echo json material >> $MAT.ncfg + echo displaybonds >> $MAT.ncfg + echo displayunitcell >> $MAT.ncfg + echo showcontrollers >> $MAT.ncfg cd .. - zip -r $MAT $MAT >/dev/null 2>&1 + if grep html $MAT/material_cells.json > /dev/null ; then + echo "CGI backend for NOMAD VR: Encyclopedia API issue. Material $MAT" | + mailx -s 'CGI backend for NOMAD VR: Encyclopedia API issue' $EMAIL + echo "Content-type: text/html" + echo '' + echo "" + echo "VR backend currently being updated" + echo "" + echo "VR backend currently being updated." + echo "Please contact us if the problem persists." + echo "" + else + zip -r $MAT $MAT >/dev/null 2>&1 - echo "Content-type: application/octet-stream" - echo "Content-disposition: attachment; filename=${QUERY_STRING}.zip" - echo '' - cat $MAT.zip + echo "Content-type: application/octet-stream" + echo "Content-disposition: attachment; filename=${QUERY_STRING}.zip" + echo '' + cat $MAT.zip + fi cd .. -# \rm -r $RAND + \rm -r $RAND fi diff --git a/webserver/pass b/webserver/pass new file mode 100644 index 0000000000000000000000000000000000000000..35953d707aac3f28b25ae139b7e6cd58d65a66ae --- /dev/null +++ b/webserver/pass @@ -0,0 +1,7 @@ +#Username and password to authentificate with the IDP +export USER= +export PASS= + +#Notification email +export EMAIL= +