# Scripts CLI de référence
Anakeen Platform est livrée avec de nombreux scripts CLI. Ce chapitre décrit ces derniers.
# cleanContext
# Description
Le script cleanContext
permet d'effectuer les opérations de nettoyage journalières du contexte.
Opérations principales:
- Suppression des messages de log antérieurs à la durée de rétention paramétrée par
CORE_LOGDURATION
, - Suppression des fichiers temporaires antérieurs à la durée de rétention paramétrée par
CORE_TMPDIR_MAXAGE
, - Suppression des Smart Elements Anakeen Platform temporaires, et des noms logiques temporaires (générés par l'exportation des profils par exemple),
- Nettoyage des noms logiques lorsque des Smart Elements ont été supprimés à la main en base de données.
# Usage
full
: Permet d'effectuer des opérations de nettoyage additionnelles (telles que celles lancées la nuit, par la crontab du contexte):- Suppression des références à des Smart Elements supprimés dans les répertoires (
DIR
), - Suppression des verrous sur les Smart Elements,
- Suppression de la définition des Smart Fields pour les Smart Structures supprimées à la main en base de données.
- Suppression des références à des Smart Elements supprimés dans les répertoires (
# Limite d'usage
N/A
# destroyStructure
# Description
Le script destroyStructure
permet de supprimer complètement une Smart Structure et ses Smart Elements.
# Usage
name
(obligatoire): Identifiant, ou nom logique, de la Smart Structure sur laquelle appliquer le traitement,transaction
: Permet d'indiquer que l'erreur d'une sous-opération doit annuler l'ensemble des modifications,
Dans le cas contraire, l'échec d'une sous-opération ne mettra pas en erreur l'ensemble du traitement, qui poursuivra alors son exécution.
# Limite d'usage
Attention
La suppression d'une Smart Structure entraîne la suppression de tous les Smart Elements de cette Smart Structure et
cette opération est irréversible.
Dans le cas de la suppression d'une Smart Structure qui comporte des Smart Structures dérivées, il faudra d'abord
supprimer les Smart Structures dérivées avant de pouvoir supprimer cette Smart Structure parente.
# generateDocumentClass
# Description
Le script generateDocumentClass
permet de régénérer les classes PHP des Smart Structures Anakeen Platform.
# Usage
docid
(défaut 0) : Identifiant, ou nom logique, de la Smart Structure pour laquelle on souhaite régénérer la class PHP.
Si aucune Smart Structure n'est spécifiée, ou si la valeur0
est spécifiée, le traitement est effectué sur toutes les Smart Structures.
# Limite d'usage
N/A
# importAccounts
# Description
Le script importAcounts
permet d'importer des définitions de Smart Element compte Account
.
# Usage
file
- le fichier à importer,
- le fichier doit être au format XML.
report-file
- permet de spécifier un fichier de rapport dans lequel seront inscrits les résultats de l'import.
dry-run
- permet d'effectuer (
yes
) seulement une analyse, dans ce cas, l'importation n'est pas effectuée.
- permet d'effectuer (
# Limite d'usage
N/A
# importConfiguration
# Description
Le script importConfiguration
permet d'importer des définitions de Smart Structures au format XML.
# Usage
file
(obligatoire)- le fichier à importer,
- le fichier doit être au format XML.
glob
- permet de spécifier un format glob.
analyze
(défautno
)- permet d'effectuer (
yes
) seulement une validation du format et de la structure du fichier importé.
- permet d'effectuer (
log
- permet de spécifier un fichier de log dans lequel seront inscrits les résultats de la l'import.
verbose
- permet de spécifier l'affichage de l'opération en cours.
debug
- permet de spécifier l'affichage explicite de toutes les opérations effectuées.
# Limite d'usage
N/A
# importDocuments
# Description
Le script importDocuments
permet d'importer des Smart Elements.
# Usage
file
(obligatoire)- le fichier à importer,
- le fichier peut être au format XML ou bien une archive (si l'option
--archive=yes
est utilisée).
analyze
(défautno
)- permet d'effectuer (
yes
) seulement une validation du format et de la structure du fichier importé.
- permet d'effectuer (
archive
(défautno
)- permet d'indiquer si le fichier est une archive (
yes
) ou bien un fichier d'importation texte (no
).
- permet d'indiquer si le fichier est une archive (
log
- permet de spécifier un fichier de log dans lequel seront inscrits les résultats de l'import.
policy
(défautupdate
)- permet de spécifier le comportement lorsqu'on importe un Smart Element qui existe déjà,
- la détection des Smart Elements existants est spécifiée par la directive d'import
KEYS
, - les valeurs possibles pour l'option
policy
sont:add
: un nouveau Smart Element est créé systématiquement, même si un Smart Element existant est détecté,keep
: si un Smart Element existant est détecté, alors le Smart Element existant est conservé en l'état, et l'importation ne crée pas de nouveau Smart Element,update
: si un Smart Element existant est détecté, le Smart Element existant est mis à jour avec les données du Smart Element importé.
htmlmode
(défautyes
)- permet de spécifier si les messages du fichier de log doivent être inscrits au format HTML (
yes
) ou au format texte (no
).
- permet de spécifier si les messages du fichier de log doivent être inscrits au format HTML (
reset[]
- permet de spécifier les éléments qui doivent être supprimés, ou redéfinis, lors de l'importation d'une définition de Smart Structure,
- les valeurs possibles sont celles de l'instruction
RESET
, - cette option peut être utilisée plusieurs fois afin de spécifier plusieurs valeurs.
to
- permet d'envoyer le log au format HTML à l'adresse mail indiquée par cette option.
dir
- identifiant, ou nom logique, d'un répertoire Anakeen Platform dans lequel seront insérés les Smart Elements importés.
strict
(défautyes
)- permet de spécifier (
yes
) si une erreur d'importation d'un Smart Element invalide l'importation de tous les Smart Elements. Si le mode strict est désactivé (no
), alors une erreur sur un Smart Element n'empêchera pas les autres Smart Elements d'être importés.
- permet de spécifier (
# Limite d'usage
N/A
# manageContextCrontab
# Description
Le script manageContextCrontab
permet d'enregistrer, ou supprimer, des crontabs du contexte dans l'ordonnanceur cron
du système.
# Usage
cmd
(obligatoire)- l'opération à effectuer, pouvant être :
list
: afficher la liste des fichiers de crontab chargés et actifs pour le contexte,register
: charger, ou mettre à jour, un fichier de définition de crontab pour le contexte,unregister
: décharger un fichier de définition de crontab pour le contexte,unregister-all
: décharger toutes les définitions de crontab pour le contexte.
- l'opération à effectuer, pouvant être :
file
- permet de spécifier le fichier de crontab à charger/décharger pour le contexte,
- le contenu du fichier doit être conforme à la syntaxe des fichiers cron du système,
- cette option est requise pour les opérations
register
etunregister
.
user
- permet de spécifier le nom de l'utilisateur système sous lequel sont chargés/déchargés les fichiers crontab,
- par défaut, l'
uid
de l'utilisateur courant (utilisateur du process Apache par exemple) est utilisé.
# Limite d'usage
N/A
# refreshDocuments
# Description
Le script refreshDocuments
permet d'appliquer une méthode sur les Smart Elements d'une Smart Structure donnée.
# Usage
famid
(obligatoire)- identifiant, ou nom logique, de la Smart Structure des Smart Elements sur lesquels s'applique le traitement.
method
(défautrefresh
)- la méthode à appliquer sur les Smart Elements de la smart Structure,
- par défaut, c'est la méthode
refresh()
qui est appliquée.
arg
- permet de spécifier le premier argument de la méthode.
revision
(défautno
)- permet de spécifier si la méthode doit être appliquée sur toutes les révisions des Smart Elements (
yes
) ou seulement sur la dernière révision des Smart Elements (no
).
- permet de spécifier si la méthode doit être appliquée sur toutes les révisions des Smart Elements (
docid
- permet de restreindre le traitement à un seul Smart Element dont l'identifiant ou le nom logique est spécifié par cette option.
start
- la liste des Smart Elements à traiter est ordonnée par ordre décroissant des identifiants de Smart Element(
id
), - cette option permet de commencer le traitement à partir d'un indice de Smart Element donné,
- Voir SearchElements::setStart().
- la liste des Smart Elements à traiter est ordonnée par ordre décroissant des identifiants de Smart Element(
slice
- permet de limiter le traitement à un nombre donné de Smart Elements,
- dans ce cas, seul les
slice
premiers Smart Elements (à partir du Smart Element désigné parstart
) seront traités, - Voir SearchElements::setSlice().
fldid
- permet de restreindre le traitement aux Smart Elements présents dans un répertoire ou retournés par une recherche,
fldid
: peut donc être l'identifiant ou le nom logique d'un Smart Element répertoire (DIR
ou dérivé) ou d'un Smart Element recherche (SEARCH
ou dérivé).
filter
- permet de spécifier un filtre SQL additionnel pour la sélection des Smart Elements sur lesquels est appliqué le traitement.
save
(défautlight
)- permet de spécifier si une méthode de post-traitement doit être appliquée pour la sauvegarde des modifications
effectuées par la méthode
method
, - les valeurs possibles sont:
complete
: appelle la méthodestore()
après l'exécution de la méthodemethod
light
: appelle la méthodemodify(true)
après l'exécution de la méthodemethod
,none
: n'appelle aucune autre méthode additionnelle après l'exécution de la méthodemethod
.
- permet de spécifier si une méthode de post-traitement doit être appliquée pour la sauvegarde des modifications
effectuées par la méthode
status-file
- permet de spécifier la création d'un fichier de rapport contenant:
- le nombre de Smart Elements sélectionnés pour traitement (ligne
ALL:
), - le nombre de Smart Elements traités (ligne
PROCESSED:
), - le nombre de Smart Elements traités avec erreur (ligne
FAILURE:
), - le nombre de Smart Elements traités avec succès (ligne
SUCCESS:
),
- le nombre de Smart Elements sélectionnés pour traitement (ligne
- si
-
est spécifié, le fichier de rapport est alors écrit sur le flux de sortie standardSTDOUT
- si le fichier spécifié existe déjà, le fichier est supprimé avant d'être re-créé,
- par défaut, aucun fichier de rapport n'est créé.
- permet de spécifier la création d'un fichier de rapport contenant:
stop-on-error
- permet de stopper le traitement lorsque la méthode
store()
oumodify()
d'un Smart Element retourne une erreur, ou lorsqu'une exception est levée, - par défaut, le comportement est de poursuivre le traitement lorsqu'un Smart Element retourne une erreur ou lance une exception.
- permet de stopper le traitement lorsque la méthode
# Limite d'usage
Seul le premier argument de la méthode method
peut être spécifié avec l'option arg
. Les autres arguments de la
méthode ne seront donc pas positionnés (ce qui peut restreindre les méthodes utilisables par ce traitement).
# setParameter
# Description
Le script setParameter
permet de définir la valeur d'un paramètre de l'application.
# Usage
param
- permet de spécifier le nom du paramètre à définir.
value
- permet de spécifier la valeur du paramètre à définir.
default
- permet de spécifier la valeur par défaut d'un paramètre utilisateur.
# Limite d'usage
Avertissements
- Dans le cas où
value
est utilisé mais vide, le script effacera la valeur du paramètre. - L'option
value
n'accepte pas de valeurs multivaluées, - Si le paramètre à modifier est un paramètre utilisateur, alors l'une des options
userid
oudefault
doit être définie.
Attention L'option `default` n'est utilisable que pour les paramètres de type utilisateur; dans le cas où
le paramètre n'est pas un paramètre utilisateur, ce script retournera une exception. :::
# vault_init
# Description
Le script vault_init
permet d'initialiser un nouveau coffre.
# Usage
path
(défaut/var/www/html/platform/vaultfs
)- permet de spécifier le chemin d'accès au coffre.
name
(défautDEFAULT
)- permet de spécifier un nom de coffre.
size
(défaut524288000
)- permet de spécifier la taille du coffre (en octets).
# Limite d'usage
Avertissements
Le dossier utilisé par le coffre doit être créé préalablement à l'utilisation de ce script.
# SupervisorTokenManager
# Description
Le script SupervisorTokenManager
permet de créer, consulter ou supprimer des jetons d'accès de l'outil de supervision.
Sur l'interface de supervision, l'identifiant est admin
# Usage
manage
[create|consult|delete]- Permet de créer, consulter ou supprimer un jeton d'accès
Dans le cas du delete
:
supervisorId
[supervisor-XXXXXXXXXXXXX]- Permet de spécifier l'id du jeton d'accès.
# Exemple
La création :
www-data$ ./ank.php --script=SupervisorTokenManager --manage=create
'e230b0ca1b493937d1f207b8e7327eb7'
La consultation :
www-data$ ./ank.php --script=SupervisorTokenManager --manage=consult
'[
{
"supervisorId": "supervisor-63725f1084298",
"creationTimestamp": "2022-11-14T16:30:24+01:00",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb7"
}
]'
La suppression :
www-data$ ./ank.php --script=SupervisorTokenManager --manage=delete --supervisorId=supervisor-63725f1084298
true