PROJET AUTOBLOG


Framablog

Site original : Framablog

⇐ retour index

MyPads : version admissible

jeudi 20 août 2015 à 14:18

Après deux semaines de tests sur la bêta 2, nous atteignons aujourd’hui un nouveau palier et n’avons jamais été aussi proches de la version stable : nous vous présentons aujourd’hui MyPads version admissible (release candidate).

MyPadsDerniers travaux réalisés

Depuis le point du 30 juillet :

Plus récemment, une refonte conséquente de l’authentification a du être entreprise. L’un des plugins d’etherpad, dont nous avions parlé en semaine 17, a la fâcheuse tendance à empêcher le fonctionnement de MyPads. Ce comportement s’est avéré aléatoire en fonction de la base de données utilisée par l’instance et le temps que celle-ci mettait à répondre après le lancement d’etherpad. Il faut dire que les plugins etherpad sont lancés suite à un événement global et que nous ne pouvons à notre connaissance pas contrôler leur ordre de lancement. Pour passer outre, il a fallu initialiser MyPads plus tôt, ce qui a empêché ce dernier de se brancher sur le système de sessions utilisé d’etherpad. C’est pourquoi, afin de garantir un fonctionnement sans conflit, il a été nécessaire de passer d’un système d’authentification simple en local vers un système à jetons,  JSON Web Token, mais toujours au travers de la bibliothèque passportjs.

L’aboutissement

Cela fait un peu plus d’un an que le projet MyPads a été financé. Le développement, dont le début était prévu pour novembre, a été reculé à février de cette année et la charge de travail initialement prévue a été largement dépassée, en partie en raison d’une mésestimation du travail nécessaire pour créer un tel plugin pour Etherpad (ce type d’extension étant rare) et de bonus vis à vis du cahier des charges initial, ajoutés gracieusement par le prestataire. Ce dernier s’étant engagé, le dépassement est resté à sa charge et le plugin ne coûtera pas davantage que ce qui était prévu. Notez que Framasoft n’a de son côté pas souhaité appliquer des pénalités pour les retards constatés (MyPads, une fois le développement repris en février, devait être publié avant la fin du mois d’avril).

Quelques chiffres : MyPads, c’est aujourd’hui un peu plus de 13.000 lignes pour 10.000 lignes de code. Les deux tiers de ce total sont consacrés aux tests unitaires et fonctionnels du plugin. En tout, le logiciel aura vu passer un peu moins de 80.000 lignes – ajouts et suppressions – dont une faible partie provient des dépendances et le reste de refactorisations du code.

De nouvelles tâches sont prévues pour les mois à venir mais il ne devrait plus y avoir d’ajout avant la version stable et la mise en production sur les serveurs de Framasoft.

Testez

Merci à ceux qui ont déjà fait l’effort de tester MyPads. Pour cette toute dernière ligne droite, nous avons à nouveau besoin de vous. MyPads a été installé sur notre instance bêta. Plus cette version sera utilisée et plus les anomalies rencontrées seront rapportées, moins il y aura de mauvaises surprises pour le déploiement et l’utilisation par tous. Ceci est prévu dans à peine quelques semaines.

MyPads

MyPads : release candidate

After two weeks of beta 2, today we reach another step and we’ve never been so close to release : here we have MyPads RC – release candidate.

Last progress

Since our last point :

Recently, a substantial rewriting of the authentication system has been made. One of the etherpad plugins, which we talk about into week 17 point, has a nasty tendency to prevent MyPads to work. This behavior has been randomly experienced, depending on the database used by the instance and the time it needs to setup after etherpad launch. Etherpad plugins are called through a global event and we can not, as far as we know, control their order. To disregard, we had to setup MyPads sooner, what prevents it to correctly plug with the session system used by etherpad. That’s why we decide, to secure functioning, to migrate from a simple local authentication to a token system, JSON Web Token, but still with the help of the passportjs library.

Completion

MyPads crowdfunding campaign has ended more than a year ago. Development, which has been initially expected on November, has been delayed to February and the predictable workload has been overstepped to a great extent. Reasons include a wrong initial estimation of needed work to create such a plugin (this kind of extension is rare into etherpad ecosystem) and some bonus features regarding the specifications ; features added free of charge. The contractor has been engaged to complete the plugin, so the overload is on him and the plugin won’t cost more than expected. Note that Framasoft has not wanted to apply some fees for the delays (MyPads, once the development starts again in February, has been announced to be published before the end of April).

Some numbers : MyPads today represents a little more than 13,000 lines for 10,000 lines of code. Two thirds has been dedicated to unit and functional testing. In all, the plugin has regrouped a bit less than 80,000 lines – additions and deletions – including a little part from dependencies and mainly code refactorizations.

New features are planned next monthes but it won’t be any addition before stable version and deployment on the Framasoft and Framapad servers.

Tests

Thanks to all who have already took some time to test MyPads. For this last home straight, we need you, again. MyPads has been installed on our beta instance. More this version will be used and bugs will be reported, less we got bad surprises in a few weeks, when MyPads will be published and installed publicly.