Comment migrer depuis un vieille version de Plone vers la dernière version


La première chose à faire lors de la migration d’un CMS est de regarder si la documentation contient le nécessaire à connaître pour se lancer. La documentation de Plone est très bien fournie avec des conseils pour chaque version majeure depuis la 1.0 :

http://plone.org/documentation/manual/upgrade-guide

 

Il est indiqué quels sont les produits impactés et quels sont les modifications à apporter dans le code tierce.

Il y a deux conseils qui manquent souvent pour le développeur qui manque d’habitude :

  1. Il faut passer par toutes les versions majeures
  2. Dans une même version majeure il faut faire la migration depuis la première version mineure vers la dernière version mineure avant de migrer à la prochaine version majeure id est 3.3 vers 3.3.6 avant de faire 3.3.6 vers 4.0

En suivant ces deux règles supplémentaires il est possible de passer de Plone 2.1 à Plone 4.3 et bientôt

English: The logo of Plone, and Open Source Co...

English: The logo of Plone, and Open Source Content Management System (Photo credit: Wikipedia)

Plone 5 sans avoir trop de surprises.

 

 

 

 

How to setup your Plone core sprint


I promised to published this article last year but… well, no excuse. The topic is still hot as we work on in Arnhem in November 2013, 11 to 15 to finish it for Plone 5.

Here in Arnhem – Ploneconf 2012 Sprints – we are making a lot of sprint about a lot of different topics. As a newcomer in  sprint lead I did some mistakes.

  1. If you are working in the Plone core you must should a plip before the beginning of the sprint. It will be easier for other people  to follow your work some months later.
  2. For commiters, the main point is to check if you already give your contributor agreement back to the Plone Fundation. If you’re not there should be someone with blank agreements in your sprint to make things go easy.
  3. Once you know how many sprinters you have on your topic you must organize the area to be comfortable for all.
  4. Fing a way to show everybody the tasks that are on going and who is working on. My way is a whiteboard with post-its
  5. Prepare the technical parts before to start coding:
    • Identify all the packages you’re working on and create a remote branch for your plip. We were working at first on Products.CMFPlone, plone.app.content, plone.app.users, and after we also include plone.app.controlpanel in the list.
    • Don’t make a branch in buildout.coredev create a plips configuration file in the ‘plips‘ folder.Then run your buildout using this configuration file as master: bin/buildout -c plips/plip13260-cpy-removal.cfg
  6. Check if everybody have commit rights.
  7. If there’s a change in the plip configuration file notice it to everyone fast.
  8. Make regular internal reports to know who needs help or work 🙂
  9. Write down what’s you’re doing on

For commiters, the main point is to check if you already give your contributor agreement back to the Plone Fundation.  If you’re not there should be someone with blank agreements in your sprint to make things go easy.
Commiters should also follow a process to make the pull going right:

  1. Have  fun
  2. After each plip configuration file update check if all plip eggs are well checkouted and if they are in the good branch
  3. When you start a task  create a local branch to avoiding conflicts before your merge
  4. Commit early, often
  5. Fetch and pull others commits before to merge
  6. Run tests without ‘-t
  7. Merge your work in the plip branch, not the master
  8. Test again before the push
  9. If you need help asks (I know, git is overcomplicated 😉 )
  10. Have fun! Did I say it before?
  11. Have  a follow up plan and stay in touch

Thanks to Eric Steele for the first setup, Liz as the proposer of the sprint topic, Maurits as the technical leader and for all people around there that were working on that sprint.

Participate to a Diazo training in Arnhem the October 9


The day before the conferences I will provide a training on Diazo.

You can come with your own HTML design and in one day we will see how to create a zip file ready to be inserted in your plone site.

You don’t need to know anything about Plone, just HTML and CSS. A bit of XML understanding would be useful but not required.

Enhanced by Zemanta

calendar portlet error with Enfold Desktop


If you’re experiencing problems with the calendar portlet after you installed Enfold Deskop 4.6 or older in your buildout you would be interresting with this parts :


[desktop]
recipe = plone.recipe.distros
urls = http://www.enfoldsystems.com/assets/software/desktop-server-4-5-0-9020-py24-tar.gz
nested-packages =
version-suffix-packages =

[patch_calendaring]
recipe = collective.recipe.cmd
on_install = true
on_update = true
cmds =
    rm -rf Calendaring
    svn export http://svn.plone.org/svn/collective/Calendaring/tags/0.5 Calendaring
    rm -rf parts/desktop/Calendaring
    mv Calendaring parts/desktop

Enfold Desktop embed a very old version of Calendaring product. May next Enfold Desktop version will be available as eggs with refreshed code.

2010 : les liens de la semaine 4


Cette  rubrique va sans doute devenir mensuel suite à la fusion de la partie Python avec la rubrique de l’AFPY. Au programme de cette semaine : Les grammaires en  Python, quelques liens utiles et beaucoup de lien autour des frameworks Web :

Python WAW 2010 : Semaine 4

Une question qui revient souvent : mais où allons-nous héberger notre projet ?

Une page wikipedia a été créé dans le but de recenser les plateformes d’hébergement de projets qu’elles soient gratuites ou payantes :

Comparison of open source software hosting facilities

Enfin un article qui montre qu’il est possible d’écrire un sélectionneur de thème en 200 secondes en jQuery :

Quick Tip: How to Create a Theme-Switcher in 200 Seconds

2010 : liens de la semaine 2


Pas beaucoup de liens en français cette semaine encore.

Logiciel Libre

Free Software Licenses Iconified

Un initiative intéressante pour essayer de résumer en images les différentes licences libres. Il manque les licences de classe Cecill qui commencent à être utilisées pour des projets français et européens.

Plone

on Zope, multiple cores, and the GIL

Encore un article sur les problèmes de performances liés au verrou global de l’interpréteur Python (GIL). Cela valide le fait qu’il faut essayer de multiplier les instances clients ZEO plutôt que d’essayer d’augmenter le nombre de processus (zthread) d’une instance.

main_template as BrowserView

Cet article montre comment surcharger un template Zope qui se trouve dans les skins par un vue à la Zope 3.

Plone 4 faster than WordPress

Des tests réalisés avec Plone 4+Deliverance face à WordPress montrent que sans cache web la dernière mouture de Plone est plus rapide que l’incontournable WordPress.

Plone 4 – How much faster is it?

Encore des comparaisons mais cette fois entre Plone 3.3.3, Plone 4 alpha1 utilisant les classiques Zope Page Template et Plone 4 alpha 1 utilisant Chameleon (le moteur de template initié par Malthe Borch). Les gains sont de 50% à 70% en faveur de Plone 4 avec net avantage pour Chameleon.

2010 : liens de la semaine 1


Cette semaine a été très productive du côté des blogueurs et en particuliers chez les développement autour du core Python.

Python

Pour ceux qui ne connaissent cette boîte de Pandore qu’est le GIL (Global Interpretor Lock) en Python voici un très bon article qui mesure son effet dans le traitement des entrées/sorties avec des systèmes multi-processeurs ou multi-cores :

The Python GIL Visualized

Jesse Noller rappelle les but initiaux du projet Unladen swallow en partie sponsorisé par Google et signale malicieusement en fin d’article qu’une proposition de fusionner leur travail dans Python Core pour Python 3 :

UNLADEN SWALLOW: PYTHON 3’S BEST FEATURE.

Tarek Ziadé, notre président bien aimé, présente les nouvelles fonctionnalités en cours de discussion pour la prochaine version majeure de Distutils, ce qui intéressera tout ceux qui publient des eggs :

Possible new features for Distutils 2.7

Mark Mruss fait une présentation détaillé des ‘docstring’ – ces commentaires qui décorent vos modules, vos classes et vos fonctions – et montre quelle utilisation avancée de celles-ci peut être faite (documentation, tests) :

Introducing Docstrings

Encore un article sur la préparation de la distribution de code qui montre comment mettre en place facilement des scripts  de pré-traitement et de post-traitement :

Using setuptools entry points

La première revue complète du livre « Dive Into Python 3 » (Au cœur de Python 3) :

Book Review: Dive Into Python 3

Enfin deux articles sur les fonctionnalités que les gestionnaires de projets veulent dans mercurial. Dans le premier cas il s’agit de Python-dev qui est censé être migré entièrement cette année sous mercurial :

Where the Hg transition stands

Le deuxième est un développeur qui fait pas mal de Django (vous aimerez sans doute aussi son article free VS free) :

DVCS Ponies

Plone

Voici la description d’un problème récurrent pour les sites multilignues en Plone : comment réordonner des éléments dans une page :

Ordering objects in folders with multilingual sites

Une des solutions les plus faciles à mettre en place est d’afficher toutes les langues lors du tri pour être sur que le Javascript se comporte correctement. L’autre est de demander au Javascript de ne prendre en compte les rangs réels des contenus déplacés plutôt que le rang à l’affichage.

Alex Clarck montre comment installer Plone juste avec buildout en 5 minutes, sans avoir à installer l’unified installer ou Paster :

No, really, you can (just) use Buildout to install Plone

WEB

Encore une fois je terminerai par des liens plus centrés sur le développement Web en général et jQuery en particulier.

Réaliser des animations en jQuery en 7 étapes :

jQuery Animations: A 7-Step Program

Un visualisateur de contenu (d’images) à l’épreuve des balles :

A Bullet-Proof Content Viewer

Personnaliser les événements et l’API des Événements Spéciaux dans jQuery :

Custom Events, and the Special Events API in jQuery

Week 53 web logs


Python

Tarek Ziadé a écrit le plus utile des tutoriels : How to version your Python projects. Il décrit en quelques pages les bonnes pratiques pratiquées dans la communauté pour géré la numéroration des distributions et comment mettre en place rapidement  le versionnage depuis un environnement de développement mercurial. Ce dernier point jette un pavé de plus pour l’utilisation de ce DRCS qui devrait devenir le standard de la communauté ces prochaines années.

Paul Wilson et Chris McDonough ont cherché un moyen d’implémenter les fonctions génériques chères à Guido Van Rossum. Le résultat de leur recherches a été publié dans la liste de diffusion Zope-dev : Zope3 and Generic Functions

Dans un cycle la fin et le début se confondent

Cette année se termine et ce blog va se franciser de plus en plus pour améliorer la visibilité des communautés françaises des utilisateurs de Python, Zope et Plone.

Week 52 web logs


Opensource

For Chris McDonoug Documentation is the Differentiator between project success and failure.

Web

Firefox 3.5 is the most used web browser before Internet Explorer 7.0 and 8.0… but IE 6 still resists.

ZODB

Jim Fulton wrote about Undo alternatives: Time Travel and Truncation (and maybe a Berkley DB storage)

Plone

Jarn made a new release for LinguaPlone (3.0) the only serious implementation of multilingua sites in Plone

Week 50 web logs


Python

Zope

Plone