« Réunion du 14-11-2023 » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Balise : wikieditor
Balise : wikieditor
 
(18 versions intermédiaires par le même utilisateur non affichées)
Ligne 7 : Ligne 7 :
= Code général =
= Code général =
=== Inventaires ===
=== Inventaires ===
* [[Fichier:Firestorm pre-visualisation.png|frameless|100px]] Il n'est pas question pour l'instant d'implémenter la nouvelle image de prévisualisation de l'inventaire dans FS pour OpenSimulator, même si cela fonction dans SL. En revanche avec la  version beta il y a l'affichage de la fonctionnalité sans la prévisualisation. '''Les viewer actuels n'ont pas le code pour implémenter cette fonctionnalité avec l'API d'inventaire d'OpenSimulator''' [[Réunion_du_31-10-2023#Projets_en_cours_/_Infos |depuis que SL est passé à AIS V3]]. Il faudra beaucoup de code côté serveur... et des changements dans les bases de données. Le développement d'OpenSimulator est libre et ouvert et fait par des bénévoles.
* Il n'est pas question pour l'instant d'implémenter la nouvelle image de prévisualisation de l'inventaire dans FS pour OpenSimulator, même si cela fonction dans SL. En revanche avec la  version beta il y a l'affichage de la fonctionnalité sans la prévisualisation. '''Les viewer actuels n'ont pas le code pour implémenter cette fonctionnalité avec l'API d'inventaire d'OpenSimulator''' [[Réunion_du_31-10-2023#Projets_en_cours_/_Infos |depuis que SL est passé à AIS V3]]. Il faudra beaucoup de code côté serveur... et des changements dans les bases de données. Le développement d'OpenSimulator est libre et ouvert et fait par des bénévoles.
<gallery widths=120px heights=60px >
Firestorm pre-visualisation.png |Dans Firestorm : clic droit sur le dossier, option "Images..." du menu.
Fichier:Firestorm-image_survol.jpg | Survol d'une texture de l'inventaire de Firestorm depuis la version  6.6.16 (70339) .
</gallery>
* Si vous voulez vraiment une fonctionnalité particulière et que vous pensez que l'argent est le moyen de l'obtenir, vous pouvez essayer d'embaucher quelqu'un pour implémenter la fonctionnalité que vous voulez voir ajoutée.
* Si vous voulez vraiment une fonctionnalité particulière et que vous pensez que l'argent est le moyen de l'obtenir, vous pouvez essayer d'embaucher quelqu'un pour implémenter la fonctionnalité que vous voulez voir ajoutée.
* NDLR : ne pas confondre (comme moi) l'affichage des images d'un dossier et l'affichage d'une image de l'inventaire au survol de la souris.


= Base de données =
= Modules =
= Bugs =
= Bugs =
=== Problème de migration ===
=== Problème de migration de la base de données ===
* Mantis : 0009098 [http://opensimulator.org/mantis/view.php?id=9098]
* Mantis : 0009098 [http://opensimulator.org/mantis/view.php?id=9098]
* Le cast spécifié n'est pas valide au redémarrage de la région :  les migrations ne se déroulent pas correctement entre les mises à jour.
* Le cast spécifié n'est pas valide au redémarrage de la région :  les migrations ne se déroulent pas correctement entre les mises à jour.
* Il serait peut-être judicieux d'ajouter un contrôle au démarrage pour vérifier le schéma de la table (Mise à jour du  schéma de la table Prims).
* Il serait peut-être judicieux d'ajouter un contrôle au démarrage pour vérifier le schéma de la table ([http://opensimulator.org/wiki/Prims_(database_table)/fr Mise à jour du  schéma de la table Prims sur le wiki] ).
* Il semble que le passage de double à  float pendant la migration de table n'a pas été exécuté ou a échoué d'une manière ou d'une autre. Si une table est cassée sur une installation avant une migration quand elle s'exécute le désordre s’accroît.
* Le problème :  si la migration échoue, le démarrage se poursuit quand même. À la fin il n'y a pas vérification si la table est dans le bon format.
* Solution SQL de fortune : mettre une condition pour dire d'ajouter le champ s'il n'existe pas au lieu de l'ajouter aveuglément.
* Solution idéale : S'il n'y a pas de table, il suffit de la créer directement à partir d'un fichier SQL, sans avoir besoin de faire toute la migration. Si le schéma de la table ne correspond pas, il suffit d'arrêter le démarrage et de dire à l'utilisateur que quelque chose ne va pas. Un plan ultime pour cela serait un système qui vérifie l'"état" d'une table et n'exécute que les migrations dont il a besoin et échoue s'il ne peut pas corriger la table à la structure appropriée. Puis, inclure un message qui indique où le schéma diverge et où intervenir manuellement dans la base de données pour faire les ajustements selon un fichier sql de structure ou sortir le bon schéma par rapport à l'installation.
--> Détection de la version X de la table, exécution des migrations...
--> Impossible de mettre à jour le schéma de la table Structure de la table malformée,
--> Veuillez corriger le type de données
* La version de la base de données est dans la table des migrations.
* Il faudrait une migration avec retour en arrière en cas d'échec.
=== Problème chaîne de connexion à la base de données ===
* Il faudrait signaler l'origine du problème immédiatement dans la console au lieu d'avoir un flot de texte rouge.


= Tests =
= Tests =
Ligne 54 : Ligne 68 :
= Viewers=
= Viewers=
=== Firestorm===
=== Firestorm===
* Pas de problèmes majeurs avec la dernière version (6.6.14.69596) qui date du 1er août. Hormis, des problèmes de cache qui avalent les textures ou les objets mais, qui ne sont pas lié au viewer mais plutôt aux modifications apportées par Linden Lab.
* Pas de problèmes majeurs avec la dernière version (6.6.14.69596) qui date du 1er août. Hormis, des problèmes de cache qui avalent les textures ou les objets mais, qui ne sont pas liés au viewer mais plutôt aux modifications apportées par Linden Lab.
* La version beta ajoute des modifications pour les inventaires. Cette version a supprimé les inventaires lludp pour SL mais pas pour OpenSim. Pour OpenSim seules les vignettes ne fonctionnent pas.
* La version beta ajoute des modifications pour les inventaires. Cette version a supprimé les inventaires lludp pour SL mais pas pour OpenSim. Pour OpenSim seules les vignettes ne fonctionnent pas.
* La version alpha sera une version 7.x.x
* La version alpha sera une version 7.x.x
* NDLR : cette information n'a pas été donnée à la réunion mais depuis la version 6.6.16.70339 de Firestorm la visualisation des textures s'affichent dans l'inventaire de Firestorm.


=== Visionneuse Second Life ===
=== Visionneuse Second Life ===
* Il semble que son développement est bloqué depuis deux ou trois semaines.
* Il semble que son développement soit bloqué depuis deux ou trois semaines.
 
=== Sharpview ===
=== Sharpview ===
* Code du  [[Réunion_du_07-11-2023#Sharpview |jeu factice avec la même structure que Sharpview ]] compilé et exécuté sur MacOS : pas de problème.
* Code du  [[Réunion_du_07-11-2023#Sharpview |jeu factice avec la même structure que Sharpview ]] compilé et exécuté sur MacOS : pas de problème.
Ligne 66 : Ligne 82 :
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2023-11-14
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2023-11-14
<!--
<!--
[1:01 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Turns out the double to float part of that table migration never ran or somehow got missed
[1:01 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Not sure how, but I been looking at migrations being a sort of fire and forget affair in the first place
[1:01 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: If you have a broken table when it tries to run it'll make a bigger mess
[1:02 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: I did look into ways in sql to "if field not exist add it" instead of just blindly adding it, but that's only really a bandaid me thinks
[1:02 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Telling the user "hey the table doesn't match what I need" might prevent this
[1:03 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Should not be too hard to implement either, run some sql to get table schema and compare it, error if mismatch
[1:04 PM PT]  Ubit Umarov: no idea.. those migrtations did work fine
[1:04 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: They usually do as well I agree
[1:04 PM PT]  Gavin.Hird @grid.xmir.org:8002: did you test in MariaDB or "real" MySQL Vincent?
[1:05 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: I did not test this. It was what I found through the ticket and comparing what the migrations do that I found the field type mismatch
[1:05 PM PT]  Gavin.Hird @grid.xmir.org:8002: ah, ok
[1:06 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: I been looking at migrations in the past thinking there has to be a better way to migrate things or at least have it check before adding fields to tables
[1:06 PM PT]  Gavin.Hird @grid.xmir.org:8002: Has anyone tried MySQL 8.1 yet?
[1:06 PM PT]  Lyr Lobo: : There is a behind the scenes look at our events
[1:06 PM PT]  Lyr Lobo: Not the program, my planning view
[1:06 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: When I moved to dotnet for some regions I did have one fail because I had altered the table for another test and as a result the migrations failed and then all hell broke loose
[1:07 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: I did find some sql for "if not exist create" rather than just create
[1:07 PM PT]  Andrew Hellershanks: (I'm back)
[1:08 PM PT]  Cuga.Rajal @rajal.org:9000: would a schema check at startup simplify the process?
[1:09 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: What it would do is if there is no table at all just create it from a sql file directly, no need to do the whole migration thing. If the table schema doesn't match just stop startup and tell the user something is wrong
[1:09 PM PT]  Andrew Hellershanks: Vincent, there is also an INSERT IGNORE option for loading tables with data.
[1:10 PM PT]  Andrew Hellershanks: Vincent, that could be useful. One would certainly hope the database schema matches what is expected for the migration levels of the various tables.
[1:11 PM PT]  Cuga.Rajal @rajal.org:9000: it could avoid data corruption and Mantis tickets :)
[1:11 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: My ultimate plan for this would be a system that checks the "state" of a table and only run the migrations it needs and otherwise fail if it cannot correct the table to the proper structure.
[1:12 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: "Detected table version X, will run migrations..." "Could not update table schema" "Malformed table structure, please correct" type deal
[1:12 PM PT]  Gavin.Hird @grid.xmir.org:8002: Isn't that what the migrations table is for. If a migration set is already at the latest level it does nothing?
[1:12 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Yes
[1:12 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Problem is it can blindly run even if the sql fails to execute and set migrations as done
[1:12 PM PT]  Orbert.Tatham @hg.zetaworlds.com: I assume there is no field in a table somewhere that has the version of the database. Perhaps that would make a useful addition also?
[1:13 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: That's in the migrations table
[1:13 PM PT]  Orbert.Tatham @hg.zetaworlds.com: So is it not showing the correct version that is causing this problem?
[1:14 PM PT]  Gavin.Hird @grid.xmir.org:8002: the migration and setting the level per migration should be in a transaction then so if the transaction fails, the migration level is not incremented?
[1:14 PM PT]  Andrew Hellershanks: If it updates the migrations table even if the SQL statements doing the migrations fail that is a problem that needs to be fixed.
[1:15 PM PT]  Gavin.Hird @grid.xmir.org:8002: but maybe setting the migration level is done in code and not SQL?
[1:15 PM PT]  Orbert.Tatham @hg.zetaworlds.com: The migration also needs to be atomic, with a rollback if it fails part way through
[1:15 PM PT]  Cuga.Rajal @rajal.org:9000: do you run into the issue of different DBs (postgres, Maria, etc) requiring diff migration SQL?
[1:15 PM PT]  Orbert.Tatham @hg.zetaworlds.com: All in one TRANSACTION
[1:15 PM PT]  Gavin.Hird @grid.xmir.org:8002: exactly Orbert
[1:15 PM PT]  Andrew Hellershanks: That is how I would expect it to work, Orbert.
[1:16 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: If the migration level in migrations table is lower it runs the migrations to bring it up to date, that is the plan at least
[1:16 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: However if those migrations fail it just continues bootup regardless
[1:16 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: It doesn't check at the end if the table is now in the proper format
[1:16 PM PT]  Cuga.Rajal @rajal.org:9000: seems stopping startup on fail would be better
[1:16 PM PT]  Ubit Umarov: well he has several fields as DOUBLE  when there was a migration changing those to flOAT
[1:17 PM PT]  Gavin.Hird @grid.xmir.org:8002: but each tmigration should be in a transaction where the last commit is updating the migration table. If anything in the transaction fails, it should be rolled back and the migration stopped
[1:17 PM PT]  Ubit Umarov: possible he had a crash during that migration, and it is flaged as done, and wasn't ?
[1:17 PM PT]  Orbert.Tatham @hg.zetaworlds.com: If we fail to start up, we need to supply the users with some sort of tool to fix the problem, too
[1:17 PM PT]  Andrew Hellershanks: Cuga, there are different migration files for different database systems.
[1:17 PM PT]  Cuga.Rajal @rajal.org:9000: ah ok
[1:18 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: I wanted to include a message that states where the schema diverges and direct them to examine their database and manually make the adjustments according to a structure sql file
[1:18 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Or well, output the proper schema vs what they have something like that
[1:19 PM PT]  Andrew Hellershanks: Orbert, Another thing I've been wanting to implement is to fail startup if it can't connect to the database when it tries to use the connection strings.
[1:19 PM PT]  Andrew Hellershanks: Orbert, Another thing I've been wanting to implement is to fail startup if it can't connect to the database when it tries to use the connection strings.
[1:19 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Yeah, that is what I was thinking
[1:19 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Yeah, that is what I was thinking

Dernière version du 11 décembre 2023 à 17:11

Changements du code de la semaine

  • changements mineurs "cosmétique" : vérification de nullité sur part.Inventory [1]

Avertissement

Attention : Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux réunions du mardi ou sur le canal IRC


Code général

Inventaires

  • Il n'est pas question pour l'instant d'implémenter la nouvelle image de prévisualisation de l'inventaire dans FS pour OpenSimulator, même si cela fonction dans SL. En revanche avec la version beta il y a l'affichage de la fonctionnalité sans la prévisualisation. Les viewer actuels n'ont pas le code pour implémenter cette fonctionnalité avec l'API d'inventaire d'OpenSimulator depuis que SL est passé à AIS V3. Il faudra beaucoup de code côté serveur... et des changements dans les bases de données. Le développement d'OpenSimulator est libre et ouvert et fait par des bénévoles.
  • Si vous voulez vraiment une fonctionnalité particulière et que vous pensez que l'argent est le moyen de l'obtenir, vous pouvez essayer d'embaucher quelqu'un pour implémenter la fonctionnalité que vous voulez voir ajoutée.
  • NDLR : ne pas confondre (comme moi) l'affichage des images d'un dossier et l'affichage d'une image de l'inventaire au survol de la souris.

Bugs

Problème de migration de la base de données

  • Mantis : 0009098 [2]
  • Le cast spécifié n'est pas valide au redémarrage de la région : les migrations ne se déroulent pas correctement entre les mises à jour.
  • Il serait peut-être judicieux d'ajouter un contrôle au démarrage pour vérifier le schéma de la table (Mise à jour du schéma de la table Prims sur le wiki ).
  • Il semble que le passage de double à float pendant la migration de table n'a pas été exécuté ou a échoué d'une manière ou d'une autre. Si une table est cassée sur une installation avant une migration quand elle s'exécute le désordre s’accroît.
  • Le problème : si la migration échoue, le démarrage se poursuit quand même. À la fin il n'y a pas vérification si la table est dans le bon format.
  • Solution SQL de fortune : mettre une condition pour dire d'ajouter le champ s'il n'existe pas au lieu de l'ajouter aveuglément.
  • Solution idéale : S'il n'y a pas de table, il suffit de la créer directement à partir d'un fichier SQL, sans avoir besoin de faire toute la migration. Si le schéma de la table ne correspond pas, il suffit d'arrêter le démarrage et de dire à l'utilisateur que quelque chose ne va pas. Un plan ultime pour cela serait un système qui vérifie l'"état" d'une table et n'exécute que les migrations dont il a besoin et échoue s'il ne peut pas corriger la table à la structure appropriée. Puis, inclure un message qui indique où le schéma diverge et où intervenir manuellement dans la base de données pour faire les ajustements selon un fichier sql de structure ou sortir le bon schéma par rapport à l'installation.

--> Détection de la version X de la table, exécution des migrations... --> Impossible de mettre à jour le schéma de la table Structure de la table malformée, --> Veuillez corriger le type de données

  • La version de la base de données est dans la table des migrations.
  • Il faudrait une migration avec retour en arrière en cas d'échec.

Problème chaîne de connexion à la base de données

  • Il faudrait signaler l'origine du problème immédiatement dans la console au lieu d'avoir un flot de texte rouge.

Tests

Test unitaires

  • Xunit : Il faudra probablement attendre encore quelques semaines pour avoir un plan de bataille à ce sujet.

Projets en cours / Infos

OSCC 2023 -- 11e édition

Objectif

  • Renforcer la communauté, voir ce que tout le monde fait et où nous nous situons.

Dates

  • La conférence aura lieu les 9 et 10 décembre 2023 avec une fête d'ouverture le vendredi 8 décembre.

Programme

  • C'est la conférence de la communauté OpenSimulator, donc tous les sujets liés à Opensim sont les bienvenus, y compris l'avenir.
  • Il y a 30 sessions de 7h à 18h et de la danse en soirée.
  • Le core des développeurs parle de 7h à 9h
  • Il y a une session VIP"Core Dev à 11h45 le samedi 9 décembre.
  • La table ronde sur les Viewers se tiendra le samedi 9 décembre à 12h30.
  • Il y aura pas mal de sessions sur la recherche, l'éducation, le divertissement et les arts, ainsi que quelques intégrations d'outils avec d'autres mondes et technologies.
  • Contrairement aux autres conférences, elle ne se limitera pas à un thème. Il y a 5 titres : les entreprises, la technologie, la recherche, l'éducation, la créativité et les arts. De cette façon, tout est visible par tous depuis les 4 régions sur les Keynotes de l'OSCC.
  • Le programme est en cours d'élaboration et sera en ligne dans quelques semaines.

S'inscrire

Des chiffres

  • Sur Hypergrid Business, Maria mène une enquête. Mais, il faudrait que plus de personnes y participent.

Mono

  • Mono appartient à Microsoft (MS) et même si c'est un logiciel libre, c'est une impasse, MS l'a tué.

Rôle des réunions du mardi

  • discuter des changements en cours, des orientations futures, des projets et des besoins des développeurs et de la communauté, rapporter des observations.

Viewers

Firestorm

  • Pas de problèmes majeurs avec la dernière version (6.6.14.69596) qui date du 1er août. Hormis, des problèmes de cache qui avalent les textures ou les objets mais, qui ne sont pas liés au viewer mais plutôt aux modifications apportées par Linden Lab.
  • La version beta ajoute des modifications pour les inventaires. Cette version a supprimé les inventaires lludp pour SL mais pas pour OpenSim. Pour OpenSim seules les vignettes ne fonctionnent pas.
  • La version alpha sera une version 7.x.x
  • NDLR : cette information n'a pas été donnée à la réunion mais depuis la version 6.6.16.70339 de Firestorm la visualisation des textures s'affichent dans l'inventaire de Firestorm.

Visionneuse Second Life

  • Il semble que son développement soit bloqué depuis deux ou trois semaines.

Sharpview

Source

http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2023-11-14