LinguaLibre

Difference between revisions of "Technical board/Reports/2021/First progress report with WikiValley and VIGNERON"

< LinguaLibre:Technical board

(created from Adélaïde's report. Needs to be translated into English first.)
 
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Prestation mi-pacours Lingua Libre
+
== Report description ==
  
Présents
+
Mid-term progress report about the paid intervention from WikiValley and Vigneron on Lingua Libre.
* Nicolas Vigneron  
 
* Adélaïde Calais 
 
* Florian 'Poslovitch' C.
 
* Michaël BARBEREAU WMFr 
 
* Nicolas Wiki Valley 
 
* Julien Jitrixis
 
* Seb35
 
  
 +
Attenders:
 +
* Wikimédia France
 +
** [[User:Adélaïde Calais WMFr|Adélaïde Calais]]
 +
** [[User:Michaël BARBEREAU WMFr|Michaël Barbereau]]
 +
** Julien 'Jitrixis'
 +
* Volunteers / Lingua Libre's Tech Team
 +
** [[User:Poslovitch|Florian 'Poslovitch' C.]] 
 +
* Paid development and technical team
 +
** [[User:VIGNERON|Nicolas Vigneron]]
 +
** Nicolas (''WikiValley'')
 +
** Seb35 (''WikiValley'')
  
 +
== Report ==
 +
=== Minimal technical requirements for Lingua Libre's servers ===
 
'''WikiValley a donné les pré-requis pour les serveurs'''
 
'''WikiValley a donné les pré-requis pour les serveurs'''
  
Serveur loué en solution cloud chez ovh ou scaleaway ?  
+
Serveur loué en solution cloud chez ovh ou scaleaway ?
 
On arrive à saturation du json - le retour du blazegraph est trop gros.
 
On arrive à saturation du json - le retour du blazegraph est trop gros.
 
Proposition de wikivalley : migrer tout lingua libre sur une seule machine. Pour l'instant la séparation des deux moitiés sur deux serveurs permet que tout lingua libre ne soit pas ralenti quand le blazegraph rame.  
 
Proposition de wikivalley : migrer tout lingua libre sur une seule machine. Pour l'instant la séparation des deux moitiés sur deux serveurs permet que tout lingua libre ne soit pas ralenti quand le blazegraph rame.  
Line 19: Line 25:
 
Le modèle cloud permet de communiquer.
 
Le modèle cloud permet de communiquer.
 
De quelles ressources a-t-on besoin ?
 
De quelles ressources a-t-on besoin ?
sur blazegraph il faut des ram.
+
* sur blazegraph il faut des ram.
pour le bot et les datasets il faut du stockage aussi.
+
* pour le bot et les datasets il faut du stockage aussi.
  
 
L'IP est-elle connue de la fondation ?
 
L'IP est-elle connue de la fondation ?
Line 26: Line 32:
 
la question reste : le bot est sûrement enregistré comme adresse IP auprès de la fondation pour avoir le droit de faire plus de requêtes. Michaël : en tout cas les datasets n'avancent pas parce qu'on est bloqué par des notifications "too many requests" de la fondation.
 
la question reste : le bot est sûrement enregistré comme adresse IP auprès de la fondation pour avoir le droit de faire plus de requêtes. Michaël : en tout cas les datasets n'avancent pas parce qu'on est bloqué par des notifications "too many requests" de la fondation.
  
retour aux ressources :
+
Retour aux ressources :
 
MediaWiki a aussi besoin d'un peu plus de place.  
 
MediaWiki a aussi besoin d'un peu plus de place.  
  
 
Proposition finale : on garde 2 serveurs pour éviter les effets de bord si un module tombe. Pour ne pas perdre les audios, par exemple, même si l'updater ou les datasets ne fonctionnent plus (ce qui était d'ailleurs le cas). Florian : le bot peut tourner n'importe où, c'est juste une question de config.
 
Proposition finale : on garde 2 serveurs pour éviter les effets de bord si un module tombe. Pour ne pas perdre les audios, par exemple, même si l'updater ou les datasets ne fonctionnent plus (ce qui était d'ailleurs le cas). Florian : le bot peut tourner n'importe où, c'est juste une question de config.
 
'''On garde une machine avec les modules core, puis une autre avec les fonctions script (qui sont indépendantes mais qui doivent être bien tracées).  
 
'''On garde une machine avec les modules core, puis une autre avec les fonctions script (qui sont indépendantes mais qui doivent être bien tracées).  
Il nous faut une solution flexible où on peut rajouter de la mémoire en allant, à mesure que nos besoins grandissent.'''  
+
Il nous faut une solution flexible où on peut rajouter de la mémoire en allant, à mesure que nos besoins grandissent.'''
  
 +
=== Bug fixes progress ===
  
 
'''Bug des dates doubles sur certaines pages (https://phabricator.wikimedia.org/T197727) sera résolu en version 1.35'''
 
'''Bug des dates doubles sur certaines pages (https://phabricator.wikimedia.org/T197727) sera résolu en version 1.35'''
  
 
'''Bug résolu sur le record wizard on ne pouvait pas afficher l'interface en catalan, occitan, portugais etc.''' (https://phabricator.wikimedia.org/T210477 ) c'était un problème de fallback (https://www.mediawiki.org/wiki/Manual:Language#Fallback_languages). Quand mediawiki trouve pas un message en catalan, il le cherche en occitan. Problème : l'absence de message en catalan menait aussi à une requête de message en Occitan. donc boucle vide. Résolu : requête occitan puis catalan puis anglais.  
 
'''Bug résolu sur le record wizard on ne pouvait pas afficher l'interface en catalan, occitan, portugais etc.''' (https://phabricator.wikimedia.org/T210477 ) c'était un problème de fallback (https://www.mediawiki.org/wiki/Manual:Language#Fallback_languages). Quand mediawiki trouve pas un message en catalan, il le cherche en occitan. Problème : l'absence de message en catalan menait aussi à une requête de message en Occitan. donc boucle vide. Résolu : requête occitan puis catalan puis anglais.  
 +
 +
=== Decisions about the Recordings Listing page ===
  
 
Question page affichage des enregistrements
 
Question page affichage des enregistrements
Line 48: Line 57:
 
'''Solution conservée : page Wikicode.'''
 
'''Solution conservée : page Wikicode.'''
  
Problème lien titre Wikipédia : + au lieu de _
+
=== Fixing links to Wikipedia in Lingua Libre's Q-elements ===
Sur la tâche obligatoire, il y a deux tâches wikidata rattachées. Les espaces sont un des problèmes mais la même question se pose avec d'autres caractères spéciaux. -> veut-on résoudre sur court terme ou plus long terme
+
 
 +
[[phabricator:T206801|[T206801] "Links to Wikipedia contain "+" (instead of "_")"]] has two tasks attached to it. Both of them are related to Wikidata - which implies the issue might lie in Wikibase's code. Do we seek to resolve this issue on our end (short-term fix) or do we engage in a more global process that would get this issue fixed on the longer term?
 +
 
 +
=== About the translatability of the UI ===
  
 
Traductibilité de l'interface
 
Traductibilité de l'interface
Line 55: Line 67:
 
Demander des retours à la communauté - pour qu'ils signalent les boutons qui sont perdus dans les pages  
 
Demander des retours à la communauté - pour qu'ils signalent les boutons qui sont perdus dans les pages  
  
 
+
=== BlazeGraph updater ===
  
 
Nicolas Vigneron a fait les vérifications sur la bonne reprise de l'updater du Blazegraph.
 
Nicolas Vigneron a fait les vérifications sur la bonne reprise de l'updater du Blazegraph.
Line 61: Line 73:
 
Point de vigilance : l'endpoint SPARQL sur Wikidata s'arrête au bout de 60 secondes, apparemment pas celui de Lingua Libre ? si ce time-out n'existe pas sur Lingua Libre - risque de surcharge.  
 
Point de vigilance : l'endpoint SPARQL sur Wikidata s'arrête au bout de 60 secondes, apparemment pas celui de Lingua Libre ? si ce time-out n'existe pas sur Lingua Libre - risque de surcharge.  
  
Nicolas Vigneron :
+
=== Documentation ===
 +
 
 +
Nicolas Vigneron:
  
 
Documentation médiaWiki - fera des liens de renvois vers la doc officielle de MediaWiki et quelques explications de contextes.
 
Documentation médiaWiki - fera des liens de renvois vers la doc officielle de MediaWiki et quelques explications de contextes.
Line 77: Line 91:
 
documenter le javascript.
 
documenter le javascript.
  
 +
=== Communication methods ===
  
 
Question de l'articulation des moyens de communications
 
Question de l'articulation des moyens de communications
Hugo a crée un "bistro technique" sur lingua libre : https://lingualibre.org/wiki/LinguaLibre:Technical_board
+
* https://lingualibre.org/wiki/LinguaLibre:Technical_board créé Yug. Public, commun et ré-éditable.
 +
 
 +
== Summary ==
  
'''conclusion :'''
+
* [[phabricator:T210477|[T210477] "RecordWizard does not work well the user interface in Occitan"]] is fixed.
 +
* [[phabricator:T197727|[T197727] "The date displays twice in the Recent Changes"]] will be fixed alongside MediaWiki's update to 1.35.
 +
* Hardware requirements for Lingua Libre's new servers have been specified.
 +
* Operating documentation is on the way.
  
Fait :
+
== Main tasks assigned to the team until the next progress report ==
  
résolution bugs T210477 et T197727 (sera effectif sur la m.à.j. 1.35) ; besoins serveurs spécifiés ; début documentation opérationnelle,
+
* Setup the new servers and upgrade Lingua Libre's MediaWiki installation to 1.35.
 +
* Request the Wikimedia Foundation to whitelist Lingua Libre's IP adress in order to avoid being rate-limited when generating datasets.
 +
* Communicate on progress and technical interventions in the [[LinguaLibre:Technical board|Technical board]].
 +
* Assign oneself to tasks on Phabricator if they fall in the scope of the paid intervention in order to prevent volunteer developpers from working on said tasks.
 +
* List all buttons and texts that must be tagged as translatable in order to allow full translation of the UI.
  
À faire :
+
[[Category:Technical reports|First progress report with WikiValley and VIGNERON]]
   
 
* serveurs
 
* adresse IP auprès de la fondation
 
* communiquer sur le technical board et assigner les tâches phabricator à WikiValley quand nécessaire
 
* lister les boutons et messages systèmes qui doivent être marqués pour traduction -> rendre toute l'interface traduisible
 

Latest revision as of 21:59, 22 February 2021

Report description

Mid-term progress report about the paid intervention from WikiValley and Vigneron on Lingua Libre.

Attenders:

Report

Minimal technical requirements for Lingua Libre's servers

WikiValley a donné les pré-requis pour les serveurs

Serveur loué en solution cloud chez ovh ou scaleaway ? On arrive à saturation du json - le retour du blazegraph est trop gros. Proposition de wikivalley : migrer tout lingua libre sur une seule machine. Pour l'instant la séparation des deux moitiés sur deux serveurs permet que tout lingua libre ne soit pas ralenti quand le blazegraph rame. La répartition est blazegraph + bot (script + stockage de fichiers) sur une machine, puis lingua libre sur serveur. Le modèle cloud permet de communiquer. De quelles ressources a-t-on besoin ?

  • sur blazegraph il faut des ram.
  • pour le bot et les datasets il faut du stockage aussi.

L'IP est-elle connue de la fondation ? le bot contact via les noms de domaines. Il est détaché des datasets. Il envoie ses requêtes via l'API ou sparqql et via les noms de domaines ou adresses IP. la question reste : le bot est sûrement enregistré comme adresse IP auprès de la fondation pour avoir le droit de faire plus de requêtes. Michaël : en tout cas les datasets n'avancent pas parce qu'on est bloqué par des notifications "too many requests" de la fondation.

Retour aux ressources : MediaWiki a aussi besoin d'un peu plus de place.

Proposition finale : on garde 2 serveurs pour éviter les effets de bord si un module tombe. Pour ne pas perdre les audios, par exemple, même si l'updater ou les datasets ne fonctionnent plus (ce qui était d'ailleurs le cas). Florian : le bot peut tourner n'importe où, c'est juste une question de config. On garde une machine avec les modules core, puis une autre avec les fonctions script (qui sont indépendantes mais qui doivent être bien tracées). Il nous faut une solution flexible où on peut rajouter de la mémoire en allant, à mesure que nos besoins grandissent.

Bug fixes progress

Bug des dates doubles sur certaines pages (https://phabricator.wikimedia.org/T197727) sera résolu en version 1.35

Bug résolu sur le record wizard on ne pouvait pas afficher l'interface en catalan, occitan, portugais etc. (https://phabricator.wikimedia.org/T210477 ) c'était un problème de fallback (https://www.mediawiki.org/wiki/Manual:Language#Fallback_languages). Quand mediawiki trouve pas un message en catalan, il le cherche en occitan. Problème : l'absence de message en catalan menait aussi à une requête de message en Occitan. donc boucle vide. Résolu : requête occitan puis catalan puis anglais.

Decisions about the Recordings Listing page

Question page affichage des enregistrements la page statistiques est faite en wikicode. Deux possibilités :

Faire la page en PHP : + très efficace, - difficilement modifiable à long terme

Faire la page en Wikicode : + facilement modifiable, - légèrement plus complexe techniquement (utilisation d'un gadget pour le javascript)

Solution conservée : page Wikicode.

Fixing links to Wikipedia in Lingua Libre's Q-elements

[T206801] "Links to Wikipedia contain "+" (instead of "_")" has two tasks attached to it. Both of them are related to Wikidata - which implies the issue might lie in Wikibase's code. Do we seek to resolve this issue on our end (short-term fix) or do we engage in a more global process that would get this issue fixed on the longer term?

About the translatability of the UI

Traductibilité de l'interface WikiValley va lister les messages systèmes et boutons qui ne sont pas encore balisés Demander des retours à la communauté - pour qu'ils signalent les boutons qui sont perdus dans les pages

BlazeGraph updater

Nicolas Vigneron a fait les vérifications sur la bonne reprise de l'updater du Blazegraph. L'updater a repris toutes les données depuis la dernière exécution. Il n'a pas de trous et il semble avoir updaté tous les fichiers datant de mi-novembre. Point de vigilance : l'endpoint SPARQL sur Wikidata s'arrête au bout de 60 secondes, apparemment pas celui de Lingua Libre ? si ce time-out n'existe pas sur Lingua Libre - risque de surcharge.

Documentation

Nicolas Vigneron:

Documentation médiaWiki - fera des liens de renvois vers la doc officielle de MediaWiki et quelques explications de contextes. Plutôt se concentrer actuellement sur une documentation opérationnelle et d'exploitation : Michaël demande documentation github du workflow pour le blazegraph (comment relancer les services un par un si nécessaire). Pour dataset et bot, Poslovitch et Michaël peuvent s'en sortir. Mediawiki documenter l'opérationnel - si personne n'est joignable, comment relancer à la main le service complet.

Conseille de faire un test en marche double avec Michaël : faciliter la création de la documentation en y impliquant Michaël et en le testant en même temps. facilitera la relecture.

Privilégier la doc opérationelle. Faire une documentation technique du recordwizard sera très longue. le readme sera long et détaillé. demander de l'aide pour documenter la partie affichage du record wizard. documenter le javascript.

Communication methods

Question de l'articulation des moyens de communications

Summary

Main tasks assigned to the team until the next progress report

  • Setup the new servers and upgrade Lingua Libre's MediaWiki installation to 1.35.
  • Request the Wikimedia Foundation to whitelist Lingua Libre's IP adress in order to avoid being rate-limited when generating datasets.
  • Communicate on progress and technical interventions in the Technical board.
  • Assign oneself to tasks on Phabricator if they fall in the scope of the paid intervention in order to prevent volunteer developpers from working on said tasks.
  • List all buttons and texts that must be tagged as translatable in order to allow full translation of the UI.