2010 : liens de la semaine 3


Cette rubrique hebdomadaire va bientôt changer. Pour éviter les doublons elle va être fusionné avec celle de Youenn Boussard sur le site de l’AFPY. Elle continuera sur le signe de l’ouverture avec des sujets moins centré sur Python ou avec des ressources plus techniques que celles de l’AFPY.

Heuristique

Les cartes heuristiques ou mindmapping sont au centre de recherche diverses et variées. Voici un article intéressant sur un débordement de cette technologie :

Carte heuristique et résolution de problème assistée par ordinateur, une révolution annoncée

Python

Tout d’abord une initiative amusante avec un site qui essaye de regrouper tous les logos utilisés autour de Python :

Python Logos Part II: Free Form

Une dédicace particulière pour le logo des lillois : PYthon LUnch LillE

Sinon, j’ai découvert ce petit éditeur live de reStructured Text écrit comme un service Python. Un projet à suivre et à aider :  reStructuredText editor

Zope

L’heure est au recensement des ressources avec le renommage de la partie Web du framework Zope 3 en Bluebream. cet article écrit par Baiju Muthukadan permet de faire la synthèse  sur l’état actuel :

BlueBream

Plone 4 aussi est annoncé dans les starting blocks avec la préparation de la première béta. Une nouvelle version implique souvent une migration. Maarten Kleen a écrit un article très intéressant sur la migration d’objets dont la classe de base a changé :

Trying zodbupdate

Enfin un article intéressant sur la résolution de la recherche des interfaces dans Zope 3 :

Zope Views: should have been « request, context »; not « context, request »

Plone

La huitième conférence annuel de Plone aura lieu en Europe, à Bristol, du25 au 31 octobre. À vos carnets :

Bristol 2010

Nettuts+

Un certain nombre de tutoriel que je présente viennent de ce site. Une grande partie de leur contenu est payant et les tutoriels mis en ligne sont souvent de très bonne qualité. Tout d’abord une video sur les outils en lignes permettant de tester le rendu de vos sites sur les navigateurs :

Quick Tip: Top 5 Ways to Browser-Test your Website

Un bon tutoriel sur l’utilisation des transformation XSL pour transformer des données XML enpage web :

Getting Started with XSL(T)

Publicités

My participation on Plone 4 threads


1. Product or framework

Harry Porter: Is Plone a framework or a product ?

Encolpe: Both, Sir.

HP: Then why I cannot see which part of Plone is a framework, and which one is the Plone product ?

E: Eh !

E: Hum…

E: I guess there’s something wrong in the architecture. But there no fatal issue.

HP: OK, then where the base content implementation ?

E: Archetypes propose schema, filed and widget implementation with some basic implementation for the content object (unit, folder too).

HP: Now what do ATContentTypes ?

E: … some advanced implementation of content objects. I guess what you want me to say: basic implementation of content object should move from Archetypes to ATContentTypes to make a real separation between how a content object is stored and how it is displayed with additional functionalities.

HP: I wasn’t thinking so deep. I suppose that replacing Archetypes by something else would be easier if you choose this design.

HP: I tested NuPlone theme product and it was cool. But why the basic Plone theme cannot be separate from the CMFPlone product ?

E: Here I guess you reach the root of the problem. CMF have two base products to separate the framework from its basic implementation: CMFCore and CMFDefault. Plone doesn’t have such a trick: the CMFPlone product does both. I guess it comes from its will to be usable out of the box with only one click. To anwser to your original question split Plone in two products will not be enough to have a specific product for the basic theme: this one must be integrated in the default Plone product implementation then other Plone theme can be relied on it.

HP: Something hurt me recently when I discovered that CMFCore contains no skins directory.

E: We reach again a design choice and you may find another examples in Plone 3. The Plone architecture design must be a critical point in Plone 4 more than what’s the new cool feature we will add.

2. Out of the box versus ready to be customized

HP: Now, imagine that I’m a newbie in web and I want my website with cool theme. Where can I find themes for Plone and how can I customize it ?

E: You want site for Plone theme ?

HP: Not really. I want interactivity. Browse themes in a site (plone.org or somewhere else), then download an archive, put it in the PMI ad finally restart Zope (do we really need this step ?). Now I can choose my theme in the PMI. I want to be able to choose and use a theme like I do with my desktop theme.

E: Wooh. And you think that should be enough ?

HP: No.

E: …

HP: I want to be able to customize it simply. Without learn python or any template language. I just want an editing tool for viewlet and for basic stylesheet properties without having to go in the ZMI or to know an hide feature.

E: Only that ?

HP: If I can only learn HTML, CSS to customize my theme it really would be cool. Imagine a theme community around Plone.
E: It’s far from big projects I lead today, but I can see the benefit for the whole Plone community.

HP: It is like having Plone translated in the 40 most important languages: the goal is to raise interest in Plone with basic stuff to finally create business.

E: But you can use Plone out of the box right now and add tons of functionalities.

HP: Finally, i’am just an user, may be something like an advanced user, of system softwares. I don’t want to know anything around buildout, it’s to low level for me. Like for eclipse plugin I want to be able to browse plonepi within the PMI and choose a functionality or a product to add. Then plone should make an easy_install for me. I don’t care if it use zc.buildout in backend. I want my customization to be transparent.

E: Oh. You want Pypi integrated in Plone.

HP: Something like that, yes.

E: And if the egg that Plone download and install for you breaks the site, what shall Plone do ?

HP: In an ideal world it should run unittests and functional tests before to install it, shouldn’t it ?

E: Yes, but test coverage isn’t the priority in lots of projects. We need some code reviewer to elect some products and something to declare possible conflicts between eggs.

HP: It’s your work, not mine.

E: I can see the point. Is that enough for today?

HP: Yes. I may have some other questions or needs tomorrow.

E: And tomorrow is an other day.