Loading tools/max.sh +269 −130 Original line number Diff line number Diff line Loading @@ -5,9 +5,13 @@ MAX_VERSION=$(node -p -e "require('$DIRECTORY/../package.json').version") MAX_PLUGINS_DIR=$DIRECTORY/../plugins BASEX_CLIENT_BIN="basexclient" BASEX_BIN="basex" MAX_DEMO_VERION_NUMBER="v1.1" MAX_DEMO_VERSION="max-tei-demo-"$MAX_DEMO_VERION_NUMBER DEMO_RELEASE_URL="https://git.unicaen.fr/pdn-certic/max-tei-demo/-/archive/v1.1/"$MAX_DEMO_VERSION".zip" MAX_TEI_DEMO_VERION_NUMBER="v1.1" 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" dependency_test(){ result=$(command -v $1) Loading Loading @@ -55,8 +59,9 @@ display_usage(){ echo " -h: Display help." echo " -p: Specify BaseX port to use for db feed. Default one is "$PORT"." echo " -i: Max development env initialization." echo " -d: Deploy the demo edition project." echo " -n: Deploy new edition with its XML sources." echo " --d-tei: Deploy the TEI demo edition project." echo " --d-ead: Deploy the EAD demo edition project." echo " --list-plugins: show plugins and status." echo " --enable-plugin [plugin_name]: Enable [plugin_name] plugin." echo " --disable-plugin [plugin_name]: Disable [plugin_name] plugin." Loading Loading @@ -136,44 +141,6 @@ disable_plugin(){ } # 1 argument required if [ $# -lt 1 ] then display_usage exit 1 fi NEW_EDITION_MODE='-n' DEMO_MODE='-d' INIT_MODE='-i' CHOOSEN_MODE='' while [[ "$#" -gt 0 ]]; do case $1 in -h) display_usage exit 0;; -p) PORT="$2"; shift ;; -n|-d|-i) CHOOSEN_MODE="$1"; shift ;; --list-plugins) list_plugins;exit 0;; --enable-plugin) enable_plugin $2 $3;exit 0;; --disable-plugin) disable_plugin $2 $3;exit 0;; *) echo "Unknown parameter passed: $1"; exit 1 ;; esac shift done if [ -z $CHOOSEN_MODE ] then display_usage exit 1 fi db_demo_feed(){ db_project_feed max_tei_demo $DIRECTORY/../editions/max_tei_demo/dataset/ } #adds xml datas to a new db db_project_feed(){ feed_cmd=$BASEX_CLIENT_BIN" -p$PORT -w -cfeed.txt" Loading @@ -184,51 +151,70 @@ db_project_feed(){ ret_code=$? if [ $ret_code -gt 0 ] then echo "Cannot insert data in DB. Is your BaseX running on "$PORT" ?" return 1 else rm feed.txt echo "INFO: The "$1" DB was successfully created." return 0 fi } demo_edition_build(){ # install demo sources from its dataset directory db_demo_feed(){ edition_name=$1 db_project_feed $1 $DIRECTORY/../editions/$1/dataset/ ret_code=$? return $ret_code } # demo edition deployment install_demo(){ url=$1 zip_name=$2 edition_name=$3 if [ ! -d $DIRECTORY/../editions ] then echo 'Creates "editions" directory.' mkdir $DIRECTORY/../editions fi if [ -d $DIRECTORY/../editions/max_tei_demo ]; then if [ -d $DIRECTORY/../editions/$edition_name ] then echo "Removes existing demo edition." rm -rf $DIRECTORY/../editions/max_tei_demo rm -rf $DIRECTORY/../editions/$edition_name 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 $DEMO_RELEASE_URL echo "Downloading Max Demo resources at "$urlcd . wget $url getResult=$? if [ $getResult -ne 0 ] then echo 'MaX demo install error : Cannot fetch '$DEMO_RELEASE_URL echo 'MaX demo install error : Cannot fetch '$url exit -1 fi unzip $MAX_DEMO_VERSION.zip mv $MAX_DEMO_VERSION max_tei_demo rm $MAX_DEMO_VERSION.zip unzip $zip_name.zip mv $zip_name $edition_name rm $zip_name.zip cd $DIRECTORY # enable project plugins #enable plugins if [ $edition_name == 'max_tei_demo' ] then 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 else enable_plugin side_toc max_ead_demo enable_plugin ead_basket max_ead_demo fi #include edition conf file in main max config one include_project_config $edition_name if [ $? -ne 0 ] then Loading @@ -237,6 +223,58 @@ demo_edition_build(){ else 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 } 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 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 } Loading @@ -244,6 +282,14 @@ include_project_config(){ $BASEX_BIN -u -bprojectId=$1 $DIRECTORY"/xq/include_project_config.xq" # -u => save modified file on disk } format_configuration_file(){ FILE=$DIRECTORY"/../configuration/configuration.xml" mv $FILE $FILE".bak" || exit 1 xmllint --format $FILE".bak" > $FILE rm $FILE".bak" } new_edition_build(){ if [ ! -d $DIRECTORY/../editions ] then Loading @@ -258,12 +304,6 @@ new_edition_build(){ format_configuration_file(){ FILE=$DIRECTORY"/../configuration/configuration.xml" mv $FILE $FILE".bak" || exit 1 xmllint --format $FILE".bak" > $FILE rm $FILE".bak" } init_dev_max(){ cd $DIRECTORY/.. Loading @@ -285,6 +325,15 @@ init_dev_max(){ } # 1 argument required if [ $# -lt 1 ] then display_usage exit 1 fi #creates config file if not exists (.dist copy) if [ ! -f $DIRECTORY/../configuration/configuration.xml ] then Loading @@ -292,55 +341,145 @@ then cp $DIRECTORY/../configuration/configuration.dist.xml $DIRECTORY/../configuration/configuration.xml fi #NEW_EDITION_MODE='-n' #DEMO_MODE='-d' #INIT_MODE='-i' 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 #CHOOSEN_MODE='' touch $DIRECTORY/../editions/$project_id/ui/css/$project_id.css while [[ "$#" -gt 0 ]]; do case $1 in -h) display_usage 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;; --list-plugins) list_plugins;exit 0;; --enable-plugin) enable_plugin $2 $3;exit 0;; --disable-plugin) disable_plugin $2 $3;exit 0;; *) echo "Unknown parameter passed: $1"; exit 1 ;; esac shift done #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' ] if [ -z $CHOOSEN_MODE ] then enable_plugin 'ead_basket' enable_plugin 'side_toc' fi echo '' echo "Project "$project_id" is ready !" exit 0 display_usage exit 1 fi if [ $CHOOSEN_MODE == $DEMO_MODE ] then demo_edition_build db_demo_feed exit 0 fi if [ $CHOOSEN_MODE == $INIT_MODE ] then init_dev_max exit 0 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 Loading
tools/max.sh +269 −130 Original line number Diff line number Diff line Loading @@ -5,9 +5,13 @@ MAX_VERSION=$(node -p -e "require('$DIRECTORY/../package.json').version") MAX_PLUGINS_DIR=$DIRECTORY/../plugins BASEX_CLIENT_BIN="basexclient" BASEX_BIN="basex" MAX_DEMO_VERION_NUMBER="v1.1" MAX_DEMO_VERSION="max-tei-demo-"$MAX_DEMO_VERION_NUMBER DEMO_RELEASE_URL="https://git.unicaen.fr/pdn-certic/max-tei-demo/-/archive/v1.1/"$MAX_DEMO_VERSION".zip" MAX_TEI_DEMO_VERION_NUMBER="v1.1" 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" dependency_test(){ result=$(command -v $1) Loading Loading @@ -55,8 +59,9 @@ display_usage(){ echo " -h: Display help." echo " -p: Specify BaseX port to use for db feed. Default one is "$PORT"." echo " -i: Max development env initialization." echo " -d: Deploy the demo edition project." echo " -n: Deploy new edition with its XML sources." echo " --d-tei: Deploy the TEI demo edition project." echo " --d-ead: Deploy the EAD demo edition project." echo " --list-plugins: show plugins and status." echo " --enable-plugin [plugin_name]: Enable [plugin_name] plugin." echo " --disable-plugin [plugin_name]: Disable [plugin_name] plugin." Loading Loading @@ -136,44 +141,6 @@ disable_plugin(){ } # 1 argument required if [ $# -lt 1 ] then display_usage exit 1 fi NEW_EDITION_MODE='-n' DEMO_MODE='-d' INIT_MODE='-i' CHOOSEN_MODE='' while [[ "$#" -gt 0 ]]; do case $1 in -h) display_usage exit 0;; -p) PORT="$2"; shift ;; -n|-d|-i) CHOOSEN_MODE="$1"; shift ;; --list-plugins) list_plugins;exit 0;; --enable-plugin) enable_plugin $2 $3;exit 0;; --disable-plugin) disable_plugin $2 $3;exit 0;; *) echo "Unknown parameter passed: $1"; exit 1 ;; esac shift done if [ -z $CHOOSEN_MODE ] then display_usage exit 1 fi db_demo_feed(){ db_project_feed max_tei_demo $DIRECTORY/../editions/max_tei_demo/dataset/ } #adds xml datas to a new db db_project_feed(){ feed_cmd=$BASEX_CLIENT_BIN" -p$PORT -w -cfeed.txt" Loading @@ -184,51 +151,70 @@ db_project_feed(){ ret_code=$? if [ $ret_code -gt 0 ] then echo "Cannot insert data in DB. Is your BaseX running on "$PORT" ?" return 1 else rm feed.txt echo "INFO: The "$1" DB was successfully created." return 0 fi } demo_edition_build(){ # install demo sources from its dataset directory db_demo_feed(){ edition_name=$1 db_project_feed $1 $DIRECTORY/../editions/$1/dataset/ ret_code=$? return $ret_code } # demo edition deployment install_demo(){ url=$1 zip_name=$2 edition_name=$3 if [ ! -d $DIRECTORY/../editions ] then echo 'Creates "editions" directory.' mkdir $DIRECTORY/../editions fi if [ -d $DIRECTORY/../editions/max_tei_demo ]; then if [ -d $DIRECTORY/../editions/$edition_name ] then echo "Removes existing demo edition." rm -rf $DIRECTORY/../editions/max_tei_demo rm -rf $DIRECTORY/../editions/$edition_name 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 $DEMO_RELEASE_URL echo "Downloading Max Demo resources at "$urlcd . wget $url getResult=$? if [ $getResult -ne 0 ] then echo 'MaX demo install error : Cannot fetch '$DEMO_RELEASE_URL echo 'MaX demo install error : Cannot fetch '$url exit -1 fi unzip $MAX_DEMO_VERSION.zip mv $MAX_DEMO_VERSION max_tei_demo rm $MAX_DEMO_VERSION.zip unzip $zip_name.zip mv $zip_name $edition_name rm $zip_name.zip cd $DIRECTORY # enable project plugins #enable plugins if [ $edition_name == 'max_tei_demo' ] then 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 else enable_plugin side_toc max_ead_demo enable_plugin ead_basket max_ead_demo fi #include edition conf file in main max config one include_project_config $edition_name if [ $? -ne 0 ] then Loading @@ -237,6 +223,58 @@ demo_edition_build(){ else 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 } 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 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 } Loading @@ -244,6 +282,14 @@ include_project_config(){ $BASEX_BIN -u -bprojectId=$1 $DIRECTORY"/xq/include_project_config.xq" # -u => save modified file on disk } format_configuration_file(){ FILE=$DIRECTORY"/../configuration/configuration.xml" mv $FILE $FILE".bak" || exit 1 xmllint --format $FILE".bak" > $FILE rm $FILE".bak" } new_edition_build(){ if [ ! -d $DIRECTORY/../editions ] then Loading @@ -258,12 +304,6 @@ new_edition_build(){ format_configuration_file(){ FILE=$DIRECTORY"/../configuration/configuration.xml" mv $FILE $FILE".bak" || exit 1 xmllint --format $FILE".bak" > $FILE rm $FILE".bak" } init_dev_max(){ cd $DIRECTORY/.. Loading @@ -285,6 +325,15 @@ init_dev_max(){ } # 1 argument required if [ $# -lt 1 ] then display_usage exit 1 fi #creates config file if not exists (.dist copy) if [ ! -f $DIRECTORY/../configuration/configuration.xml ] then Loading @@ -292,55 +341,145 @@ then cp $DIRECTORY/../configuration/configuration.dist.xml $DIRECTORY/../configuration/configuration.xml fi #NEW_EDITION_MODE='-n' #DEMO_MODE='-d' #INIT_MODE='-i' 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 #CHOOSEN_MODE='' touch $DIRECTORY/../editions/$project_id/ui/css/$project_id.css while [[ "$#" -gt 0 ]]; do case $1 in -h) display_usage 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;; --list-plugins) list_plugins;exit 0;; --enable-plugin) enable_plugin $2 $3;exit 0;; --disable-plugin) disable_plugin $2 $3;exit 0;; *) echo "Unknown parameter passed: $1"; exit 1 ;; esac shift done #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' ] if [ -z $CHOOSEN_MODE ] then enable_plugin 'ead_basket' enable_plugin 'side_toc' fi echo '' echo "Project "$project_id" is ready !" exit 0 display_usage exit 1 fi if [ $CHOOSEN_MODE == $DEMO_MODE ] then demo_edition_build db_demo_feed exit 0 fi if [ $CHOOSEN_MODE == $INIT_MODE ] then init_dev_max exit 0 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