Dotclear

2010 juil. 15

Refonte de l'administration, on passe aux travaux pratiques

Au cas où vous n'auriez pas pris de nos nouvelles depuis plusieurs mois, je tiens à vous informer que nous avons entrepris un chantier de longue haleine pour refondre l'ergonomie de l'interface d'administration de Dotclear sous la houlette de Gautier. Comme nous ne faisons pas les choses à moitié (oui, quitte à y mettre le temps qu'il faut…), nous avons également pour objectif de rendre l'interface parfaitement accessible, et même si possible au respect complet du référentiel ATAG, en nous appuyant sur l'expertise de Laurent Denis. Et puis on va donner un petit coup de frais au design, grâce à Hellgy.

Après les enquêtes, leur dépouillement, leur analyse, la synthèse des conclusions, les choix graphiques, la première analyse de l'accessibilité, nous arrivons au stade de la pose de la première pierre. Les plus curieux d'entre vous verront passer des tickets et des commits[1] sur le Trac de développement (branches/sandboxes/ergo). Pour les autres nous vous tiendrons informés régulièrement de l'avancée des travaux ici même.

C'est un chantier complexe car beaucoup d'évolutions ne modifient pas seulement l'organisation de la page mais nécessitent l'ajout de fonctionnalités. La colle et les ciseaux ne vont clairement pas suffire. Ne vous attendez donc pas à la sortie du nouveau bébé avant un petit moment.

Nous nous sommes organisés de la façon suivante :

  • Xave, chef de projet
  • Kozlika, coordinatrice
  • Gautier, dit l'Ergopathe, expert ergonomie
  • Laurent Denis, expert accessibilité
  • Franck, support technique des outils (cambouis Trac, svn, etc.)
  • Lomalarch, Jean-Michel, Osku, annso, Kozlika : adaptations graphiques, gabarits html, javascript et intégration
  • Philippe : big chief de la mise à jour et de la création des aides en ligne

L'équipe de dev plus particulièrement attachée à ce chantier n'est pas encore fixée mais le travail préparatoire de l'équipe qui réalise les maquettes graphiques et les gabarits html de chaque page leur donne largement le temps de s'organiser !

Nous travaillerons en étapes successives, page par page : réalisation de la maquette graphique, validation par Gautier et Laurent, réalisation du gabarit html et préparation des marqueurs css et du javascript, validation par Gautier et Laurent, identification des développements nécessaires.

Quand les pages les plus significatives seront livrées à l'équipe de dev et qu'ils auront une bonne vue d'ensemble, ils travailleront (toujours dans la sandbox "ergo") sur l'appli pour implémenter les nouvelles fonctions et produire le code définitif des pages.

Après on met tout ça dans un shaker et hop, magie magie.

Mais ça ne sera pas fini car on reprendra alors une boucle de tests utilisateurs, des contrôles des pages par Gautier et Laurent, leur correction, et le balai dans les coins.

Bref, ça va nous bouffer un bon moment notre temps libre. Plaignez nous. Ah ben non en fait, ne nous plaignez pas, on est excités comme des puces et impatients de mettre en musique tout le boulot déjà accompli !

Notes

[1] Ayé, je cause geek presque couramment \o/

2010 juil. 12

Nouveautés de dotclear 2.2 : une histoire de compilateurs

S'il y a bien un point qui a été débattu sur dotclear 2 par rapport à dotclear 1, c'est bien la couche intermédiaire qu'il ajoute pour les développeurs de thèmes, à savoir son moteur de templates.

Pour faire son propre thème, plus besoin de coder des pages en PHP, un nouveau langage intermédiaire a été introduit. Et cela, d'abord pour des raisons de souplesse : ce langage est converti en code php, ce dernier étant stocké en cache. Le theme-designer n'a pas à maîtriser PHP pour faire son thème Ensuite, parce qu'empêcher l'utilisation de PHP, c'est aussi empêcher d'insérer du code potentiellement vulnérable.

Dans le principe, c'est plutôt simple : lorsqu'un utilisateur va sur une page du blog, dotclear va chercher le fichier de template correspondant, le transforme en un fichier PHP, et exécute ce dernier. Le fichier PHP est bien entendu placé en cache afin de ne pas repasser systématiquement par la case compilation.

Je vais essayer de décrire les rouages du compilateur/moteur de templates dans ce billet, ainsi que les évolutions qui lui ont été apportées depuis la 2.1.7.

(Attention, contenu très technique inside)

Lire la suite...

2010 juil. 11

Nouveautés de dotclear 2.2 : balises et behaviors

Après une petite pause, suite des évolutions de dotclear 2.2beta :

  • pour les auteurs de thèmes, les nouveautés côté balises de templates
  • pour les auteurs de plugins, la liste des nouveaux behaviors

Changements côté balises de templates

Peu de changements de ce côté, outre quelques réparations de bugs, si ce n'est une évolution de taille : les critères de tri des balises tpl:Comments et tpl:Entries ont été améliorés.

Il est désormais possible de spécifier plusieurs critères de tri.

Exemple : si on souhaite afficher les billets sélectionnés d'abord, et conserver ensuite le tri par date décroissante, il suffit d'utiliser la structure :

<tpl:Entries sortby="selected desc,date desc">
[...]
</tpl:Entries>

Pour des raisons de compatibilité, l'attribut order permet de spécifier le sens de tri à prendre par défaut s'il n'est pas précisé ("asc" ou "desc") Les critères de tri disponibles pour les billets sont :

  • "title" : tri par titre de billet
  • "selected" : tri par billet sélectionné
  • "author" : tri par auteur
  • "date" : tri par date
  • "id" : tri par id de billet
  • "comment" : tri par nombre de commentaires
  • "trackback" : tri par nombre de rétroliens

Les critères de tri disponibles pour les commentaires sont :

  • "author" : tri par auteur
  • "date" : tri par date
  • "id" : tri par id de billet

Par ailleurs, les auteurs de plugins seront ravis d'apprendre que les critères sont extensibles via le behavior templateCustomSortByAlias créé pour l'occasion. Nous y reviendrons dans un prochain billet.

Les behaviors

Ci-dessous, la liste des nouveaux behaviors introduits, en plus de ceux déjà décrits précédemment. La documentation exhaustive de chaque behavior sera disponible sur le site de documentation

Coté administration

L'administration des commentaires bénéficie désormais de ses propres behaviors

  • adminCommentHeaders : enrichit les headers de la page d'édition d'un commentaire.

La liste des commentaires peut maintenant accueillir des actions personnalisées. Les behaviors définis sont similaires à ceux utilisés pour les actions des billets :

  • adminCommentsActionsCombo : enrichit la liste des actions pour les commentaires.
  • adminCommentsActions : ajoute un traitement particulier pour une action donnée
  • adminCommentsActionsContent : permet l'affichage d'une page intermédiaire lors du traitement personnalisé, avant soumission (ex : saisie d'un champ)

Un petit oublié dans les versions précédentes :

  • adminBeforeCommentDelete : action avant la suppression d'un commentaire
  • adminPostsActionsHeaders :

Et un début de behaviors pour la gestion des utilisateurs

  • adminUsersActionsCombo :enrichit la liste des actions pour les utilisateurs.

Au niveau du core

  • coreBeforeCategoryCreate et coreAfterCategoryCreate : appelés avant et après la création d'une catégorie
  • coreBeforeCategoryUpdate et coreAfterCategoryUpdate : appelés avant et après la mise à jour d'une catégorie
  • coreBeforeLogCreate et coreAfterLogCreate : appelés avant et après la création d'un log
  • coreBeforePostCreate et coreAfterPostCreate : appelés avant et après la création d'un billet
  • coreBeforePostUpdate et coreAfterPostUpdate : appelés avant et après la mise à jour d'un billet

Gestionnaire de médias

  • coreMediaConstruct : appelé à l'initialisation de dcMedia

Partie publique

  • templateCustomSortByAlias : ajout des critères de tri personnalisés
  • urlHandlerGetArgsDocument : permet de modifier très tôt l'URL appelée pour y faire des traitements spécifiques

2010 juil. 10

Nouveautés de dotclear 2.2 : les settings

Autre nouveauté sous le capot de dotclear 2.2, le changement dans la gestion des settings. Le sujet a déjà été traité sur la liste du lab dotclear, mais cela ne fait pas de mal d'en rappeler les principes

dotclear 2.1 proposait regrouper les settings en "namespaces", mais ces namespaces n'étaient pas utilisés directement dans la récupération des settings : pour récupérer un setting, il fallait faire appel à $core->blog->settings-><nomdusetting>.

Conséquence intrinsèque, il était impossible de définir 2 settings de même nom dans 2 namespaces différents

dotclear 2.2 ajoute le nom de namespace dans la récupération des settings. Là où en 2.1.7 on utilise $core->blog->settings->themes_path par exemple, en 2.2 on utilisera désormais $core->blog->settings->system->themes_path

L'ancien mécanisme d'appel des settings sera toujours opérationnel en 2.2, mais il est fortement conseillé de faire évoluer les plugins vers les nouvelles méthodes. Pour ce faire :

  • Remplacer tous les appels à $core->blog->settings->setNameSpace() par $core->blog->settings->addNameSpace()
  • Remplacer les appels à $core->blog->settings->setting par des appels à $core->blog->settings->namespace->setting
  • Remplacer les appels à $core->blog->settings->put() par des appels à $core->blog->settings->namespace->put()

Par ailleurs, les nouveaux nommages des settings incluant le nom du namespace, on peut se passer complètement de l'appel à $core->blog->settings->setNameSpace. L'appel à $core->blog->settings->addNameSpace() n'est obligatoire que dans le cas d'ajout d'un setting, si on n'est pas sûr que le namespace existe déjà

A noter, si votre blog est configuré en mode DEBUG, et uniquement dans ce cas (voir à cet effet les lignes à décommenter dans inc/prepend.php) un NOTICE PHP apparaîtra en cas d'utilisation d'un plugin se basant sur les anciens mécanismes.

2010 juil. 9

Nouveautés de dotclear 2.2 : au revoir Metadata, bonjour Tags

Le passage à dotclear 2.2 est l'occasion de remettre à plat le plugin Metadata.

Jusqu'alors, Metadata avait 2 rôles : la gestion des métadonnées, et la gestion des tags. Metadata fera désormais partie intégrante du core de dotclear, sous la forme du fichier inc/core/class.dc.meta.php.

Les parties spécifiques à la gestion des tags ont été déplacées au sein d'un nouveau plugin livré de base, le plugin Tags.

D'autres améliorations ont été apportées :

  • Maintenant qu'il est intégré au core, il n'est plus besoin d'instancier la classe dcMeta à tout-va. Une instance est désormais systématiquement créée dans $core->meta
  • La méthode $core->meta->getMeta est dépréciée. L'ancienne méthode avait pour signature :
public function getMeta($type=null,$limit=null,$meta_id=null,$post_id=null) {

Il faudra désormais compter sur deux nouvelles méthodes :

public function getMetadata($params=array(), $count_only=false){}
public function computeMetaStats($rs) {}

Concrètement, getMeta avait 2 rôles : récupérer des métadonnées, et calculer les statistiques de ces métadonnées (occurences d'apparition, notamment utilisées par les nuages de tags). Ces 2 rôles sont désormais séparés.

getMetadata récupère les métadonnées en fonction de certains critères. Son mécanisme est très similaire à getPosts de $core->blog. $params peut prendre les attributs suivants :

  • meta_type : récupère les métadonnées d'un type donné
  • meta_id : récupère les métadonnées ayant une valeur donnée
  • post_id : récupère les métadonnées d'un billet donné
  • limit : limite le nombre d'entrées récupérées
  • order : spécifie l'ordre de récupération des métadonnées

computeMetaStats enrichit le résultat renvoyé par getMetadata en y insérant les champs statistiques percent et roundpercent.

En pratique, un ancien appel à getMeta de la forme :

$meta = new dcMeta($core);
$rs_meta = $meta->getMeta($type,$limit,$meta_id,$post_id);

sera à modifier en :

$rs_meta = $core->meta->getMetadata(array(
	'meta_type' => $type,
	'meta_id' => $meta_id,
	'post_id' => $post_id,
	'limit' => $limit));

ou, s'il y a des statistiques à récupérer, en :

$rs_meta = $core->meta->computeMetaStats(
	$core->meta->getMetadata(array(
		'meta_type' => $type,
		'meta_id' => $meta_id,
		'post_id' => $post_id,
		'limit' => $limit)));

L'ancienne méthode getMeta est toujours présente pour des raisons de compatibilité avec l'existant.

2010 juil. 8

Nouveautés de dotclear 2.2 : urlHandlers et gestion d'erreurs

Autant le premier article de la série était tout public, autant celui-là est principalement dédié aux développeurs de plugins.

Dotclear 2.2 introduit de nouveaux mécanismes au niveau des urlhandlers, afin de faciliter la vie des plugineurs.

Nouveaux behaviors

De nouveaux behaviors ont été ajoutés à bas niveau dans la gestion des urlHandlers, ils sont au nombre de 3 : urlHandlerBeforeGetData, urlHandlerBeforeSearchCount et urlHandlerGetArgsDocument.

  • urlHandleBeforeGetData est appelé juste avant de servir un fichier de template. Il permet notamment de changer au dernier moment le fichier à livrer.

Exemple pratique basé sur l'astuce de Pep pour servir un template personnalisé pour une catégorie donnée. Le code à produire devient grandement réduit, et évite de réécrire du code du core :

$core->addBehavior('urlHandlerBeforeGetData',array('myBehaviors','beforeGetData'));
class myBehaviors
{
	public static function beforeGetData($_ctx)
	{
		global $core;
		if ($_ctx->current_tpl == "category.html") {
			$tpl = 'category-'.$_ctx->categories->cat_id.'.html';
			if ($core->tpl->getFilePath($tpl)) {
				$_ctx->current_tpl = $tpl;
			}
		}
	}
}

Le handler en question récupère le contexte en paramètre, et il peut le modifier à sa guise. Dans notre cas, si category-<id_cat>.html existe, alors il est servi en lieu et place de category.html

  • urlHandlerBeforeSearchCount permet d'agir avant d'afficher le nombre de résultats dans la page search.html. avec dotclear 2.1.7, il n'était pas possible de modifier la requête de comptage des billets correspondant à la recherche. Le behavior prend en paramètre le tableau de paramètres ($params) qui sera transmis à la requête getPosts
  • urlHandlerGetArgsDocument permet de modifier les arguments avant l'appel du handler. Le behavior prend en paramètre l'urlHandler courant, dont on peut réaffecter les attributs. On peut imaginer par exemple un plugin extraierait des informations supplémentaires à la fin de l'url d'un billet (ex: /fr, /page/xxx si le plugin gère la pagination de billet), et qui restaurerait l'url attendue par l'urlhandler, ni vu, ni connu.

Gestion des pages d'erreur

Avec dotclear 2.1.7, il n'était pas possible de gérer des pages d'erreurs particulières, en dehors d'une modification de la page 404.html : lorsqu'un urlHandler ne savait pas quoi faire de l'url entrée, ou détectait qu'elle correspondait à une page inexistante, il renvoyait vers la dcUrlHandler::p404(), et rien n'était interceptable à ce niveau-là.

doclear 2.2 introduit une gestion des pages d'erreurs, par le biais la méthode "registerError" ajoutée à clearbricks:

class urlHandler
{
	...
	public function registerError($handler){}
	...
}

Désormais, lorsqu'un urlHandler ne sait pas servir une page donnée (ex: page non trouvée, erreur de traitement, ...), plutôt que de rappeler dcUrlHandler::p404, il lui suffit de lever une exception, avec pour code le code d'erreur http voulu. Pour garder une compatibilité avec les anciens plugins, l'ancienne méthode dcUrlHandler::p404 a été modifiée comme suit :

	public static function p404()
	{
		throw new Exception ("Page not found",404);
	}

A ce niveau-là, doclear intercepte l'exception, et déroule les handlers d'erreur un par un (dernier enregistré, premier servi), jusqu'à ce qu'un handler d'erreur lui indique qu'il a traité la page. En dernier recours, c'est le le handler d'erreur par défaut de dotclear qui sert la page, en l'occurrence l'ancien p404.

Au niveau du plugin, pour enregistrer un nouvel errorHandler, ça se passera au niveau du _public.php :

$core->url->registerError(array('myPublicBehaviors','error'));

class myPublicBehaviors
{
	public static function error($args,$type,$e) {
		// exemple de filtrage pour une erreur 404
		if ($e->getCode() == 404) {
			if (iCanHandleErrorAndServePage) {
				// Traitement spécifiques, et renvoi de la page
				return true;
			}
	}
}

Les paramètres transmis au handler sont :

  • $args contient les arguments transmis à l'urlHandler initial
  • $type contient le type d'urlHandler appelé ('post', 'category', 'archive', ...). Il correspond au type enregistré lors de l'appel à $core->url->register
  • $e contient l'exception levée

Si l'errorHandler retourne true, dotclear arrête de parcourir les errorHandlers et considère le traitement comme OK. Sinon il passe par le handler suivant.

Si vous voulez voir une mise en pratique de ce nouveau mécanisme d'errorHandler, allez faire un tour du coté du plugin meuh, qui intercepte les erreurs pour voir dans une table d'alias si un billet n'avait pas l'url donnée auparavant.

2010 juil. 7

Nouveautés de dotclear 2.2 : les changements visibles

Ils sont peu nombreux, mais ils sont quand même là, coté administration. Ce (court) billet les détaille.

Administration : tableau de bord

Le "billet rapide" est désormais repliable :

billet rapide repliable

Administration : billets/commentaires

  • Gmail a fait des émules : il est désormais possible de sélectionner/désélectionner une plage de billets/commentaires. Pour ce faire, cliquez la case à cocher à coté du premier billet, et shift-cliquez sur la case à cocher à coté du dernier billet à sélectionner...
  • Une option "aucune sélection" fait son apparition dans les listes de billets/commentaires
  • Au niveau de l'édition de billets, l'auto-complétion des tags est active : entrez le début d'un tag, et il proposera les tags déjà existants. Cela fonctionne aussi lors de l'ajout de tags à un ensemble de billets.

autocomplétion des tags

  • Coté tags, au niveau des préférences utilisateurs, il est possible de choisir si on souhaite une liste courte (toutefois extensible via un lien "tous les tags"), ou la liste complète des tags dans la barre de droite de l'édition des billets.

Administration : utilisateurs

Le statut admin/super admin des utilisateurs est visualisable dans la liste des utilisateurs, via une "médaille"

statuts des utilisateurs

Du coté des widgets

  • Si le blogroll est vide, le widget "Liens" ne sera pas affiché
  • Le widget tags propose une nouvelle option, permettant de ne pas afficher le lien "tous les tags"

Et plus généralement

  • jquery passe en version 1.4.2, coté public et administration
  • Si le blog est mis hors-ligne, un message d'erreur explicite s'affiche coté public.

2010 juil. 6

Nouveautés de dotclear 2.2

Maintenant que Dotclear 2.2 est sorti, on a bien remarqué que visuellement rien n'est bien différent. Et pourtant, ce sont nombre de corrections de bugs et de nouvelles fonctionnalités qui apparaissent sous le capot.

Je vais donc essayer de dégrossir les nouveautés au travers de quelques billets thématiques. Ils seront pour la plupart destinés aux développeurs de plugins, afin qu'ils puissent pleinement tirer partie des nouvelles fonctionnalités, mais pas qu'eux... Dans le désordre :

Les différents billets seront postés (et ce billet-ci mis à jour) à raison d'un par jour dans les jours qui viennent.

2010 juil. 1

Dotclear 2.2

Voilà, c'est fait : Dotclear 2.2 est disponible !

Vous retrouverez donc en vrac dans cette version un nouvel assistant d'installation, une meilleure gestion des tags dans l'interface d'administration, qui a par ailleurs été rabotée un peu dans les coins où il restait des traces de bugs. En tant qu'utilisateurs, c'est tout ce que vous verrez à première vue. Mais le meilleur est à venir puisque nous avons fait des réglages un peu partout dans le moteur qui ouvrent un gros paquet de nouvelles possibilités aux créateurs de plugins et de thèmes. Par exemple : tout un tas de chouettes nouveaux behaviours, des nouvelles possibilités au niveau des balises template, des gestionnaires d'erreur pouvant être étendus, des blocs de template pouvant être imbriqués, un JQuery mis à jour, ou encore un meilleur système de gestion des réglages internes.

Les plus administrateurs d'entre vous ne sont pas oubliés, puisque cette version offre une meilleure gestion des ressources du serveur, une plus grande ouverture aux réglages inhabituels de PostgreSQL, des possibilités de réglages plus fins et bien entendu, longtemps réclamé, longtemps repoussé pour faire les choses proprement, une compatibilité PHP5.3, pour installer un Dotclear à jour sur vos Linux à jour.

Alors allez-y, installez cette version, amusez-vous. La plupart des plugins ont été mis à jour et les nouvelles versions peuvent être installées grâce à DAInstaller[1], autant dire que vous n'avez que quelques clics à faire pour que tout fonctionne. Rendez-vous sur ces pages dans les prochains jours pour une série d'articles écrits par DSLS sur ce qui a changé sous le capot.

Notes

[1] Lequel a subi plusieurs modifications pour être pleinement compatible avec Dotclear 2.2 et doit de toutes façons être mis à jour manuellement (voir sa fiche) pour voir les plugins à jour.)

2010 juin 24

Dotclear 2.2-RC

Hop. Depuis hier soir est disponible la version Release Candidate de Dotclear 2.2. Pour les quelques-uns qui s'intéressent pour la première fois au cycle de vie d'un logiciel, rappelons-le : sauf bug de dernière minute, il s'agit de la future 2.2 finale, il ne devrait plus y avoir de changements.

Cette version est également très proche de la version beta sortie il y a trois semaines, à quelques corrections de bugs et petites améliorations près, et surtout avec une nouvelle mise-à-jour du moteur de template qui a dû être revu parce que tout performant qu'il était, il exigeait un peu trop de la pile PCRE de certaines machines un peu trop vieilles (ou un peu trop sous Windows, ce qui était problématique pour les tests en local chez beaucoup de personnes.) Ce nouveau moteur n'a certes pas la faible empreinte mémoire et la rapidité de celui de la 2.2 beta, mais il est toujours plus rapide que celui de la 2.1, fonctionne sans problème sur des machines moins performantes et ouvre des possibilités amusantes pour les plugins qui pourront à terme modifier les templates à la volée.

À propos de plugins, n'oubliez pas que la plupart des plugins existants vont tourner sur cette version, mais que surtout, la cinquantaine de plugins nouvellement déposés sur Dotaddict depuis la réouverture du dépot ce week-end attendent eux d'avoir une 2.2 pour ronronner.

Vous pouvez télécharger la 2.2 RC ici. La date de sortie finale se fera en fonction des retours, mais bien entendu, elle n'est plus très loin.

2010 juin 3

Dotclear 2.2-beta

Allez hop, on y va !

Nous avons entamé le mois de juin en faisant un pas dans le développement de la version 2.2 de Dotclear : Nous sommes maintenant en beta.

Si vous n'avez pas peur de mettre les mains dans le cambouis, vous pouvez l'installer et nous signaler toute bizarrerie que vous rencontreriez. Cette version n'a pas d'après nos tests de problèmes particuliers de stabilité, et la grosse majorité des plugins devrait fonctionner sans anicroche. Certains plugins toutefois pourraient présenter l'un ou l'autre effet de bord, merci alors de nous en avertir. Aucune incidence par contre n'est prévue pour les thèmes.

Si vous avez peur de casser quelque-chose, laissez donc les téméraires essuyer les plâtres et vérifier que tout fonctionne bien. Sauf problème particulier, nous ne prévoyons pas plus de quelques semaines avant la version finale.

Vous pouvez remercier doublement l'ami DSLS qui a créé un plugin pour faire des mises-à-jour par upload pour vous faciliter la vie, et vous explique les nouveautés de cette version 2.2.

Et comme un bonheur n'arrive jamais seul, et puisque la mode est aux zombies ces temps-ci, devinez qui s'apprête à revenir d'entre les morts ?

Surveillez ce blog, on vous parlera aussi bientôt de la prochaine réunion autour de Dotclear, qui ne sera pas une install party pour une fois.

Ah oui, la beta ? Elle est ici.

2010 mai 24

Dotclear 2.1.7

Dans vos tableaux de bord est apparue (ou va apparaître) la notification que Dotclear 2.1.7 est disponible. Pour faire court: si vous utilisez la mise-à-jour automatique, lancez la. Si vous mettez à jour à la main en passant par FTP, en sauvegardant vos fichiers, votre configuration, etc. Vous pouvez l'oublier.

La 2.1.7 n'apporte en effet rien d'autre qu'une modification de la procédure de mise-à-jour automatique, mais une modification qui est nécessaire si vous comptez ensuite passer à la 2.2 de cette façon : il ne sera pas possible de passer de la 2.1.6 à la 2.2 en un clic ! Si vous voulez une transition sans problème vers la 2.2 qui approche à grands pas, installez la 2.1.7, ça vous prendra deux clics.

Encore une fois, si vous avez l'intention de passer à la 2.2 en mode manuel, la mise à jour vers la 2.17 n'est pas nécessaire.

À bientôt.

Màj: Attention, à cause d'un test de version n'ayant pas anticipé une version intermédiaire, certains plugins croient être déjà sur une 2.2 et peuvent poser des problèmes. Vérifiez le fil dédié du forum avant de lancer la mise-à-jour.

2010 avr. 27

En avril, essayons de suivre le fil

(Pfiou, encore un peu, et je devais trouver un jeu de mot avec le mois suivant. Mai je n'avais pas d'idée alors je me suis dépêché.)

Bonjour tout le monde,

Dotclear, quand même, c'est du boulot. Après avoir bossé en mode presque solitaire (avec tout de même l'aide des patchs de quelques-uns) pour sortir une 2.1.6 qui corrigeait des bugs qui traînaient depuis longtemps, après avoir travaillé en équipe pour lancer la démarche ergo (nous vous en avons touché un mot, non ?), notre gros travail de ces derniers mois a été de nous réorganiser pour travailler ensemble à faire évoluer notre logiciel préféré.

Quand je dis ensemble, je veux vraiment dire en équipe. Olivier s'est beaucoup entouré pour faire vivre le projet, mais il a toujours centralisé le développement autour de lui (c'est normal, c'était son bébé.) Aujourd'hui, le nouveau chef de Dotclear[1] n'a pas les même compétences techniques et est surtout beaucoup plus paresseux. Il était donc important de rééquilibrer le mode de fonctionnement pour un développement plus communautaire (mais quand même avec un chef. Je les conduis à la baguette.)

Nous avons préféré beaucoup discuter de la manière dont nous allions faire fonctionner tout ça, histoire d'en avoir une idée claire avant de nous lancer. Il y a encore quelques zones de flou, mais nous avons enfin pu passer à l'étape suivante et remettre la machine en route.

Et c'est une sacrée remise en route : en une grosse dizaine de jours, c'est une cinquantaine de tickets qui ont été fermés. Et il ne s'agit pas forcément de résolution de bugs bêtes, non. Il y a du beau monde sous le capot, puisque outre des petites améliorations qui facilitent la vie dans l'interface d'administration, nous avons ajouté un paquet de behaviours qui vont faciliter la création de plugins, nous avons mis en chantier des modifications dans les structures des templates qui faciliteront bientôt la création de thèmes, nous avons commencé à travailler sur certaines modifications en profondeur qui vont être des fondations pour la suite, et pour ceux qui ont peur que la machine finisse alourdie, n'ayez aucune crainte : l'optique est plutôt d'alléger le cœur du logiciel. Pour preuve, cette modification récente du moteur de template qui, tests à l'appui, rend la compilation des thèmes plus performante et utilise moins de ressources mémoire et processeur, vos serveurs nous diront merci[2].

Rappelons également que le Lab fonctionne toujours à plein régime et que vous êtes toujours invités à participer, surtout qu'il y a pas mal de choses à tester pour s'assurer que les modifs du moteur ne posent pas de problème avec la version de développement, donc avec la prochaine version (et pour les téméraires, elle n'est pas très difficile à essayer, il y a toujours les compilations nocturnes, et il est même possible en bidouillant un peu d'utiliser la mise à jour automatique. Il est déconseillé d'utiliser les versions de développement en production, mais il y a déjà des tarés qui le font[3].)

Nous avons encore quelques surprises dans les bacs, mais en les attendant, et en attendant la version beta de Dotclear 2.2, vous pouvez continuer à nous suivre sur les différents comptes Twitter de la galaxie Dotclear : Dotclear, DotAddict, Planet Dotclear ou We Love Dotclear (quelle abondance.)

Allez, c'est tout pour aujourd'hui. Ne vous inquiétez pas, Gautier revient bientôt vous parler d'ergonomie. :)

Notes

[1] Moi.

[2] Et si je parle depuis tout à l'heure de l'équipe dans un bel ensemble, c'est plus précisément DSLS qu'il faut féliciter pour cette dernière modif. Il parle un peu Klingon des fois, mais on le garde.

[3] Moi.

2010 avr. 1

Dotclear s’ouvre sur le monde

Un commentaire récurrent concernant Dotclear est le manque de représentativité internationale de ce logiciel peu ou prou fait par trois Français, un faux Belge et une cousine Germaine[1].

Nos exigeants utilisateurs et soutiens fidèles seront heureux d’apprendre que ceci sera bientôt du passé, grâce à la constitution d’un consortium mondial basé à Genève[2], intitulé Swiss International Fund Services / Fonds International des Services Helvétique qui vient de nous faire une offre de rachat de Dotclear, pour intégrer le logiciel, en plate-forme, dans le cadre d’un vaste projet de fourniture de produits et services en ligne variés, allant du moteur de recherche à la messagerie instantanée, du blog à l’agrégation de tous types de contenus, du fromage au vin blanc (Suisse oblige), le tout aux normes de sécurité ayant cours dans les banques de la Confédération.

Bref, un nouveau géant du web est né, et nous en ferons partie, épaulés par une équipe hyper-profesionnelle carburant aux Ricola™ !

Les futures conditions de distribution du logiciel pourraient se rapprocher de celles de Solaris, mais nous vous tiendrons rapidement au courant de ces évolutions.

À très bientôt dans la galaxie SIFS/FISH !

Notes

[1] bon, en vrai elle s’appelle Clotilde, mais tout le monde l’appelle Germaine en référence à une blague oubliée

[2] tout comme le CERN où naquit le web

2010 mar. 12

Nouvelles printanières

Dites, vous ne trouvez pas qu'on ne parle que d'ergonomie, depuis un certain temps ? C'est vachement bien, l'ergonomie, mais il n'y pas pas que ça dans la vie. Dotclear, ça se programme, ça vit, ça se documente, et ça s'améliore..

Le développement

Dotclear 2.2 n'est pas encore arrivé en gare, mais est déjà sur les rails. Si vous êtes utilisateur, vous n'y verrez pas énormément de changement. En effet, cette version sera principalement destinée à rendre Dotclear compatible avec PHP 5.3, qui commence à se répandre chez les hébergeurs. Autre changement interne d'importance, la façon dont seront gérés les réglages en interne. Cette modification sera totalement invisible, mais aura des implications sur les plugins existants, un billet dédié guidera les auteurs de plugins pour leurs mises à jour.

Évidemment on profitera de cette nouvelle version pour corriger quelques bugs et sans doute ajouter quelques behaviors, qui offriront de nouvelles possibilités aux plugins. Une nouvelle version sortira donc au cours du printemps (oui, le printemps, c'est dans pas longtemps, mais vous pouvez aussi lire ça comme avant l'été.)

Pour le moyen et long terme, nous avons des discussions sur des refontes plus ou moins profondes de choses comme l'éditeur de billets ou le gestionnaire de médias, mais ça n'apparaîtra sans doute pas encore dans cette branche-ci, mais pourra peut-être arriver en même temps que les premiers résultats de la démarche ergonomique, qui s'étalera également dans le temps (le plus gros arrivera d'un bloc mais tout sera réglé et adapté petit à petit dans les coins ensuite.)

Vie du projet

Comme indiqué ci-dessus et par le passé, les modifications internes pour la compatibilité PHP 5.3 et les réglages internes demanderont des mises à jour des plugins. Pour pouvoir discuter de ces modifications et discuter ensemble des bonnes pratiques du développement de plugins, un basecamp sera organisé dès que la sortie de la prochaine release sera en vue proche. Pour ce qui est de la prochaine install party, elle sera programmée à l'occasion de la sortie de la prochaine release.

La documentation

L'équipe de documentation a entamé un chantier de revue de la doc pour s'assurer que son contenu est à jour. Nous en profitons pour la compléter. Parmi les améliorations "fonctionnelles" des liens seront proposés sur chaque page vers les pages de la doc et les tips traitant de sujets connexes.

L'ergonomie

Non mais vous n'en avez pas déjà assez avec les billets de Gautier ?

Un mot sur l'accessibilité

La refonte de l'interface d'administration sera l'occasion de travailler à l'amélioration de l'accessibilité, un sujet qui nous tient à cœur. Le travail se fera en parallèle de la refonte ergo, grâce à un expert que nous tentons de soudoyer pour le faire travailler avec nous et grâce à un panel d'utilisateurs qui se sont faits connaître lors de l'enquête ergo. Nous les contacterons très bientôt.

Le mot de la fin

Poivron.

- page 11 de 20 -

Sites map