This commit is contained in:
Emmanuel Viennet 2021-08-25 23:51:07 +02:00
parent 2f47a51f06
commit eb14607bb2
9 changed files with 21 additions and 124 deletions

@ -1,6 +1,6 @@
# -*- coding: UTF-8 -*
"""ScoDoc8 models : departements
"""ScoDoc models : departements
"""
from typing import Any

@ -1,6 +1,6 @@
# -*- coding: UTF-8 -*
"""ScoDoc8 models
"""ScoDoc models
"""
from typing import Any

@ -6,7 +6,7 @@
<div class="row">
<h2>Prototype ScoDoc 8</h2>
<h2>Prototype ScoDoc</h2>
<div style="font-size: 140%">=> <a href="{{url_for('scodoc.index')}}">Page d'accueil ScoDoc 8</a></div>

@ -120,7 +120,7 @@ def sco_publish(route, function, permission, methods=["GET"]):
log.set_log_directory(Config.SCODOC_VAR_DIR + "/log")
log("ScoDoc8 restarting...")
log("ScoDoc restarting...")
# --------------------------------------------------------------------
#

@ -1,14 +1,14 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
SCOVERSION = "9.0.0a"
SCOVERSION = "9.0.1"
SCONAME = "ScoDoc"
SCONEWS = """
<h4>Année 2021</h4>
<ul>
<li>Passage à Python 3 et amélioration des performances</li>
<li>ScoDoc 9: nouvelle architecture logicielle</li>
<li>Version mobile (en test)</li>
<li>Évaluations de type "deuxième session"</li>
<li>Gestion du genre neutre (pas d'affichage de la civilité)</li>

@ -209,7 +209,7 @@ def test_interactive(filename=None):
@app.cli.command()
@with_appcontext
def import_scodoc7_users(): # import-scodoc7-users
"""Import used defined in ScoDoc7 postgresql database into ScoDoc8
"""Import used defined in ScoDoc7 postgresql database into ScoDoc 9
The old database SCOUSERS must be alive and readable by the current user.
This script is typically run as unix user "scodoc".
The original SCOUSERS database is left unmodified.

@ -8,7 +8,7 @@ die() {
PACKAGE_NAME=scodoc9
RELEASE_TAG=9.0.1
VERSION=9.0.0
VERSION=9.0.1
RELEASE=1
ARCH="amd64"
FACTORY_DIR="/opt/factory"

@ -85,6 +85,12 @@ fi
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
init_postgres_user
# --- MISES A JOUR
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.service /etc/systemd/system
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.timer /etc/systemd/system
systemctl enable scodoc-updater.timer
systemctl start scodoc-updater.timer
# --- SYSTEMD: on a (peut-être) installé un fichier de service
systemctl daemon-reload
systemctl enable scodoc9

123
tools/upgrade.sh Normal file → Executable file

@ -1,18 +1,16 @@
#!/bin/bash
# Upgrade ScoDoc installation using GIT
# GIT must be properly configured and have read access to ScoDoc repository
# Upgrade ScoDoc installation using APT
#
# This script STOP and RESTART ScoDoc and should be runned as root
#
# Upgrade also the Linux system using apt.
#
# Script for ScoDoc 8 (10)
# Script for ScoDoc 9
#
# E. Viennet, sep 2013, mar 2017, jun 2019, aug 2020, dec 2020
# E. Viennet, sep 2013, mar 2017, jun 2019, aug 2020, dec 2020, aug 21
A REVOIR : utiliser releases
# Le répertoire de ce script:
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
@ -28,113 +26,6 @@ if [ -z "$SCODOC_UPGRADE_RUNNING" ]
then
apt-get update && apt-get -y dist-upgrade
fi
scodocctl stop
echo
echo "Using git to update $SCODOC_DIR..."
(cd "$SCODOC_DIR"; git checkout ScoDoc8; git pull origin master)
SVNVERSION=$(cd ..; svnversion)
if [ ! -e "${SCODOC_VERSION_DIR}" ]; then
mkdir -p "${SCODOC_VERSION_DIR}"
chown "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_VERSION_DIR}"
fi
if [ ! -e "${SCODOC_VERSION_DIR}"/scodoc.sn ]; then
if [ -e "$SCODOC_DIR"/config/scodoc.sn ]; then
# migrate from old scodoc installs
mv "$SCODOC_DIR"/config/scodoc.sn "${SCODOC_VERSION_DIR}"
fi
fi
SN=$(cat "$SCODOC_DIR"/config/scodoc.sn 2> /dev/null || cat "${SCODOC_VERSION_DIR}"/scodoc.sn)
if [ -e "$SCODOC_DIR"/config/scodoc.sn ] || [ -e "${SCODOC_VERSION_DIR}"/scodoc.sn ]
then
if [[ ! "${SN}" =~ ^[0-9].* ]]
then
SN='' # fix for invalid previous replies
fi
mode=upgrade
else
mode=install
fi
CMD="curl --fail --connect-timeout 5 --silent http://scodoc.iutv.univ-paris13.fr/scodoc-installmgr/version?mode=$mode\&svn=${SVNVERSION}\&sn=${SN}"
#echo $CMD
SVERSION="$(${CMD})"
if [ "$?" == 0 ]; then
#echo "answer=${SVERSION}"
echo "${SVERSION}" > "${SCODOC_VERSION_DIR}"/scodoc.sn
else
echo 'Warning: cannot connect to scodoc release server'
fi
# Check that no Zope "access" file has been forgotten in the way:
if [ -e "$SCODOC_DIR"/../../access ]
then
mv "$SCODOC_DIR"/../../access "$SCODOC_DIR"/../../access.bak
fi
# Fix some permissions which may have been altered in the way:
chown -R "$SCODOC_USER"."$SCODOC_GROUP" "${SCODOC_DIR}"
chmod -R 775 "${SCODOC_DIR}"
# depts dir:
if [ ! -e "${SCODOC_VAR_DIR}/config/depts" ]
then
mkdir "${SCODOC_VAR_DIR}/config/depts"
fi
# Se recharge car ce fichier peut avoir change durant le svn up !
if [ -z "$SCODOC_UPGRADE_RUNNING" ]
then
export SCODOC_UPGRADE_RUNNING=1
./upgrade.sh
exit 0
fi
# Add some python modules:
"$SCODOC_DIR"/config/install_cal_modules.sh
/opt/zope213/bin/python -c "import requests" >& /dev/null
if [ $? -ne 0 ]
then
/opt/zope213/bin/pip install requests
fi
/opt/zope213/bin/python -c "import attrdict" >& /dev/null
if [ $? -ne 0 ]
then
/opt/zope213/bin/pip install attrdict
fi
# Check that local configuration file is installed
LOCAL_CONFIG_FILENAME="/opt/scodoc/var/scodoc/config/scodoc_local.py"
if [ ! -e "$LOCAL_CONFIG_FILENAME" ]
then
cp "$SCODOC_DIR"/config/scodoc_config_tmpl.py "$LOCAL_CONFIG_FILENAME"
chmod 600 "$LOCAL_CONFIG_FILENAME"
fi
# upgrade old dateutil (check version manually to speedup)
v=$(/opt/zope213/bin/python -c "import dateutil; print dateutil.__version__")
[[ "$v" < "2.8.1" ]] && /opt/zope213/bin/pip install --upgrade python-dateutil
# Ensure scodoc can duplicate databases (for dumps)
su -c $'psql -c \'alter role "scodoc" with CREATEDB;\'' "$POSTGRES_SUPERUSER"
#'
# post-upgrade scripts
echo "Executing post-upgrade script..."
"$SCODOC_DIR"/config/postupgrade.py
echo "Executing post-upgrade database script..."
su -c "$SCODOC_DIR/config/postupgrade-db.py" "$POSTGRES_USER"
#
echo
scodocctl start
systemctl restart redis
systemctl restart nginx
systemctl restart scodoc9