Création d'une app personnalisée > Utilisation des plug-ins > Exemple de mise à jour de plug-in
 

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 Advanced 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

Calcul (non stocké). Pour visualiser un exemple de code, consultez la section Calcul de version de plug-in client ci-dessous.

Etat du plug-in installé

Calcul (non stocké). Pour visualiser un exemple de code, consultez la section Calcul d'état d'activation de plug-in client ci-dessous.

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]
#
#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 Advanced."]
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 [ Spécifique: Dans la liste ; "Installer le plug-in" ;
Paramètre : ]
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 la recherche [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 Advanced."]
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 [Spécifique: Dans la liste ; "Vérifier les versions de plug-in" ;
Paramètre : ]
Exécuter script [Spécifique: Dans la liste ; "Vérifier l'activation" ;
Paramètre : ]
Activer modèle [modèle d'origine]

Calcul de version de plug-in client

Definir (
[
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

Definir (
[
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 ) )
)

Remarques 

Pour que les plug-ins puissent être installés, l'option Autoriser les solutions à installer des fichiers doit être sélectionnée dans les préférences de plug-in du client. Consultez la section Définition des préférences des plug-ins.

Si un plug-in a été désactivé dans les préférences de plug-in du client, il est installé, mais n'est pas accessible tant qu'il n'a pas été manuellement activé par l'utilisateur.

Un seul plug-in peut être stocké dans chaque rubrique Conteneur, mais vous pouvez afficher toutes les informations de plug-in en créant plusieurs rubriques Conteneur de plug-in sur un même modèle.

Rubriques connexes 

Fonction Obtenir ( PluginsFMInstallés )

Fonction Installer le fichier de plug-in