[dev] behat/mink et tests fonctionnels
by Bruno
Hello,
Dans le thème
chantiers-transverses-mais-qui-seraient-cools-à-faire-quand-même, j'ai
commencé à tester Behat couplé avec Mink.
Et bien ... ça marche plutôt pas mal en fait :)
Feature testée rapidement (avec un behat out-of-the-box) :
Feature: basic test
Short description
Scenario: login to page
Given I am on "/dc2/admin/auth.php"
When I fill in "user_id" with "utilisateur"
And I fill in "user_pwd" with "motdepasse"
And I press "log in"
Then I should see "Tableau de bord"
"Yapluka" faire le squelette qui va bien pour avoir une plate-forme de
recette fonctionnelle.
Avant de lancer les tests :
* on fait effacer/recréer la base de données mysql/postgresql et le
config.php
* on déroule une install à partir du wizard
* on importe une ferme de blog par défaut, qui contient les utilisateurs
qui vont bien
... et puis on déroule les tests.
Il reste un truc à voir : je voudrais que les tests échouent à la moindre
notice PHP, ce qui pousse le ticket #1015 sur le devant de la scène. a
moins que je ne force l'installation du plugin errorhandler, et que je
teste qu'il est bien vide en permanence :)
En tout cas, on tient le bon bout pour avancer sur cette partie des tests
(même si le plus long reste à venir :)
--
Bruno
10 years, 7 months
[design, ergo, doc] Compte-rendu de la réunion IRC du 8/10/2013
by Franck L
Bonjour/soir,
Le CR ci-dessous... (également disponible sur Trello :
https://trello.com/c/HZ7hJZnI)
Présents :
*Kozlika
*Llu_ne
*Cedric
*Tomek
1. Blowup
Actuellement lorsqu'un utilisateur choisit Blowup il a le thème qu'on
voit partout depuis 10 ans. L'idée est donc de proposer une variation un
peu plus moderne en version par défaut, en conservant toutes les autres.
Vu la bousculade au portillon pour s'en occuper, Kozlika a bricolé
quelque chose qu’elle nous soumet. (visible pour le moment ici :
http://unstable.zoneclear.org/index.php/)
Les contraintes : ça doit être assez "joli" pour plaire et assez
"passe-partout" pour que ça puisse coller à tout le monde, & être une
base simple pour être facilement modifiable.
C’est une modif à minima avec peu ou pas d’évolution sur les
paramétrages de blowup, mais qui donne un coup de fraîcheur, tout le
monde s’accorde à dire que c’est choli et ok pour la v2.6, on fera
évoluer pour la 2.7.
2. Documentation
Pour la doc en ligne, on a ce sommaire :
http://fr.dotclear.org/documentation/2.6/fulltoc
Kozlika expose l'idée présentée la veille que chacun s'occupe d'une page
par semaine
Cedric s’occupe de billets, Tomek de widgets, Llu_ne se propose sur
antispam / filtres des indésirables.
Kozlika s’occupera des pages "annexes" genre le tour visite guidée etc.
et fera aussi une passe de relecture.
Elle propose également que la même personne s'occupe du coup de l'aide
contextuelle en parallèle. Ça semble logique.
La différence : aide en ligne, on prend le temps d'expliquer le
contexte, etc. Contextuelle, on fait du champ à champ.
Toutes les aides contextuelles (au format html) vont être déposées sur
une dropbox, une invitation sera envoyée à qui voudra.
On note l’importance de mettre à jour toute la doc pour la 2.6, après au
fil de l'eau on pourra relire et améliorer et harmoniser.
Peu après, JCDenis_afk qui n’est pas là (comme son nom l’indique) mais a
regardé la conversation, suggère qu’il serait bien que les gens laissent
un "OK" à côté du titre quand ils ont fini la revue d'une section, qui
veut dire : prêt pour relecture.
A 9h16, Gilsoub arrive et est très déçu d’avoir loupé la réunion.
Rebelote à 9h42 où Lipki est également très déçu.
Je profite de ce CR pour lancer (de nouveau) un appel aux bonnes
volontés pour aider à la mise à jour de la documentation pour la v2.6.
Si on s’y met en nombre, on aura chacun peu de pages à vérifier &
modifier, et plus de temps pour la piscine ou le poney, YAY !
10 years, 7 months
Question sur les fieldsets dans l'admin
by philippe@dissitou.org
Bonjour
Je ne comprends pas bien la phrase :
**Attention: Les fieldsets ne doivent être utilisés que pour isoler un
groupe de champs au sein d'un formulaire.**
Doit-on considérer que ce formulaire devrait être divisé en deux
fielsets comme maintenant ou qu'il faut au contraire n'en avoir aucun
et donc styler avec <div class=fieldset"> pour avoir le même aspect ?
(en espérant que la liste accepte un fichier jpg de 54ko... sinon je
fournirai un lien)
--
Philippe
10 years, 7 months
Questions sur les notifications
by Bruno
coucou,
Petite question sur la gestion des notifications, suite aux derniers
commits. Je parle là uniquement des notifications affichées en haut de page
(via dcPage::notices()).
On va avoir une probabilité non nulle d'avoir à un moment donné plusieurs
notifications affichées. Quelle est l'approche à avoir ? J'entends par là :
* priorise-t-on l'ordre des notifications : erreurs, puis warnings, puis
succès
* regroupe-t-on les notifications dans des <ul><li>, ou les affiche-t-on à
la queue-leu-leu (de la même manière que dans _charte.php)
--
Bruno
10 years, 7 months
[Tests 2.6] Fontes
by Kozlika
Plop,
J'avais mis de côté le sujet de la fonte utilisée dans l'admin et placé du
Arial pour être sûre que ça passerait partout pendant le dev. Je vais
mettre en place de l'Helvetica en premier choix dans la journée.
Merci de me dire demain si le rendu est correct ou si ça pose des problèmes
de lecture (je m'adresse ici particulièrement aux utilisateurs non-Mac),
auquel cas je reviendrai en arrière.
Bonne journée !
--
Anne / Kozlika
10 years, 7 months
[dev][tip][hg] Transporter les modifs en cours d'un poste à un autre, sans commit
by Bruno
Coucou,
Si comme moi, vous utilisez plusieurs postes de dev, et que vous ne
souhaitez pas commiter un travail en cours, tout en pouvant récupérer les
modifs d'un poste à un autre, c'est possible via les shelfs mercurial.
En gros :
* Avant de quitter le poste n°1, créer un nouveau shelf, et y placer les
modifs en cours
* copier le shelf (qui est en fait un fichier) depuis
.hg/shelves/[nomdushelf] à un endroit (clef usb, site, ...)
* sur le poste n°2, copier le shelf dans .hg/shelves/, et faire un
"unshelve" depuis hg. Et vous retrouverez votre dev en cours, non encore
commité
--
Bruno
10 years, 7 months
Re: [Dotclear Dev] [Dotclear Tracker] [2317]: default - removed 1 pgsql dependency in dcBlog, used IN/...
by Bruno
Hello,
'me suis permis un petit correctif sur la requête getPosts, pour ne pas
avoir de dépendance avec pgsql dans le cadre du #989 :)
--
Bruno
2013/10/9 <hg(a)dotclear.org>
> **
> Revision: 2317 (d33135045528} Branch: default Author: Dsls Date: 2013-10-09
> 07:48 +0200 Details: Details:
> http://dev.dotclear.org/2.0/changeset/d33135045528<http://dev.dotclear.org/2.0/changeset/d33135045528> Log
> Message
>
> removed 1 pgsql dependency in dcBlog, used IN/NOT IN & nested SELECT instead of JOINs to prevent invalid count.
>
>
> diffstat:
>
> inc/core/class.dc.blog.php | 29 ++++++++---------------------
> 1 files changed, 8 insertions(+), 21 deletions(-)
>
> diffs (60 lines):
>
> diff -r f8620977a163 -r d33135045528 inc/core/class.dc.blog.php
> --- a/inc/core/class.dc.blog.php Wed Oct 09 06:44:16 2013 +0200
> +++ b/inc/core/class.dc.blog.php Wed Oct 09 07:48:15 2013 +0200
> @@ -774,11 +774,7 @@
> }
> elseif (!empty($params['sql_only']))
> {
> - if ($this->core->con->driver() == 'pgsql' &&
> isset($params['media'])) {
> - $strReq = 'SELECT DISTINCT ON (P.post_id)
> P.post_id ';
> - } else {
> - $strReq = 'SELECT P.post_id ';
> - }
> + $strReq = 'SELECT P.post_id ';
> }
> else
> {
> @@ -815,17 +811,6 @@
> 'INNER JOIN '.$this->prefix.'user U ON U.user_id =
> P.user_id '.
> 'LEFT OUTER JOIN '.$this->prefix.'category C ON P.cat_id =
> C.cat_id ';
>
> - if (isset($params['media'])) {
> - if ($params['media'] == '0') {
> - $strReq .= 'LEFT OUTER JOIN
> '.$this->prefix.'post_media M on P.post_id = M.post_id ';
> - } else {
> - $strReq .= 'INNER JOIN
> '.$this->prefix.'post_media M on P.post_id = M.post_id ';
> - }
> - if (isset($params['link_type'])) {
> - $strReq .= " and M.link_type
> ".$this->con->in($params['link_type'])." ";
> - }
> - }
> -
> if (!empty($params['from'])) {
> $strReq .= $params['from'].' ';
> }
> @@ -957,18 +942,20 @@
> }
>
> if (isset($params['media'])) {
> + $strReq .= 'AND P.post_id ';
> if ($params['media'] == '0') {
> - $strReq .= ' AND M.post_id IS NULL ';
> + $strReq .= 'NOT ';
> }
> + $strReq .= 'IN (SELECT M.post_id FROM
> '.$this->prefix.'post_media M ';
> + if (isset($params['link_type'])) {
> + $strReq .= " WHERE M.link_type
> ".$this->con->in($params['link_type'])." ";
> + }
> + $strReq .= ")";
> }
>
> if (!empty($params['sql'])) {
> $strReq .= $params['sql'].' ';
> }
> -
> - if ($this->core->con->driver() != 'pgsql' && !$count_only
> && isset($params['media'])) {
> - $strReq .= ' GROUP BY P.post_id ';
> - }
>
> if (!$count_only)
> {
> --
> Tracker mailing list - Tracker(a)list.dotclear.net -
> http://ml.dotclear.net/listinfo/tracker
>
10 years, 7 months
Commit 2311 - auth.php
by Bruno
Yo,
Je viens de faire suite au message
http://forum.dotclear.org/viewtopic.php?id=47491 que je trouve fort
pertinent.
Actuellement, on a un message "login incorrect" sur l'admin pour un
utilisateur déclaré, mais n'ayant pas les droits suffisants. Le commit 2311
affiche un message plus approprié.
J'en ai profité pour ajouter un délai anti script-kiddie. actuellement, on
attend uniquement de 2 à 5 secondes après un login infructueux, ssi le user
renseigné existe. On a donc rapidement un indice en tentant de se connecter
à l'admin, si on est sur un utilisateur valide ou pas. avec le dernier
commit, on doit attendre aussi si l'utilisateur est invalide...
--
Bruno
10 years, 7 months
Réunion irc-code
by Nicolas
Bonjour à tous,
voici le résumé de la réunion d'hier soir. Comme d'habitude vous pouvez
aussi la trouvez sur trello :
https://trello.com/c/L6DhBHSv/86-irc-meeting-12
Présents :
franckpaul
kozlika
ElPep
Evelf
nikrou
Tomek
mirovinben
tetue
*cedric*
Ordre du jour :
1) revue des tickets restants pour la 2.6
2) revue des plugins tiers pour la 2.6
3) documentation
4) questions diverses
Et c'est partie pour une soirée de folie...
tetue demande si c'est une réunion spéciale.
On lui réponds que c'est très très sérieux :
réunion IRC-code.
Du coup elle reste bien sage à côté du radiateur
tout au fond de la salle !
Donc reprenons le cours...
*ticket 989* : Evelf a reçu un patch d'un inconnu qui a seulement donné ses
initiales (fp). Elle va faire une revue de code complète et va intégrer le
patch et faire son commit. ("elle a un patcheuh, elle va commiter comme les
au-autres")
*ticket 1671* : toujours pour Eve, mais sans patch !
*ticket 1723* : pour Eve encore, elle cherche quelqu'un pour lui fournir le
patch !!!
*tickets 1456 et 763* : on verra plus tard car on attend l'avis de JcDenis.
(Tiens d'ailleurs il a excuse mais je n'ai pas compris de quoi il
s'agissait: taf)
*ticket 1722* : JcDenis_au_taf
*ticket 1725, 1725* : traductions. On fera une passe sur l'ensemble des
traductions, après le freeze de vendredi
*ticket 1597* : bibi a hérité du super ticket copier/coller ou alors on
m'aura menti !
*ticket 1732* : mise à jour de dokuwiki qui soit sortie il y a moins de 10
ans.
Et dans la joie et la bonne humeur on passe au point suivant :
2) revue des plugins tiers pour la 2.6
Avec un résumé de la situation sur la page
http://fr.dotclear.org/documentation/playground/2-5-to-2-6/testage-des-pl...
En fait tout le monde dort...
ou écoute très attentivement
Cedric a plein de questions sur les plugins. En fait il a deux plugins qui
fonctionne ou pas. Enfin ils fonctionnent dans certains environnements et
d'en autres non. A confirmer.
En fait la manière de corriger les problèmes des plugins n'est toujours pas
tranchée. Il faudrait dans l'idéal contacter l'auteur et sans réponse de sa
part corriger nous même. brol a notamment proposé de nombreux correctifs ;
il faudrait les intégrer.
L'inquiétude vient de sortir une version 2.6 avec 200 plugins non
fonctionnels ou obsolètes. Même avec la meilleure volonté du monde, on ne
peut pas se partager les nombreux plugins et les maintenir ou du moins les
corriger.
Pour faire le tri il aurait été intéressant d'avoir les statistiques de
téléchargement mais il n'y a plus de stats depuis cet été.
Le chef propose de faire un point lundi prochain.
Personne n'ose sortir de blagues pourries.
La situation est grave, très grave même.
On a tous un peu peur !
Tous les dev se déconnectent...
et il ne reste plus personne
dans le salon. Etrange !
Le chef annonce le point 3, c'est peut-être lié :
3) documentation dev
Tout le monde a piscine sauf ElPep qui a Poney...
Vous savez celui qui monte sur l'arc en ciel.
Cédric essaie de partir mais
on l'a attaché à sa chaise pour écrire la doc !
Non mais. Personne ne se défile.
kozlika dit "pour les dev débutants les snippets c'est le bien !". Je suis
assez d'accord et il faudrait sûrement mettre plus en avant les pages
existantes et les mettre à jour.
3 billets vont sortir avec les nouveautés, les changements mais cela ne
pourra pas pallier aux manques de la documentation actuelle.
La documentation de la future 2.6 a déjà été initié en copiant la version
actuelle de la documentation :
http://fr.dotclear.org/documentation/2.6
lipki a initié le chantier en écrivant la découverte côté public et côté
admin. Il reste à faire le reste :
http://fr.dotclear.org/documentation/2.6/usage
tetue qui attendait sagement a fini par partir
avant la distribution du boulot !
Devant l'enthousiasme général, tetue prise
de remord est revenue.
A moins que cela n'est pas de rapport.
Donc sur la base de la pagehttp://fr.dotclear.org/documentation/2.6/fulltoc,
on essaie de se répartir la tâche.
tetue voyant que le boulot n'avait pas
été distribué et que l'on allait commencer
à partager est cette fois
définitivement partie.
Cedric propose que chacun ajoute son nom à côté du titre des différentes
pages :
*clean-install* : Evelf
*permissions* : franck
*catégories* : bibi
*widgets* : Tomek
Il y avait un point 4 mais la documentation a achevé tout le monde.
C'est tout, vous pouvez reprendre une activité normale.
10 years, 7 months