Loading tools/max.sh +75 −139 Original line number Diff line number Diff line Loading @@ -9,9 +9,11 @@ MAX_TEI_DEMO_VERION_NUMBER="v1.2" MAX_TEI_DEMO_VERSION="max-tei-demo-"$MAX_TEI_DEMO_VERION_NUMBER MAX_EAD_DEMO_VERION_NUMBER="v1.0" MAX_EAD_DEMO_VERSION="max-ead-demo-"$MAX_EAD_DEMO_VERION_NUMBER #lorsque gitlab sera en version 14.9 ou + : https://host/namespace/project/-/releases/permalink/latest TEI_DEMO_RELEASE_URL="https://git.unicaen.fr/pdn-certic/max-tei-demo/-/archive/"$MAX_TEI_DEMO_VERION_NUMBER"/"$MAX_TEI_DEMO_VERSION".zip" EAD_DEMO_RELEASE_URL="https://git.unicaen.fr/pdn-certic/max-ead-demo/-/archive/"$MAX_EAD_DEMO_VERION_NUMBER"/"$MAX_EAD_DEMO_VERSION".zip" SAXON_HE_URL=https://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE/11.2/Saxon-HE-11.2.jar FOP_URL=https://files.basex.org/modules/org/basex/modules/fop/FOP.jar dependency_test(){ result=$(command -v $1) Loading @@ -24,12 +26,31 @@ dependency_test(){ fi } install_jar_in_libs(){ jar_url=$1 jar_name=`basename $jar_url` basex_libs=`which $BASEX_BIN` d=`dirname $basex_libs`/../lib if [ ! -f $d/$jar_name ] then wget $jar_url ret_code=$? if [ $ret_code -gt 0 ] then echo 'Cannot install jar '$jar_url exit -1 else mv $jar_name $d fi fi echo $jar_name': ok' } echo "---------------------------" echo " MaX - Utilities - "$MAX_VERSION echo "---------------------------" dependencies=(wget npm xmllint) for bin in ${dependencies[@]} Loading @@ -53,6 +74,12 @@ else fi fi #checks if fop & saxon he jar are in basex libs echo "" install_jar_in_libs $SAXON_HE_URL install_jar_in_libs $FOP_URL echo "" display_usage(){ echo "" echo "" Loading Loading @@ -151,10 +178,11 @@ db_project_feed(){ ret_code=$? if [ $ret_code -gt 0 ] then echo "Cannot insert data in DB. Is your BaseX running on "$PORT" ?" rm feed.txt return 1 else rm feed.txt echo "INFO: The "$1" DB was successfully created." rm feed.txt return 0 fi } Loading @@ -167,11 +195,29 @@ db_demo_feed(){ return $ret_code } #is project already declared in main config file ? check_project_xinclude(){ edition_name=$1 a=$($BASEX_BIN -bprojectId=$edition_name -bmaxPath=$DIRECTORY/.. $DIRECTORY"/xq/check_config_exists.xq") if [ $a == 0 ] then echo 'Edition '$edition_name' is already declared in configuration file. Remove it before installing your edition.' echo 'Installation stopped !' return 1 fi return 0 } # demo edition deployment install_demo(){ url=$1 zip_name=$2 edition_name=$3 check_project_xinclude $edition_name if [ $? -gt 0 ] then exit -1 fi if [ ! -d $DIRECTORY/../editions ] then Loading @@ -186,7 +232,7 @@ install_demo(){ fi cd $DIRECTORY/../editions echo "Downloading Max Demo resources at "$urlcd . echo "Downloading Max Demo resources at "$url . wget $url getResult=$? if [ $getResult -ne 0 ] Loading @@ -199,6 +245,15 @@ install_demo(){ rm $zip_name.zip cd $DIRECTORY db_demo_feed $edition_name ret_code=$? if [ $ret_code -gt 0 ] then echo $edition_name": installation failed" rm -rf $DIRECTORY/../editions/$edition_name return 1 fi #enable plugins if [ $edition_name == 'max_tei_demo' ] then Loading @@ -224,17 +279,8 @@ install_demo(){ format_configuration_file fi db_demo_feed $edition_name ret_code=$? if [ $ret_code -gt 0 ] then echo $edition_name": installation failed" return 1 else echo "INFO: The edition "$edition_name" was successfully deployed." return 0 fi } Loading @@ -243,9 +289,23 @@ deploy_new_edition(){ read -e -p "Project ID ? " project_id read -e -p "XML Project type (tei, ead, ...) ? " xmlns read -e -p "Database path ? " db_path check_project_xinclude $project_id if [ $? -gt 0 ] then exit -1 fi new_edition_build $project_id $db_path $xmlns read -e -p "XML sources path ? " data_path db_project_feed $db_path $data_path ret_code=$? if [ $ret_code -gt 0 ] then echo 'Process failed' return -1 fi mkdir -p $DIRECTORY/../editions/$project_id/fragments/fr mkdir $DIRECTORY/../editions/$project_id/xq mkdir $DIRECTORY/../editions/$project_id/ui Loading Loading @@ -341,11 +401,6 @@ then cp $DIRECTORY/../configuration/configuration.dist.xml $DIRECTORY/../configuration/configuration.xml fi #NEW_EDITION_MODE='-n' #DEMO_MODE='-d' #INIT_MODE='-i' #CHOOSEN_MODE='' while [[ "$#" -gt 0 ]]; do case $1 in Loading @@ -353,7 +408,6 @@ while [[ "$#" -gt 0 ]]; do exit 0;; -p) PORT="$2"; shift ;; -n) deploy_new_edition;exit 0;; # -n|-d|-i) CHOOSEN_MODE="$1"; shift ;; -i) init_dev_max;exit 0;; --d-tei) install_demo $TEI_DEMO_RELEASE_URL $MAX_TEI_DEMO_VERSION max_tei_demo;exit 0;; --d-ead) install_demo $EAD_DEMO_RELEASE_URL $MAX_EAD_DEMO_VERSION max_ead_demo;exit 0;; Loading @@ -365,121 +419,3 @@ while [[ "$#" -gt 0 ]]; do shift done if [ -z $CHOOSEN_MODE ] then display_usage exit 1 fi #demo_edition_build(){ # if [ ! -d $DIRECTORY/../editions ] # then # echo 'Creates "editions" directory.' # mkdir $DIRECTORY/../editions # fi # # if [ -d $DIRECTORY/../editions/max_tei_demo ]; then # echo "Removes existing demo edition." # rm -rf $DIRECTORY/../editions/max_tei_demo # fi # ## cp -r $DIRECTORY/demo/demo_edition $DIRECTORY/../editions/demo_lorem ## cp $DIRECTORY/demo/demo_lorem_config_inc.xml $DIRECTORY/../editions/demo_lorem ## echo " -> resource files copy: DONE" # cd $DIRECTORY/../editions # echo "Downloading Max TEI Demo resources" # # wget $TEI_DEMO_RELEASE_URL # # getResult=$? # if [ $getResult -ne 0 ] # then # echo 'MaX demo install error : Cannot fetch '$TEI_DEMO_RELEASE_URL # exit -1 # fi # unzip $MAX_TEI_DEMO_VERSION.zip # mv $MAX_TEI_DEMO_VERSION max_tei_demo # rm $MAX_TEI_DEMO_VERSION.zip # cd $DIRECTORY # # # enable project plugins # enable_plugin apparat_critique max_tei_demo # enable_plugin breadcrumb max_tei_demo # enable_plugin correction max_tei_demo # enable_plugin img_viewer max_tei_demo # enable_plugin search max_tei_demo # enable_plugin tei_pdf max_tei_demo # include_project_config max_tei_demo # # if [ $? -ne 0 ] # then # echo 'Process failed' # exit 1 # else # format_configuration_file # fi #} #if [ $CHOOSEN_MODE == $NEW_EDITION_MODE ] #then # read -e -p "Project ID ? " project_id # read -e -p "XML Project type (tei, ead, ...) ? " xmlns # read -e -p "Database path ? " db_path # new_edition_build $project_id $db_path $xmlns # read -e -p "XML sources path ? " data_path # db_project_feed $db_path $data_path # mkdir -p $DIRECTORY/../editions/$project_id/fragments/fr # mkdir $DIRECTORY/../editions/$project_id/xq # mkdir $DIRECTORY/../editions/$project_id/ui # mkdir $DIRECTORY/../editions/$project_id/ui/css # mkdir $DIRECTORY/../editions/$project_id/ui/fonts # mkdir $DIRECTORY/../editions/$project_id/ui/i18n # mkdir $DIRECTORY/../editions/$project_id/ui/images # mkdir $DIRECTORY/../editions/$project_id/ui/js # mkdir $DIRECTORY/../editions/$project_id/ui/templates # mkdir $DIRECTORY/../editions/$project_id/ui/xsl # # touch $DIRECTORY/../editions/$project_id/ui/css/$project_id.css # # #creates about frag page # touch $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "<section>" > $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "<h1>À propos</h1>" >> $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "<p>Modifiez moi dans editions/$project_id/fragments/fr/about.frag.html.</p>" >> $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "</section>" >> $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # # cp $DIRECTORY/menu_default.xml $DIRECTORY/../editions/$project_id/menu.xml # if [ $xmlns = 'ead' ] # then # enable_plugin 'ead_basket' # enable_plugin 'side_toc' # fi # echo '' # echo "Project "$project_id" is ready !" # exit 0 #fi #if [ $CHOOSEN_MODE == $DEMO_MODE ] #then # demo_edition_build # db_demo_feed max_tei_demo # exit 0 #fi #if [ $CHOOSEN_MODE == $INIT_MODE ] #then # init_dev_max # exit 0 #fi tools/xq/check_config_exists.xq 0 → 100644 +9 −0 Original line number Diff line number Diff line (: Check if a project is already declared in the main configuration file:) declare variable $maxPath external; declare variable $projectId external; let $config:= doc($maxPath||'/configuration/configuration.xml') return if($config//edition[@xml:id=$projectId]) then 0 else -1 Loading
tools/max.sh +75 −139 Original line number Diff line number Diff line Loading @@ -9,9 +9,11 @@ MAX_TEI_DEMO_VERION_NUMBER="v1.2" MAX_TEI_DEMO_VERSION="max-tei-demo-"$MAX_TEI_DEMO_VERION_NUMBER MAX_EAD_DEMO_VERION_NUMBER="v1.0" MAX_EAD_DEMO_VERSION="max-ead-demo-"$MAX_EAD_DEMO_VERION_NUMBER #lorsque gitlab sera en version 14.9 ou + : https://host/namespace/project/-/releases/permalink/latest TEI_DEMO_RELEASE_URL="https://git.unicaen.fr/pdn-certic/max-tei-demo/-/archive/"$MAX_TEI_DEMO_VERION_NUMBER"/"$MAX_TEI_DEMO_VERSION".zip" EAD_DEMO_RELEASE_URL="https://git.unicaen.fr/pdn-certic/max-ead-demo/-/archive/"$MAX_EAD_DEMO_VERION_NUMBER"/"$MAX_EAD_DEMO_VERSION".zip" SAXON_HE_URL=https://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE/11.2/Saxon-HE-11.2.jar FOP_URL=https://files.basex.org/modules/org/basex/modules/fop/FOP.jar dependency_test(){ result=$(command -v $1) Loading @@ -24,12 +26,31 @@ dependency_test(){ fi } install_jar_in_libs(){ jar_url=$1 jar_name=`basename $jar_url` basex_libs=`which $BASEX_BIN` d=`dirname $basex_libs`/../lib if [ ! -f $d/$jar_name ] then wget $jar_url ret_code=$? if [ $ret_code -gt 0 ] then echo 'Cannot install jar '$jar_url exit -1 else mv $jar_name $d fi fi echo $jar_name': ok' } echo "---------------------------" echo " MaX - Utilities - "$MAX_VERSION echo "---------------------------" dependencies=(wget npm xmllint) for bin in ${dependencies[@]} Loading @@ -53,6 +74,12 @@ else fi fi #checks if fop & saxon he jar are in basex libs echo "" install_jar_in_libs $SAXON_HE_URL install_jar_in_libs $FOP_URL echo "" display_usage(){ echo "" echo "" Loading Loading @@ -151,10 +178,11 @@ db_project_feed(){ ret_code=$? if [ $ret_code -gt 0 ] then echo "Cannot insert data in DB. Is your BaseX running on "$PORT" ?" rm feed.txt return 1 else rm feed.txt echo "INFO: The "$1" DB was successfully created." rm feed.txt return 0 fi } Loading @@ -167,11 +195,29 @@ db_demo_feed(){ return $ret_code } #is project already declared in main config file ? check_project_xinclude(){ edition_name=$1 a=$($BASEX_BIN -bprojectId=$edition_name -bmaxPath=$DIRECTORY/.. $DIRECTORY"/xq/check_config_exists.xq") if [ $a == 0 ] then echo 'Edition '$edition_name' is already declared in configuration file. Remove it before installing your edition.' echo 'Installation stopped !' return 1 fi return 0 } # demo edition deployment install_demo(){ url=$1 zip_name=$2 edition_name=$3 check_project_xinclude $edition_name if [ $? -gt 0 ] then exit -1 fi if [ ! -d $DIRECTORY/../editions ] then Loading @@ -186,7 +232,7 @@ install_demo(){ fi cd $DIRECTORY/../editions echo "Downloading Max Demo resources at "$urlcd . echo "Downloading Max Demo resources at "$url . wget $url getResult=$? if [ $getResult -ne 0 ] Loading @@ -199,6 +245,15 @@ install_demo(){ rm $zip_name.zip cd $DIRECTORY db_demo_feed $edition_name ret_code=$? if [ $ret_code -gt 0 ] then echo $edition_name": installation failed" rm -rf $DIRECTORY/../editions/$edition_name return 1 fi #enable plugins if [ $edition_name == 'max_tei_demo' ] then Loading @@ -224,17 +279,8 @@ install_demo(){ format_configuration_file fi db_demo_feed $edition_name ret_code=$? if [ $ret_code -gt 0 ] then echo $edition_name": installation failed" return 1 else echo "INFO: The edition "$edition_name" was successfully deployed." return 0 fi } Loading @@ -243,9 +289,23 @@ deploy_new_edition(){ read -e -p "Project ID ? " project_id read -e -p "XML Project type (tei, ead, ...) ? " xmlns read -e -p "Database path ? " db_path check_project_xinclude $project_id if [ $? -gt 0 ] then exit -1 fi new_edition_build $project_id $db_path $xmlns read -e -p "XML sources path ? " data_path db_project_feed $db_path $data_path ret_code=$? if [ $ret_code -gt 0 ] then echo 'Process failed' return -1 fi mkdir -p $DIRECTORY/../editions/$project_id/fragments/fr mkdir $DIRECTORY/../editions/$project_id/xq mkdir $DIRECTORY/../editions/$project_id/ui Loading Loading @@ -341,11 +401,6 @@ then cp $DIRECTORY/../configuration/configuration.dist.xml $DIRECTORY/../configuration/configuration.xml fi #NEW_EDITION_MODE='-n' #DEMO_MODE='-d' #INIT_MODE='-i' #CHOOSEN_MODE='' while [[ "$#" -gt 0 ]]; do case $1 in Loading @@ -353,7 +408,6 @@ while [[ "$#" -gt 0 ]]; do exit 0;; -p) PORT="$2"; shift ;; -n) deploy_new_edition;exit 0;; # -n|-d|-i) CHOOSEN_MODE="$1"; shift ;; -i) init_dev_max;exit 0;; --d-tei) install_demo $TEI_DEMO_RELEASE_URL $MAX_TEI_DEMO_VERSION max_tei_demo;exit 0;; --d-ead) install_demo $EAD_DEMO_RELEASE_URL $MAX_EAD_DEMO_VERSION max_ead_demo;exit 0;; Loading @@ -365,121 +419,3 @@ while [[ "$#" -gt 0 ]]; do shift done if [ -z $CHOOSEN_MODE ] then display_usage exit 1 fi #demo_edition_build(){ # if [ ! -d $DIRECTORY/../editions ] # then # echo 'Creates "editions" directory.' # mkdir $DIRECTORY/../editions # fi # # if [ -d $DIRECTORY/../editions/max_tei_demo ]; then # echo "Removes existing demo edition." # rm -rf $DIRECTORY/../editions/max_tei_demo # fi # ## cp -r $DIRECTORY/demo/demo_edition $DIRECTORY/../editions/demo_lorem ## cp $DIRECTORY/demo/demo_lorem_config_inc.xml $DIRECTORY/../editions/demo_lorem ## echo " -> resource files copy: DONE" # cd $DIRECTORY/../editions # echo "Downloading Max TEI Demo resources" # # wget $TEI_DEMO_RELEASE_URL # # getResult=$? # if [ $getResult -ne 0 ] # then # echo 'MaX demo install error : Cannot fetch '$TEI_DEMO_RELEASE_URL # exit -1 # fi # unzip $MAX_TEI_DEMO_VERSION.zip # mv $MAX_TEI_DEMO_VERSION max_tei_demo # rm $MAX_TEI_DEMO_VERSION.zip # cd $DIRECTORY # # # enable project plugins # enable_plugin apparat_critique max_tei_demo # enable_plugin breadcrumb max_tei_demo # enable_plugin correction max_tei_demo # enable_plugin img_viewer max_tei_demo # enable_plugin search max_tei_demo # enable_plugin tei_pdf max_tei_demo # include_project_config max_tei_demo # # if [ $? -ne 0 ] # then # echo 'Process failed' # exit 1 # else # format_configuration_file # fi #} #if [ $CHOOSEN_MODE == $NEW_EDITION_MODE ] #then # read -e -p "Project ID ? " project_id # read -e -p "XML Project type (tei, ead, ...) ? " xmlns # read -e -p "Database path ? " db_path # new_edition_build $project_id $db_path $xmlns # read -e -p "XML sources path ? " data_path # db_project_feed $db_path $data_path # mkdir -p $DIRECTORY/../editions/$project_id/fragments/fr # mkdir $DIRECTORY/../editions/$project_id/xq # mkdir $DIRECTORY/../editions/$project_id/ui # mkdir $DIRECTORY/../editions/$project_id/ui/css # mkdir $DIRECTORY/../editions/$project_id/ui/fonts # mkdir $DIRECTORY/../editions/$project_id/ui/i18n # mkdir $DIRECTORY/../editions/$project_id/ui/images # mkdir $DIRECTORY/../editions/$project_id/ui/js # mkdir $DIRECTORY/../editions/$project_id/ui/templates # mkdir $DIRECTORY/../editions/$project_id/ui/xsl # # touch $DIRECTORY/../editions/$project_id/ui/css/$project_id.css # # #creates about frag page # touch $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "<section>" > $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "<h1>À propos</h1>" >> $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "<p>Modifiez moi dans editions/$project_id/fragments/fr/about.frag.html.</p>" >> $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # echo "</section>" >> $DIRECTORY/../editions/$project_id/fragments/fr/about.frag.html # # cp $DIRECTORY/menu_default.xml $DIRECTORY/../editions/$project_id/menu.xml # if [ $xmlns = 'ead' ] # then # enable_plugin 'ead_basket' # enable_plugin 'side_toc' # fi # echo '' # echo "Project "$project_id" is ready !" # exit 0 #fi #if [ $CHOOSEN_MODE == $DEMO_MODE ] #then # demo_edition_build # db_demo_feed max_tei_demo # exit 0 #fi #if [ $CHOOSEN_MODE == $INIT_MODE ] #then # init_dev_max # exit 0 #fi
tools/xq/check_config_exists.xq 0 → 100644 +9 −0 Original line number Diff line number Diff line (: Check if a project is already declared in the main configuration file:) declare variable $maxPath external; declare variable $projectId external; let $config:= doc($maxPath||'/configuration/configuration.xml') return if($config//edition[@xml:id=$projectId]) then 0 else -1