Closed JeromeMaruejouls closed 2 years ago
OK il semble y avoir un effet de bord du fait que le package a été renommé "occtax2" pour la version 2.0.0 et si c'est ce même nom qui est passé en valeur du paramètre dataset_module
, alors c'est normal que la liste des JDD renvoyée soit vide.
C'est bien "occtax" qui est le nom du module au niveau de GeoNature.
Oui, je suis allé trop vite et le changement du nom de package implique des petits effets de bord, notamment le lien entre le module GeoNature et le package name de l'application.
Plusieurs solutions possibles :
fr.geonature.occtax
), si on est sur qu'il n'y aura jamais de sujet autour d'une migration plus ou moins automatique de la v1 vers la v2 de "Occtax". C'est la solution la plus rapide.fr.geonature.v2.occtax
ou fr.geonature2.occtax
). Pas très fan de cette approche…Merci Sébastien pour ta réactivité,
Pour le premier point, ca ne me semble pas écarté définitivement, donc pas à retenir selon moi. Pour la 2 passons si tu ne penses pas que ca soit le plus adapté.
A mon sens on peut bien mettre occtax en dur dans l'application et privilégier cette option, dans tous les cas le nom du module n'est pas configurable en soit, et bien en dur coté serveur.
Edit : vu avec Camille, OK également pour l'option 3 :)
Merci pour ses infos. Juste une remarque supplémentaire : dans la table t_mobile_apps, on doit mettre deux app_code différents si on utilise la v1 et la V2 de occtax mobile. (j'ai renommé la ligne de la V1 en OCCTAX1 pour avoir OCCTAX pour la v2). Je ne sais pas si ce champs est utilisé par la suite dans geonature mais si oui, cela peut avoir un impact sur la cohabitation entre les deux versions.
La version 2.0.0 a été corrigée et l'APK associée remplacée par la version corrigée : https://github.com/PnX-SI/gn_mobile_occtax/releases/tag/2.0.0
Il y avait un lien entre le package name de l'application et le nom du module GeoNature associé. Maintenant, il n'y a plus aucune correspondance et le nom du module GeoNature est simplement défini par configuration dans l'application : https://github.com/PnX-SI/gn_mobile_occtax/blob/develop/occtax/src/main/java/fr/geonature/occtax/di/DatabaseModule.kt#L33 Même chose pour le fichier de settings de l'application : https://github.com/PnX-SI/gn_mobile_occtax/blob/develop/occtax/src/main/java/fr/geonature/occtax/di/DataSyncSettingsModule.kt#L24
Je viens de tester cette version 2.0.0 sur le serveur de DEMO de GeoNature et tout fonctionne désormais correctement.
L'APK de la 2.0.0 est sur le serveur : https://demo.geonature.fr/geonature/api/static/mobile/occtax/occtax-2.0.0-generic-release.apk
J'ai les 3 applications sur le serveur GeoNature avec cette configuration : https://demo.geonature.fr/geonature/api/gn_commons/t_mobile_apps
Et dans la table gn_commons.t_mobile_apps
:
id_mobile_app | app_code | relative_path_apk | url_apk | package | version_code |
---|---|---|---|---|---|
1 | SYNC | static/mobile/sync/sync-1.3.0-generic-release.apk | fr.geonature.sync | 3150 | |
2 | OCCTAX | static/mobile/occtax/occtax-1.3.0-generic-release.apk | fr.geonature.occtax | 2290 | |
3 | OCCTAX2 | static/mobile/occtax/occtax-2.0.0-generic-release.apk | fr.geonature.occtax2 | 2570 |
Je ne crois pas que le champs app_code
de la table soit utilisé par l'application mobile.
Par contre le nom du package est important ainsi que son code de version pour la mise à jour automatique de l'application.
Parfait, tout fonctionne chez moi, merci !
Je ne crois pas que le champs
app_code
de la table soit utilisé par l'application mobile.
Il est encore utilisé et sert à simplement "nommer" l'application (au lieu d'afficher simplement le package name de l'application). C'était utile avec l'application de synchronisation qui gérait les applications disponibles en les affichant sous forme de liste.
Maintenant que le module datasync est intégré directement dans l'application "Occtax", la route GET -> /api/gn_commons/t_mobile_apps
ne sert plus qu'à mettre à jour l'application.
OK donc désormais seuls les champs package
et version_code
de la table t_mobile_apps
sont utilisés, pour vérifier si la version installée sur le terminal doit être mise à jour par une version plus récente.
Merci @sgrimault pour les précisions.
Bonjour à tous, Je viens d'installer la version 2 sur un teléphone Android 10 qui avait la v1 fonctionnelle.
L'installation et la synchronisation se passent sans problème mais lors de la configuration, je n'ai pas accès à la liste des JDD (aucun soucis avec la liste des observers).
Je pense à un problème de droit ou une erreur dans la route. En regardant dans les logs, je vois une requete dans la base sqlite avec un 'WHERE dataset_module = ? et args =['occtax2'].
Au besoin, je pourrai extraire les logs complets.
PS : j'ai voulu tester avec le serveur démo mais je pense que le fichier de conf json n'est pas présent sur le serveur ou qu'il y a plusieurs fichiers json car l'appli ne peut pas le récupérer.
Serveur Géonat en 2.9.2. Tel Mi8 Xiaomi Android 10