Comment Publie CityDesk ?

A une question posée par Adriaan, Joel Spolsky explique comment CityDesk decide quels articles publier :

"Il existe actuellement deux étapes pour n'importe quelle opération "Publier/Publish".

Dans un premier temps, CityDesk assemble une copie du site sur votre disque dur, dans un répertoire temporaire. Nous appellerons cette étape "ASSEMBLAGE" pour les besoins de la conversation.

2° temps :CityDesk envoie les fichiers vers le serveur Web. Nous appellerons cette étape "ENVOI" (NDT UPLOAD...)

Il existe 3 manières de publier, avec des comportements vraiment différents (J'admets, cela est plus déroutant que ce ne devrait l'être) :

  • A) Vous pouvez cliquer le bouton "Publish" sur la barre d'outils dans un article
  • Vous pouvez publier à partir de la fenêtre principale et cocher "Publish all Files" dans la boîte de dialogue
  • Vous pouvez publier à partir de la Fenêtre Principale et cocher "Publish Changed Files" dans la boîte de dialogue.

Voilà là différence entre ces 3 options offertes :

  • (A) n'ASSEMBLE pas d'autres articles que celui sur lequel vous travaillez, pour faire gagner du temps. C'est un bouton "Publie cet article". Utile si vous avez un caractère simple à corriger. En particulier, si vous avez un autre article quelque part ailleurs avec une boucle foreach qui renvoie cet article, cet autre article ne sera PAS ASSEMBLE. Il assemblera aussi tous les fichiers non-article s'ils sont référencés par l'article en cours en utilisant des noms magiques (PTMFOG...)  (ex : image encapsulée) OU s'ils contiennent du CityScript. La dernière clause est un peu étrange -- cela veut dire que si vous avez un fichier HTML (PAS un article) qui contient du CityScript, il sera ASSEMBLE chaque fois que vous publiez N'IMPORTE QUEL fichier. Cela est particulièrement utile si vous avez un fichier index.html dans votre site avec votre table des matières, ainsi il sera ASSEMBLE à chaque fois que vous publiez n'importe quel article à l'intérieur de la fenêtre de l'article.
  • (B) et (C) ASSEMBLE tous les articles.

Comme pour l'envoi :

(A) et (C) ENVOIENT (vers le serveur) tous les fichiers de n'importe quel type (y compris les articles) qui ont changé -- en d'autres mots, si nous pensons que la version dans l'assemblage temporaire diffère de la version sur le serveur, elle sera ENVOYEE (envoyée sur le serveur)

(B) ENVOIE (vers le serveur) tous les fichiers, quels qu'ils soient même si nous pensons que le serveur est à jour. En espérant que ça explique !

Joel Spolsky

Tuesday, September 03, 2002