LinguaLibre

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

< LinguaLibre:Technical board

(headers)
 
(9 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
** [[User:Michaël BARBEREAU WMFr|Michaël Barbereau]]
 
** [[User:Michaël BARBEREAU WMFr|Michaël Barbereau]]
 
** Julien 'Jitrixis'
 
** Julien 'Jitrixis'
* Volunteer
+
* Volunteers / Lingua Libre's Tech Team
 
** [[User:Poslovitch|Florian 'Poslovitch' C.]]   
 
** [[User:Poslovitch|Florian 'Poslovitch' C.]]   
 
* Paid development and technical team
 
* Paid development and technical team
Line 16: Line 16:
  
 
== Report ==
 
== Report ==
=== Minimal technical requirements for Lingua Libre's servers ==
+
=== 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 25: 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 32: 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 fixes progress ===
Line 57: Line 57:
 
'''Solution conservée : page Wikicode.'''
 
'''Solution conservée : page Wikicode.'''
  
=== Fixing the problem with links to Wikipedia in LiLi's Wikibase ===
+
=== Fixing links to Wikipedia in Lingua Libre's Q-elements ===
  
Problème lien titre Wikipédia : + au lieu de _
+
[[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?
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
 
  
 
=== About the translatability of the UI ===
 
=== About the translatability of the UI ===
Line 95: Line 94:
  
 
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 ==
 
== Summary ==
  
résolution bugs T210477 et T197727 (sera effectif sur la m.à.j. 1.35) ; besoins serveurs spécifiés ; début documentation opérationnelle,
+
* [[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.
  
 
== Main tasks assigned to the team until the next progress report ==
 
== Main tasks assigned to the team until the next progress report ==
   
+
 
* serveurs
+
* Setup the new servers and upgrade Lingua Libre's MediaWiki installation to 1.35.
* adresse IP auprès de la fondation
+
* Request the Wikimedia Foundation to whitelist Lingua Libre's IP adress in order to avoid being rate-limited when generating datasets.
* communiquer sur le technical board et assigner les tâches phabricator à WikiValley quand nécessaire
+
* Communicate on progress and technical interventions in the [[LinguaLibre:Technical board|Technical board]].
* lister les boutons et messages systèmes qui doivent être marqués pour traduction -> rendre toute l'interface traduisible
+
* 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.
 +
 
 +
[[Category:Technical reports|First progress report with WikiValley and VIGNERON]]

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.