Création d'un package PDFTron¶
- Télécharger le package PDFTron
- L'extraire dans un répertoire temporaire
- Installer le module
command-line-args:npm install command-line-args(afin de pouvoir lancer la commande ci-dessous) - Lancer
npm run optimizeet répondre aux questions (cf ici) (répondre "non" à tout sauf "content editing feature" et "use the web component") - Seul le répertoire
libnous intéresse, supprimer les autres répertoires. - Le zipper et le nommer correctement (ex:
pdftron-8.7.0.zip), puis l'uploader sur le serveur de builds - La place finale du répertoire
webviewerest dans/front/src/assets/
Soit :
# Téléchargement et extraction du package PDFTron
cd /tmp
wget https://downloads.apryse.com/downloads/WebViewer.zip
unzip WebViewer.zip -d pdftron
cd pdftron
# Récupération de la version du package PDFTron
NEW_PDFTRON_VERSION=$(cat package.json | grep version | sed -rn "s/([^0-9]*)([0-9\.]+)([^0-9]*.*)/\2/ p")
echo $NEW_PDFTRON_VERSION
# Construction interactive du package selon les options choisies : uniquement "content editing feature"
npm install command-line-args
npm run optimize
# Suppression des autres dossiers du répertoire courant que lib/
find . -mindepth 1 -maxdepth 1 -not -name "lib" -type d -exec rm -rf {} \;
# Zip du package
cd ..
tar -czf "pdftron-$NEW_PDFTRON_VERSION.tar.gz" -C pdftron .
Puis téléversement sur notre CDN :
Licensing¶
Nos clés de licence sont valides jusqu'au 31/03 de chaque année. La clé de licence est actuellement gérée dans le manifeste. Le fonctionnement semble le suivant : - une licence arrivée à expiration continue à fonctionner chez nos clients - il n'est pas possible d'embarquer une nouvelle version de pdftron plus récente que la date d'expiration de licence
Autrement dit, c'est uniquement lorsqu'on souhaite mettre à jour la version de pdftron que nous devons nous assurer que notre licence est à jour.
Au vu de ce fonctionnement et de la "complexité" de modifier manuellement le manifeste de tous nos clients avant migration sur une nouvelle canari de mgx, il apparait plus simple d'embarquer la licence à jour dans le code de mgx, plutôt que dans le manifeste. Cela nous permettrait d'avoir une licence à jour pour tous nos clients, sans avoir à faire de modification manuelle dans le manifeste de chacun d'eux. C'est cette solution qui a été retenue.