- Utiliser accounts.sign_in_count https://linuxfr.org/statistiques/users
- Présenter en plus des statistiques par année sans détailler
- jour de modération tous contenus confondus https://linuxfr.org/statistiques/moderation
- contenus par année tous contenus confondus https://linuxfr.org/statistiques/contents
- commentaires par année tous contenus confondus https://linuxfr.org/statistiques/comments
- tags par année tous contenus confondus https://linuxfr.org/statistiques/tags
- Vérifier l'absence d'éléments inconnus dans les états possibles au niveau des stats pour éviter les oublis
- comments.state : deleted published
- polls.state : archived draft published refused
- forums.state : archived active
- sections.state : archived published
- news.state : candidate deleted draft (…)
Suivi — API OAuth Erreur pour lister les applications utilisatrice de l'API
Dnas la partie admin "Applications de l'API", lien /admin/applications :
I, [2017-02-05T20:37:32.792334 #7275] INFO -- : Rendered admin/applications/index.html.haml within layouts/application (155.5ms)
I, [2017-02-05T20:37:32.792664 #7275] INFO -- : Completed 500 Internal Server Error in 165ms (ActiveRecord: 7.5ms)
F, [2017-02-05T20:37:32.794768 #7275] FATAL -- :
ActionView::Template::Error (undefined method `admin_doorkeeper_application_path' for #<#<Class:0x0000000a8e3d48>:0x00000009422ee0>):
12: %td
13: = app.redirect_uri
14: %td
15: = link_to "Afficher", [:admin, app], class: "show_client_app"
16: = link_to "Modifier", edit_admin_application_path(app), class: "edit_client_app"
17: = button_to "Supprimer", [:admin, app], method: :delete, class: "delete_button",
(…)
Suivi — Administration site Erreur de collation dans la partie Admin / Derniers comptes utilisateur / recherche par pseudo
Erreur de collation dans la partie Admin / Derniers comptes utilisateur / recherche par pseudo :
Dans la partie admin « Les derniers comptes utilisateurs créés », /admin/comptes?utf8=✓&login=coin&date=&ip=
Error: COLLATION 'UTF8_GENERAL_CI' is not valid for CHARACTER SET 'utf8mb4': SELECT accounts
.* FROM accounts
WHE
RE (login LIKE 'coin%' COLLATE UTF8_GENERAL_CI) ORDER BY created_at DESC LIMIT 25 OFFSET 0)
Suivi — Modération Erreur de collation dans la liste des dépêches en modération
Suite à la migration de la base de données en utf8mb4 : un hyperlien A VIRER
(titre de la nouvelle dépêche) mais pointant sur l'ancienne dépêche déjà refusée (et donc non refusable). A priori un souci sur le cached_slug.
+-------+----------+-----------+-------------+
| id | title | state | cached_slug |
| 23591 | À virer | refused | à-virer |
| 37795 | A VIRER | candidate | a-virer |
+-------+----------+-----------+-------------+
Suivi — Statistiques Statistiques sur les éditions post-publication / a posteriori
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
- journal / (…)
Suivi — Statistiques Comparaison de grapheurs Javascript libres pour les statistiques LinuxFr.org
(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 :
- 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) ;
- un (…)
Suivi — Modération Comment perdre une partie du contenu en modération avec Grammalecte
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 — Administration système Contenus mixtes http/https
Dans public/errors/400.html , remplacer l'appel à http://notfound-static.fwebservices.be/404
par //notfound-static.fwebservices.be/404
.
Suivi — Comptes utilisateurs URL d'image trop longue pour pouvoir servir d'avatar
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 ?
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
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 — Syntaxe markdown Taille des images produites par les formules mathématiques
Il faudrait laisser libre la taille de l'image produite par les formules pour qu'elles restent lisibles.
Avec un dollar puis avec deux dollars :
Titre
Suivi — Modération Édition des slugs
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
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)
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'