Suivi - Statistiques Statistiques sur les éditions post-publication / a posteriori

#1683 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
0
4
jan.
2017

Avoir des statistiques sur les éditions post-publication (sur le fond ou la forme) et autres interventions a posteriori pour rendre visible ce travail de modération ou d'admin

  • sur les commentaires :

    • si l'écart entre la date de création et la date de modération est strictement supérieur à 5min, alors c'est édité par un admin/modéro (si c'est inférieur à 5min, peut-être aussi, mais c'est indiscernable d'une édition par l'auteur actuellement)
    • si le commentaire a été masqué
  • sur les contenus

Suivi - Statistiques Comparaison de grapheurs Javascript libres pour les statistiques LinuxFr.org

#1682 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
1
31
déc.
2016

(tiré d'une dépêche du 6 janvier 2013 qui ne vit jamais le jour)

État initial des statistiques LinuxFr.org

Les statistiques du site sont produites avec du code Ruby On Rails qui va lire en bases de données MySQL et Redis.

Les données à représenter sont de quatre types actuellement :

  1. une série de pourcentages d'un même ensemble, pouvant se recouvrir (dans l'idéal, une représentation en diagramme de Venn, mais elle est généralement limitée à 4 séries de données) ;
  2. un (...)

Suivi - Modération Comment perdre une partie du contenu en modération avec Grammalecte

#1681 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
0
31
déc.
2016

J'ai enfin identifié la recette permettant de perdre une partie du contenu en modération avec le greffon Grammalecte pour Firefox.

Prenons une dépêche ayant pour

  • titre « Un titre »
  • première partie « Ceci est mon premier paragraphe de partie une. » et « Ceci est mon seconde paragraphe de partie une. »
  • seconde partie « Ceci est mon premier paragraphe de partie deux. » et « Ceci est mon seconde paragraphe de partie deux. »

En modération, utiliser réorganiser.

Utiliser Grammalecte sur la première partie pour corriger s/seconde/second. Fermer (...)

Suivi - Comptes utilisateurs URL d'image trop longue pour pouvoir servir d'avatar

#1676 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
0
12
déc.
2016

Le champ avatar est un varchar(255) en base de données. Si le chemin complet de l'image est trop long, l'url version img est trop longue pour le champ en base.

I, [2016-12-04T19:03:41.932320 #23749]  INFO -- : Started PUT "/compte" for xx.xx.xx.xx at 2016-12-04 19:03:41 +0100
I, [2016-12-04T19:03:41.934082 #23749]  INFO -- : Processing by Devise::RegistrationsController#update as HTML
I, [2016-12-04T19:03:41.934191 #23749]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"[FILTERED]", "account"=>{"user_attributes"=>{"custom_avatar_url"=>"https
://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxx/11881767_1459095337731613_392113446_a.jpg", "id"=>"50384"}}, "commit"=>"Enregistrer"}
I, [2016-12-04T19:03:42.008291 #23749]  INFO -- : Completed 500 Internal Server Error
(...)

Suivi - Tribune HTTP 500 sur un souci de compte dans la tribune ?

#1675 Posté par (page perso) . État de l'entrée : corrigée Licence CC by-sa
Tags : aucun
0
12
déc.
2016

Pas encore creusé (compte fermé ou purgé?):

I, [2016-12-07T22:25:06.076409 #8739]  INFO -- : Completed 500 Internal Server Error in 120ms (ActiveRecord: 0.3ms)
F, [2016-12-07T22:25:06.080971 #8739] FATAL -- : 
ActionView::Template::Error (undefined method `html_safe' for nil:NilClass):
    1: %p.chat{id: "board-#{board.id}"}
    2:   %span{class: "board-left", title: board.user_agent}
    3:     %time.norloge{datetime: board.created_at.iso8601}= norloge(board, box)
    4:     %b= board.user_link
    5:   %span{class: "board-right"}= board.message
  app/models/board.rb:34:in `user_link'
  app/views/boards/_board.html.haml:4:in `_app_views_boards__board_html_haml__3025735561608719691_35983540'
  app/views/boards/_boards.html.haml:6:in `_app_views_boards__boards_html_haml___4517043167309487966_35184960'
  app/views/boards/show.html.haml:19:in `_app_views_boards_show_html_haml___3929912801449370356_34808960'
  app/controllers/boards_controller.rb:12:in `show'

Suivi - Administration site HTTP 400 pour cause d'accent dans les chemins

#1674 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
1
12
déc.
2016

https://linuxfr.org/tags/jeuxvid%C3%A9o/public HTTP 200
https://linuxfr.org/tags/jeuxvideo/public HTTP 200

https://linuxfr.org/tags/jeuxvid%E9o/public HTTP 400

I, [2016-12-12T08:56:09.036890 #26343]  INFO -- : Started GET "/tags/jeuxvid%E9o/public" for xx.xx.xx.xx at 2016-12-12 08:56:09 +0100
F, [2016-12-12T08:56:09.039978 #26343] FATAL -- : 
ActionController::BadRequest (ActionController::BadRequest):
  actionpack (4.2.7.1) lib/action_dispatch/http/request.rb:62:in `block in check_path_parameters!'
  actionpack (4.2.7.1) lib/action_dispatch/http/request.rb:59:in `each'
  actionpack (4.2.7.1) lib/action_dispatch/http/request.rb:59:in `check_path_parameters!'
  actionpack (4.2.7.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'

Même chose avec
GET "/news/eucd-len-lil-offensive-annonc%E9e-apr%E8s-les-r%E9gionales"
GET "/news/linux-et-ibm-re%E7oivent-un-satisfecit-de-washington"
GET "/news/mandrake-linux-100-community-disponible-au-t%E9l%E9chargement"
GET "/news/microsoft-se-l%E2che"
GET "/news/microsoft-songe-%E0-faire-payer-pour-le-courriel"
GET "/news/mise-%E0-jour-linuxfr"
GET "/news/ms-prend-une-option-sur-vos-cr%E9ations"
GET "/news/performous-030-nouvelle-version-du-karaok%E9-libre"
GET "/news/quand-un-d%E9put%E9-et-un-professeur-de-droit-dit-ind%E9pendant-vont"
GET "/news/qui-cherche-%E0-contr%F4ler-linternet-la-vid%E9o"
GET "/news/spamihilator-passe-de-gpl-%E0-graticiel"
GET "/news/syst%E8me-de-notation-sur-linuxfr"
GET "/news/verisign-d%E9truit-lun-des-fondements-dinternet"
GET (...)

Suivi - Modération Édition des slugs

#1670 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
0
4
déc.
2016

Un slug est généré par rapport au titre d'un contenu. Il arrive qu'il soit utile de modifier ce slug en changeant le titre (ce qui change le slug par défaut, en conservant l'ancien slug comme une alternative). Mais ce n'est pas toujours aussi simple :

  • une première dépêche « Sortie de xyz 1.0 » a été commencée puis refusée, et une nouvelle du même titre arrive. Alors le slug sera de la forme sortie-de-xyz-28ef9800-feb8-44c3-bff8-098f0ab83a53 ce qui est un peu moche pour un (...)

Suivi - Syntaxe markdown HTTP 500 sur une édition de paragraphe

#1662 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
0
6
nov.
2016

Constaté trois fois en prod les 5 et 6 novembre lors d'édition sur une dépêche C++. Reproduit sur alpha, en éditant et remplaçant un paragraphe par la chaîne visible plus bas (wiki_body) :

I, [2016-11-06T15:22:53.315546 #28240]  INFO -- :   Parameters: {"utf8"=>"✓", "authenticity_token"=>"[FILTERED]", "paragraph"=>{"wiki_body"=>"```c\r\n\r\na\r\n``` \r\n"}, "id"=>"482"}
F, [2016-11-06T15:22:53.356544 #28240] FATAL -- :
NoMethodError (undefined method `replace' for nil:NilClass):
  lib/ar_base_ext.rb:47:in `wikify'
  app/models/paragraph.rb:101:in `wikify_body'
  app/models/paragraph.rb:90:in `update_by'
  app/controllers/redaction/paragraphs_controller.rb:33:in `update'

Suivi - Sondages HTTP 500 sur l'accès à un sondage rejeté (sans authentification d'un admin)

#1661 Posté par (page perso) . État de l'entrée : corrigée Licence CC by-sa
Tags : aucun
0
4
nov.
2016

Exemple d'un vieux sondage rejeté : GET /sondages/au-premier-tour-des-elections-presidentielles-de-la-republique-francaise-je-vais-voter => HTTP 500

F, [2016-11-03T12:39:47.894017 #25788] FATAL -- : 
NoMethodError (undefined method `amr?' for nil:NilClass):
  app/models/poll.rb:114:in `viewable_by?'
  app/controllers/application_controller.rb:102:in `enforce_view_permission'
  app/controllers/polls_controller.rb:23:in `show'

Suivi - Rédaction HTTP 500 sur l'ajout de lien avec URL vide

#1660 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
0
4
nov.
2016

En principe on ne peut pas ajouter de lien avec un titre et une URL vides (le navigateur l'empêche). Mais si on le fait néanmoins, on a un HTTP 500 car la vérification n'est pas refaite côté serveur.

F, [2016-11-03T10:15:11.342497 #16377] FATAL -- : 
URI::InvalidURIError (bad URI(is not URI?): ):
  app/models/link.rb:42:in `authorized_protocol'
  app/controllers/redaction/links_controller.rb:14:in `create'

Suivi - Syntaxe markdown Éditeur Markdown minimaliste « The dead simple inline editor toolbar »

#1650 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
1
2
oct.
2016

Signalé sur moderateurs@ : éditeur minimaliste « The dead simple inline editor toolbar » https://yabwe.github.io/medium-editor/ et de son plugin Markdown : « tu tapes, tu surlignes ton texte, une barre de mise en forme apparaît, tu cliques sur gras, et le texte est transformé. Par derrière ça génère du Markdown. »

Suivi - Feuilles de style (CSS) Indication de nouveaux commentaires à côté du titre du contenu

#1646 Posté par (page perso) . État de l'entrée : ouverte Licence CC by-sa
Tags : aucun
1
19
sept.
2016

Sur mobile avec écran tactile, parcourir les contenus avec nouveaux commentaires est un peu fastidieux : on fait défiler la page d'index jusqu'à voir un « Lire la suite (34 commentaires, 1 nouveau !). » Ensuite on doit cliquer sur « Lire la suite ». C'est dommage de devoir parcourir toute la partie visible du contenu dans l'index et de devoir cliquer sur un lien de taille modeste, alors qu'il y a un lien plus gros sur le titre du contenu mais que celui-ci n'est (...)

Suivi - Aide et documentation Restriction du wiki par le karma

#1637 Posté par (page perso) . État de l'entrée : corrigée Licence CC by-sa
Tags : aucun
2
2
août
2016

Situation initiale (tirée de la FAQ) :

« Pour pouvoir écrire un journal, dans le wiki ou sur la tribune, il faut avoir un karma supérieur strictement à 0. »

Restriction mise en urgence lors de la dernière grosse vague de spam dans le wiki :

diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb
index 6c2c043..3fa91f8 100644
--- a/app/models/wiki_page.rb
+++ b/app/models/wiki_page.rb
@@ -94,11 +94,11 @@ class WikiPage < Content
 ### ACL ###

   def creatable_by?(account)
-    account.karma > 0
+    account.karma > 20
   end

   def updatable_by?(account)
-
(...)