Exemple de mise à jour de plug-in
L'exemple suivant compare la version d'un
plug-in installé avec la version se trouvant dans une rubrique Conteneur du fichier FileMaker Pro et met à jour le plug-in, le cas échéant.
1. Dans le fichier de solution, créez une table portant le nom Mise à jour de plug-in pour stocker les informations du plug-in.
2. Définissez les rubriques suivantes :
Nom de rubrique | Type de rubrique |
Nom du plug-in | Texte |
Version de plug-in requise | Nombre |
Version de plug-in installée | |
Etat du plug-in installé | |
Fichier de plug-in | conteneur |
3. Créez un modèle nommé Informations de mise à jour de plug-in, puis ajoutez-y les rubriques définies à l'étape 2.
4. Créez le script suivant et attribuez-lui le nom Installer le plug-in :
Gestion erreurs [Oui]
Installer le fichier de plug-in [Mise à jour de plug-in::Fichier de plug-in]
Nb
#Gérer les erreurs
Si [Obtenir (DernièreErreur) ≠ 0]
Si [Obtenir (DernièreErreur) = 3]
Ouvrir boîte dial. person. [Mise à jour de plug-in::Fichier de plug-in & " n’a pas pu être installé. Assurez-vous que l’option Autoriser les solutions à installer les fichiers est sélectionnée dans les préférences plug-in de FileMaker Pro."]
Sinon si [Obtenir (DernièreErreur) = 1550]
Ouvrir boîte dial. person. [Mise à jour de plug-in::Fichier de plug-in & " a été installé, mais n'a pas pu être initialisé."]
Sinon si [Obtenir (DernièreErreur) = 1551]
Ouvrir boîte dial. person. [Mise à jour de plug-in::Fichier de plug-in & " n'a pas pu être installé."]
Sinon
Ouvrir boîte dial. person. ["Une erreur générale " & Obtenir (DernièreErreur) & " s'est produite lors de l'installation de " & Mise à jour de plug-in::Fichier de plug-in]
Fin de si
Fin de si
5. Créez le script suivant et attribuez-lui le nom Vérifier les versions de plug-in :
Activer le modèle ["Informations de mise à jour de plug-in"]
Afficher enreg/requête/page [Premièr(e)]
Boucle
Si [Mise à jour de plug-in::Version de plug-in installée < Mise à jour de plug-in::Version de plug-in requise]
#Le plug-in doit être installé ou mis à jour.
Exécuter script ["Installer le plug-in"]
Fin de si
Afficher enreg/requête/page [ Suivant(e); Sortie après dernière: Oui]
Fin de boucle
6. Créez le script suivant et attribuez-lui le nom Vérifier l'activation :
Gestion erreurs [Oui]
Exécuter Rechercher [Rétablir]
#Rechercher "Enabled" dans la rubrique Etat du plug-in installé
Si [Obtenir (NombreEnregTrouvés) ≠ 0]
Ouvrir boîte dial. person. ["Certains plug-ins requis ne sont pas activés. Assurez-vous que l’option Autoriser les solutions à installer les fichiers est sélectionnée dans les préférences plug-in de FileMaker Pro."]
Fin de si
7. Créez un script de démarrage nommé Script de mise à jour de plug-in référençant les scripts ci-dessus dans l'ordre lorsque la base de données est ouverte :
Exécuter script ["Vérifier les versions de plug-in"]
Exécuter script ["Vérifier l'activation"]
Activer modèle [modèle d’origine]
Calcul de version de plug-in client
Définir (
[
PositionNomPlugin = Position ( Obtenir (PluginsFMInstallés); Nom du Plug-in ; 1 ; 1 );
DébutVersionPlugin = PositionNomPlugin + Longueur( Nom du Plugin ) + 1;
FinVersionPlugin = Position ( Obtenir (PluginsFMInstallés); ";" ; PositionNomPlugin ; 2 );
LongueurVersionPlugin = FinVersionPlugin - DébutVersionPlugin
];
Si ( Occurrences ( Obtenir (PluginsFMInstallés) ; Nom du plugin ) = 0 ; "" ; Extrait ( Obtenir (PluginsFMInstallés) ; DébutVersionPlugin ; LongueurVersionPlugin ) )
)
Calcul d'état d'activation de plug-in client
Définir (
[
PositionNomPlugin = Position ( Obtenir (PluginsFMInstallés); Nom du Plug-in ; 1 ; 1 );
DébutEtatPlugin = Position ( Obtenir (PluginsFMInstallés); ";" ; PositionNomPlugin ; 2 ) + 1;
FinEtatPlugin = Si ( Position ( Obtenir (PluginsFMInstallés); "¶" ; PositionNomPlugin ; 1 ) > 0; Position ( Obtenir (PluginsFMInstallés); "¶" ; PositionNomPlugin ; 1 ); Longueur( Obtenir (PluginsFMInstallés) ) + 1);
LongueurEtatPlugin = FinEtatPlugin - DébutEtatPlugin
];
Si ( Occurrences ( Obtenir (PluginsFMInstallés) ; Nom du Plugin ) = 0 ;
"" ; Extrait ( Obtenir (PluginsFMInstallés) ; DébutEtatPlugin ; LongueurEtatPlugin ) )
)
Rubriques connexes