<< Notes à propos de la conception | Documentation Index | ChangeLog? >>
Attention !
Depuis la version 2.0 beta 20 (janvier 2005), il y a une modification dans la manière dont sont convertis les liens comportant une apostrophe ou un tiret. Derrière une apostrophe ou un tiret, il n'y a plus de majuscule mais une minuscule.
Par exemple le lien [[Suivi d'auteur]]
va vers la page SuiviDauteur
alors qu'auparavant il allait vers SuiviDAuteur
.
Ceci peut vous donner l'impression que certaines pages ont disparu, il n'en est rien, mais il faut les recopier ou les renommer. Vous pouvez directement renommer les fichiers par FTP sans problème (sauf la recherche des liens interpages qui est erronée tant que les pages n'ont pas été éditées).
Si vous utilisez les deux types de liens ChatHuant
et [[Chat-huant]]
, vous aurez des corrections à faire dans vos pages. De plus, lors de la mise à jour de la version i18n, il est préférable d'effacer toutes les pages internationales situées dans /wikilib.d
avant la mise à jour, afin d'éliminer les pages de la documentation devenues ainsi obsolètes.
Il y a aussi des modifications importantes depuis la V2.0 beta 44. Si vous migrez depuis une version antérieure, lisez attentivement les notes de cette version et des suivantes.
$SiteAdminGroup
.'.Blocklist-PmWiki'] = array('format' => 'pmwiki');
Voici la liste des principaux changements:
"@nopass"
alors qu'auparavant ceci était fait avec "nopass"
passwdread=nopass:
par passwdread=@nopass
(voir 00961?) isidor?
$LinkWikiWords
soit $EnableWikiWords
à 1. Pour avoir le comportement de la version 2.1 ou les Mot Wiki sont reconnus et espacés mais ne créent pas de lien, utiliser ce qui suit:
$EnableWikiWords
= 1;
$LinkWikiWords
= 0;
$EnableWSPre
=0; pour désactiver cette règle.
$EnableWSPre
=1; dans local/config.php.
$ROSPatterns
a été quelque peu modifiée -- Les chaînes de remplacement ne sont plus passées via FmtPageName() avant la substitution (c'est à dire que ceci doit être fait de manière explicite).
(:include:)
sont maintenant traitées comme relatives à la page inclue, plutôt qu'à la page en cours. En bref, l'idée est que les liens et variables de page doivent être évaluées relativement à la page ou ils ont été écrits, plutôt qu'à la page ou ils apparaissent. Ceci parait plus conforme à ce que les auteurs attendent. Ils y a d'importantes conséquences à ce changement:
{*$var}
, qui réfère toujours à "la page actuellement affichée". Les pages telles que Site.PageActions et Site.EditForm qui sont conçues pour fonctionner sur la "page en cours de navigation" devraient normalment utiliser {*$FullName}
au lieu de {$FullName}
.
{$var}
en références {*$var}
.
$EnableRelativePageVars = 1;
dans local/config.php pour voir comment le site va réagir à cette nouvelle interprétation. Les administrateurs devraient spécialement vérifier les versions personnalisées de:
(:include:)
a maintenant une option basepage=
qui permet aux auteurs de spécifier explicitement la page à partir de laquelle les liens relatifs et les variables de page doivent se baser. Si aucune option basepage= n'est spécifiée, la page inclue est supposée être la base.
(:include:)
et des autres éléments antérieur à la version 2.2 peuvent définir $Transition['version'] = 2001900;
pour maintenir les comportements par défaut de la version 2.1.x.
$EnableDrafts
est actif, alors le bouton "Enregistrer" est renommé "Publié" et un bouton "Sauver un brouillon" apparait. De plus, une variable de configuration $EnablePublishAttr ajoute un nouveau niveau d'autorisation "publier" pour distinguer l'édition de la publication. Voir PmWiki:Drafts (en anglais) pour plus de détails.
(:include:)
peut contenir des "substitutions immédiates" de la forme {$$option}
-- elles sont substituées avec la valeur de toute option fourni avec la directive include.
$ScriptUrl
et $PubDirUrl
.
{$:var}
disponible qui peut capturer des extraits de texte en dehors du contenu des balises. Par exemple, {UnePage$:Xyz}
sera remplacé par une définition de "Xyz" dans UnePage. Les variables de teste de page peuvent être définies en utisant la balise de définition, une ligne commençant avec le nom de la variable et un ":", ou une forme de directive spéciale (qui n'affiche rien sur la sortie):
:Xyz: une valeur # forme de définition de liste Xyz: une valeur # forme ":" (:Xyz: une valeur:) # forme de type directive
(:pagelist:)
peut désormais filtrer les pages sur la base du contenu des variables de page et/ou des vaiables de texte de page. Par exemple, la directive suivante affiche seulement les pages qui comportent une variable de texte de page "Xyz" qui est "une valeur":
(:pagelist $:Xyz="une valeur":)
(:pagelist $Title=A* :)
(:pagelist)
can be used to filter pages based on conditional markup:
(:pagelist if="auth upload {=$FullName}":)
pages with upload permission
(:pagelist if="date today.. {=$Name}":)
pages with names that are dates later than today
{$PageCount}, {$GroupCount}, {$GroupPageCount}
utilisées dans les modèles de pagelist sont désormais {$$PageCount}, {$$GroupCount}, {$$GroupPageCount}
.
{$$option}
dans un modèle de pagelist pour obtenir la valeur de toute 'option=' fournie par la commande (:pagelist:)
.
(:pagelist:)
n'accepte désormais plus par défaut les paramètres d'une Url ou d'un formulaire. De manière à accepter ces paramètres (ce qui était validé par défaut dans la version 2.1 et antérieures), ajouter une option request=1 à la directive (:pagelist:)
.
count=
de pagelists accepte désormais des valeurs négatives pouvant compter à partir de la fin de la liste. Doncs count=5
renvoie les premières cinq pages de la liste, et count=-5
renvoies les cinq dernières pages de la liste. De plus, des plages de pages peuvent être spécifiées, comme dans count=10..19
ou count=-10..-5
.
(:template first ...:)
et (:template last ...:)
pour spécifier les sorties pour la première ou la dernières page d'un groupe. Il y a aussi un (:template defaults ...:)
pour permettre de spécifier un modèle par défaut.
(:if ...:)
comprend désormais (:elseif ...:)
et (:else:)
. Les conditions ne peuvent cependant toujours pas être emboîtées.
(:if date ...)
peut désormais faire des comparaisons de date autre qu'avec la date et l'heure courante.
(:if ontrail ...:)
permet de tester si une page est listée sur un trail.
{$PasswdRead}
, {$PasswdEdit}
, etc. qui affichent les paramètres de mot de passe pour une page (pour autant que le navigateur ait les autorisations 'attr' ou les autorisations définies dans $PasswdVarAuth).
(:input:)
a été reconstruite (et pourra subir de nouveaux changementsavant la diffusion 2.2.0). La nouvelle balise (:input select ...:)
peut être utilisée pour créer des boites de sélection, et (:input default ...:)
peut être utilisé pour définir des valeurs de contrôle par défaut, y compris pour les boutons radios et les cases à cocher.
(:input textarea:)
peut désormais accepter des valeurs depuis d'autres sources, incluant des variables de texte de page depuis d'autres pages.
focus=1
sur un contrôle (:input:)
fait que le contrôle obtient le 'focus' d'entrée quand une page est chargée. Si une page a de multiple contrôles demandant le focus, alors le premier contrôle avec la plus basse valeur de focus=
"gagne".
include_once('scripts/creole.php')
à un fichier de configuration locale.
$AutoCreate['/^Category\\./'] = array('ctime' => $Now);
$WikiWordCount
['MotWiki'] à -1 pour indiquer que le 'MotWiki' donné ne doit pas être espacé comme prévu par la directive $SpaceWikiWords
.
Cette version porte depuis la 2.2.0-beta une correction pour les $TableRowIndexMax
et supporte aussi la balise {*$Variable}
.
Cette version corrige une erreur dans feeds.php qui fait se mélanger les entrées 'feed'.
Cette version corrige une erreur dans authuser.php introduite par la révision 2.1.24.
Le code des modèles a aussi été complété pour permettre <!--XMLHeader-->
et <!--XMLFooter-->
en tant qu'aliase de<!--HTMLHeader-->
et <!--HTMLFooter-->
.
Cette révision comporte des améliorations et corrections de la fonctionnalité AuthUser.
Une erreur dans authuser.php qui posait des problèmes avec les valeurs qui n'étaient pas des tableaux dans $AuthUser a été corrigée.
Il est désormais possible de spécifier des appartenances à des groupes depuis local/config.php (notez que ces entrées doivent être faites avant l'inclusion du script authuser.php):
# mots de passe d'alice et bob $AuthUser['alice'] = crypt('alicepassword'); $AuthUser['bob'] = crypt('bobpassword'); # membre des groupes @writers et @admins $AuthUser['@writers'] = array('alice', 'bob'); $AuthUser['@admins'] = array('alice', 'dave'); # carol est membre de @editors et @writers $AuthUser['carol'] = array('@editors', '@writers');
AuthUser peut désormais être lu depuis les fichiers .htgroup de format Apache. La localisation du fichier .htgroup peut être soit dans local/config.php ou Site.AuthUser
# local/config.php: $AuthUser['htgroup'] = '/path/to/.htgroup'; # Site.AuthUser htgroup: /path/to/.htgroup
Ces révisions corrigent une vulnérabilité potentielle pour les sites qui fonctionnent avec le paramètre 'register_globals' actif. Des détails de cette vulnérabilité seront précisé sur la liste de diffusion et le site.
Les sites qui fonctionnent avec 'register_globals' et 'allow_url_fopen' actifs doivent installer cette révision dès que possible. S'il n'est pas possible de faire une mise à jour, contactez Pm (en anglais) pour avoir une correction pour des versions plus anciennes.
Il y a désormais un outil pour analyser la sécurité des sites PmWiki ainsi que d'autres paramètres de configuration, voir PmWiki:SiteAnalyzer.
La version 2.1.23 corrige aussi une erreur qui empêchait PmWiki d'être capable de lire les pages cées par des versions antérieures à la version 0.5.6.
Quelques corrections mineures:
(:attachlist:)
.
Cette version propose une certain nombre de corrections et d'améliorations mineures:
La prochaine révision devrait comporter des modifications et améliorations importantes du code, aussi cette révision corrige simplement quelques erreurs avant l'introduction de modifications importantes.
Cette version corrige une vulnérabilité potentielle sur des exécutions de script inter-sites qui permet aux auteurs d'injecter du code Javascript au travers des balises de tableaux.
Cette version ajoute aussi une nouvelle balise (:input image:)
pour générer des tagds d'entrée d'image dans les formulaires.
Enfin, cette révision corrige un problème avec ?action=print
qui ne définissait pas correctement la variable de page {$Action}
.
Cette version corrige un bogue ancien avec $EnableIMSCaching
(PITS:00573), ou les opérations de login/logout ne suppriments pas le cache du navigateur, ce qui fait que certaines personnes voient une version de la page antérieure au login.
Le nouveau code du cache IMS maintient un cookie "imstime" dans le navigateur du visiteur qui mémorise l'heure du dernier login, logout, nom d'l'auteur du changement, ou de la modification du site. Ce cookie est ensuite utilisé pour déterminer la réponse appropriée à la demande du navigateur contenant des en-têtes de type 'si modifié depuis'. (Auparavant seule l'heure de le dernière modification du site était disponible.)
Les navigateurs n'acceptant pas les cookies se comportent en pratique comme si le cache IMS est désactivé.
Cette révision améliore la manipulation des thèmes -- essentiellement la possibilité de déplacer les fichiers de thème à d'autres endroits, et de fournir la possibilité aux modules d'ajouter des items à la fin de la sortie HTML.
Cette version introduit la directive <!--HTMLFooter-->
dans
Modèles de thèmes, ce qui permet aux modules et aux personnalisations d'ajouter des éléments vers la fin du document
en utilisant le tableau PHP $HTMLFooterFmt.
Aussi, la directive <!--HeaderText-->
, qui ajoute le contenu de $HTMLHeaderFmt
dans la sortie, a désormais été renommé <!--HTMLHeader-->
. PmWiki continuera de reconnaitre <!--HeaderText-->
pour préserver la compatibilité avec les thèmes
existants, mais <!--HTMLHeader-->
est à préférer.
Un nouveau tableau $SkinLibDirs a été créé pour permettre la localisation des sources et des urls pour les thèmes depuis un fichier de personnalisation. Par défaut $SkinLibDirs est mis à
$SkinLibDirs = array("./pub/skins/\$Skin
" => "$PubDirUrl
/skins/\$Skin
", "$FarmD
/pub/skins/\$Skin
" => "$FarmPubDirUrl
/skins/\$Skin
");
Les clés (à gauche) indiquent les emplacements à rechercher pour "le fichier de thème .tmpl" dans le système de fichiers, alors que les valeurs (à droite) indiquent la situation de l'url de "fichier css de thème". Modifier la valeur de $SkinLibDirs permet à une fichier de thème .tmpl file d'être situé n'importe ou dans le système.
Pour autant que je puisse en juger, aucun des changements introduits par cette révision ne devrait avoir d'impact négatif sur les sites existants, aussi on peut faire une mise à jour sns risques. (Si je me trompe, merci de me le faire savoir.)
This release includes a number of feature enhancements and code cleanups as reported or requested by administrators.
First, AuthUser's LDAP authentication system now allows the use of
a ?filter
parameter, consistent with urls used for mod_auth_ldap
authorization in Apache. See the newly updated LDAP section of the
AuthUser documentation for more details.
A chicken-and-egg problem with the @_site_*
authorization groups
has been resolved. It's now possible to have a page's read authorization
refer to things such as _site_edit
.
Also, the RetrieveAuthPage() function -- used for retrieving pages only if the visitor is authorized to do so -- now recognizes a special level parameter of 'ALWAYS', which means to always authorize access regardless of the browser or visitors current permissions. This may be useful for allowing certain operations to take place from within trusted scripts without having to grant full authorization to the browser.
Hardcoded instances of the local/ directory now use a
customizable $LocalDir variable. This variable controls where
PmWiki looks for local/config.php and per-group customization
files. It may be useful for some Wiki Farm contexts. Note that
this does not change or affect the location of
$FarmD
/local/farmconfig.php.
Some minor internal changes have been made to scripts/wikistyles.php to better accommodate the wikipublisher recipe. It's probably better if we don't try to explain them. :-)
Cette version corrige une erreur pour la prise en compte des mots de passe numérique et permet l'authentification des sources ldaps:// .
Cette version introduit la possibilité d'emboîter les balises div et les tableaux.
Les balises standard (:table:)
et (:div:)
sont toujours disponibles, sauf que une balise (:div:)
peut contenir une balise (:table:)
et vice-versa.
Comme dans les versions antérieures de PmWiki, la balise (:div:)
ferme automatiquement toute balise (:div:)
antérieure. Cependant, il y a désormais des balises (:div1:)
, (:div2:)
, etc. (et les balises (:div1end:)
, (:div2end:)
correspondantes, ...) qui peuvent être utilisées pour distinguer les divs pour les emboîtements.
Pour remettre en place le comportement des versions non emboîtables, définir $Transition['nodivnest'] = 1; dans un fichier de configuration locale.
Autres modifications de cette version:
(:noaction:)
pour supprimer l'affichage des actions de page.
C'est une mise à jour mineure qui empêche le style %define=%
de produire des paragraphes vides dans le code HTML. Avant cette version, les balises de lignes contenant seulement des définitions de style produisaient souvent des paragraphes vides (<p></p>)
, cette version modifie ce comportement, une balise de ligne commençant par %define=%
et contenant uniquement des définitions de style ne crée pas de nouveau paragraphe.
La version 2.1.4 a introduit une variable de page {$Action}
qui contient la valeur de action=
. Malheureusement, cette variable de page était en conflit avec une variable globale précédente $Action
qui était utilisée par les thèmes pour afficher un formulaire pour l'action en cours. Puisqu'il n'y a pas vraiment de façon simple de résoudre ce conflit, j'ai décidé de garder [browse] comme une variable de page avec la valeur d'action courante (comme présenté dans la version 2.1.4) et de modifier la variable globale pour les thèmes en $ActionTitle
. Cela exige une mise à jour des thèmes afin qu'ils utilisent $ActionTitle
au lieu de $Action
. Toutes mes excuses pour ce conflit.
Cette version ajoute une page Site.LocalTemplates avec l'option fmt=#xyz
dans des résultats de recherche et dans pagelist. La liste de pages à rechercher peut être personnalisée à l'aide de la variable $FPLTemplatePageFmt
.
La thème 'pmwiki' ajoute maintenant une balise <span>
devant le lien "Recent Changes" dans l'en-tête afin de permettre l'ajout d'un style pour cette partie.
Cette version corrige un bogue très ancien (et difficile à trouver !) lors du traitement des liens [[~Author]]
.
Cette version change simplement la variable $NotifyListFmt en $NotifyListPageFmt
(mieux appropriée) et ajoute un tableau $NotifyList
qui peut être utilisé pour spécifier des entrées de notification dans le fichier de configuration.
Cette version présente une variété d'améliorations et de correction de bogues.
Les paragraphes avec 'vspace' sont maintenant des div : la version 2.1.7 change la façon dont PmWiki génère le code relatif aux espaces verticaux (la fameuse séquence <p class='vspace'></p>
). Au lieu d'utiliser des paragraphes, PmWiki génère maintenant le code <div class='vspace'></div>
pour des séquences avec des espaces verticaux. De plus, PmWiki est capable de fusionner les <div>
avec vspace avec n'importe quelle balise de paragraphe suivant, comme par exemple :
<div class='vspace></div><p>...texte...</p>
est automatiquement convertit en
<p class='vspace'>...texte...</p>
Ceci permet un meilleur contrôle de l'espacement des paragraphes. A priori ce changement du traitement de vspace ne devrait pas avoir d'effets sur des sites existants. Les sites qui utilisent des valeurs personnalisées pour $HTMLVSpace
continueront à utiliser ces valeurs personnalisées. Un site qui veut rétablir le traitement précédent de PmWiki pour les espaces verticaux peut le faire en ajoutant la ligne suivant au fichier local/config.php:
$HTMLVSpace
= "<p class='vspace'></p>";
Amélioration des notifications par email lors des modifications d'une page : la version 2.1.7 ajoute un script "notify.php" qui fournit des capacités améliorées pour l'envoi des notification par email lors des modifications d'une page. Ce script est destiné à remplacer le script précédent MailPosts, qui est maintenant déprécié (mais continuera d'être inclus dans PmWiki 2.1.x). Les détails et les instructions d'utilisation du script notify.php se trouvent dans la page PmWiki.Notify.
Syntaxe supplémentaire pour les pages d'accueil des groupes : un nom de groupe suivi par seulement un point ou un slash sont automatiquement traités comme une référence à la page d'accueil du groupe. Cela simplifie les modèles pour les listes de pages ainsi que pour un certain nombre d'autres choses. Particulièrement les liens de groupe dans les pages avec l'instruction pagelist pointent maintenant correctement (au lieu de pointer vers une page du groupe actuel).
Plusieurs bogues et vulnérabilités ont été corrigés :
L'amélioration principale de cette version est l'ajout d'un argument pagename à la balise de condition (:if auth :)
. Ainsi on peut visualiser les autorisations d'accès d'un visiteur à une page différente de la page courante. Par exemple, pour connaître les droits d'édition de la page 'Main.WikiSandbox, on utiliserait (:if auth edit Main.WikiSandbox:)
. Auparavant, la balise ne traitait que les autorisations de la page courante.
Cette version rétablit aussi la possibilité de traits d'union dans les liens Intermap.
Enfin, la version corrige une vulnérabilité dans la balise WikiTrail de cheminement wiki et propose quelques petites améliorations de performance.
Cette révision répare quelques erreurs:
Cette révision ajoute aussi quelques éléments:
{$Action}
.
(:attachlist:)
utilise un algorithme de tri 'naturel'.
Cette révision répare une erreur qui empêche l'option lines=
de fonctionner sur les sites tournant avec PHP version 5.1.1 ou ultérieure. Il répare à nouveau une erreur impliquant un mot de passe vide et l'authentification LDAP.
Cette révision répare une erreur de gestion de mots de passe de type "nopass". Elle améliore aussi la performance des envois Internet importants, et corrige quelques erreurs mineures sur les confusions de balises HTML.
Cette révision répare une erreur avec les mots de passe contenant des autorisations de groupe multiples, et dans le même temps assouplit légèrement le formattage et la manipulation de "@group" et "id:name". Cette révision ajoute aussi un nouveau mécanisme pour gérer et afficher les pages de FAQ.
Cet ensemble des notes de versions est particulièrement long, car il liste l'ensemble des modifications intervenues depuis la version 2.0.13 (quatre mois de développement). Une grande partie [de PmWiki] reste inchangée, mais un certain nombre de modifications requiert des précautions particulières lorsque l'on met à jour depuis une version 2.0.x vers la version 2.1.0 (d'ou le changement de révision principale). Comme d'habitude, les questions et problèmes peuvent être signalées (en anglais) sur la liste de diffusion?.
$LinkWikiWords
= 1;" dans un fichier de configuration locale?. Avec la révision 2.1.beta2, vous pouvez laisser les MotsWiki actifs mais les liens vers des pages inexistantes n'auront plus de décoration -- pour faire ceci, placer les lignes suivantes dans pub/css/local.css:
span.wikiword a.createlink { display:none; } span.wikiword a.createlinktext { border-bottom:none; text-decoration:none; color:inherit; }
(:pagelist:)
a été significativement modifié. Le formatage de pagelist peut désormais être défini en utilisant la balise, et de nombreuses valeurs par défaut sont disponiibles dans Site.PageListTemplates. De plus, nombre de fonctions de formatage de pagelist (FPLSimple, FPLByGroup, FPLGroup) sont désormais supprimées au profit de code de 'template'. La fonction FPLByGroup peut être remise en place en ajoutant la ligne $Transition['fplbygroup']=1;
. Si quelqu'un a des problèmes de migrations vers le nouveau format, contacter la Liste de diffusion? (en anglais) pour avoir de l'aide. Il faut s'assurer que la page Site.PageListTemplates n'est pas protégée en lecture par un mot de passe, sinon la liste ainsi construite ne sera pas visible.
(:pagelist:)
comprend désormais les jokers dans les arguments group=
et name=
, et permet aussi d'exclure des noms et groupes spécifiques
(:pagelist:)
comporte désormais l'option "order=random".
(:searchbox:)
accepte désormais que les options "group=", "link=", "list=", etc. soient passées en même temps que les résultats. Il est aussi accepté une option "target=" qui identifie la page vers ou va la requête de recherche.
?action=search
affichera le contenu de la page courante si elle contient une directive (:searchresults:)
, sinon le contenu de la page identifiée par $PageSearchForm
est utilisé (par défaut c'est la page de recherche pour la traduction courante).
$PageIndexFile
='';
$EnablePageListProtect
est désormais vraie par défaut, aussi les pages en lecture seules apparaissent seulement dans les listes de pages si le visiteur possède les droits de lecture. Notez que ceci peut ralentir la commande (:pagelist:)
et les commandes de recherche, aussi si vous n'avez pas de page en lecture seule ou si vous n'êtes pas gênés ar l'affichage des pages en lecture seule dans les listes, il vaudrait mieux définir $EnablePageListProtect
=0; .
(:linebreaks:)
est respectée. Pour désactiver l'indentation par espaces, utilisez DisableMarkup('^ws');
.
!!Entête
est ignorée.
(:redirect:)
est désormais une vraie balise, et peut être incorporée dans des balises conditionnelles ou des inclusions. Elle permet aussi la redirection vers une ancre de page, comme dans (:redirect NomDepage#ancre:)
. Une nouvelle option from=
permet à la redirection de n'être active que depuis les pages qui respectent la spécifications des jokers. L'option status=
permet aux codes de statut HTTP 301, 302, 303, ou 307 d'être renvoyés.
$EnableDrafts
= 1. ceci crée un bouton "Save as draft" qui va sauver une page avec le suffixe "-Draft", pour une édition intermédiaire.
[[PageName |+]]
est désormais disponible par défaut; ceci crée un lien vers PageName et utilise le titre de cette page comme texte de lien .
{$variable}
, et peut être utilisé dans les balises et les chaînes $...Fmt. De plus, on peut demander une valeur pour une page particulière en placant le nom de la page devant la variable, par ex. {pagename$variable}
.
?action=atom
), des sorties 'Dublin Core Metadata' (?action=dc
), et des paquets pour le podcasting. Il permet aussi aux 'feeds' d'être générés à partiel des 'trails', groupes, catégories et liens arrière, et fournit des options (les mêmes que pour les pagelists) pour trier et filtrer les contenue du 'feed'. La plupart des sites peuvent simplement basculer vers include_once("scripts/feeds.php");
à la place des include rss.php. Le fichier rss.php a été supprimé de la distribution (mais continue à fonctionner avec PmWiki 2.1 pour les sites qui souhaitent continuer à l'utiliser).
$EnableIMSCaching
est maintenant plus subtile et détecte les changements dans les fichier de configuration locale ainsi que dans les pages.
%class1 class2%
donne class='class1 class2'
au lieu de simplement class='class2'
dans la sortie.
(:include PageName#from#:)
a désormais été corrigé (PITS:00560).
[[#ancre]]
est utilisée plus d'une fois dans une page, seule la première génère effectivement une ancre (pour préserver la validité XHTML).
(:if equal ...:)
et (:if exists pagename:)
.
(:if [ group PmWiki && ! name PmWiki ] :)
.
$UploadUrlFmt
est désormais basée sur $PubDirUrl
au lieu de $ScriptUrl
.
Cette révision comporte des correction d'erreurs et des améliorations mineures en préparation pour les révisions 2.1.beta.
Les administrateurs Wiki doivent noter qu'après cette révision PmWiki aura les MotsWiki désactivés.
Pour être sûr que les MotsWiki sont activés, mettre $LinkWikiWords
= 1; dans le fichier local/config.php.
Cette révision corrige les problèmes de validation de page pour les pages contenant des fragments de recherche et des &, change PmWiki afin d'utiliser dans PHP la commande "return" au lieu de "exit", et corrige un avertissement dans scripts/transition.php.
Cette révision répare une paire de bogues importants et ajoute quelques nouvelles fonctionnalités à PmWiki.
De plus, cette révision répare le bogue avec ?action=attr qui modifie l'historique de page.
Pour les sites utilisant l'authentification LDAP avec authuser.php, PmWiki fournit désormais les variables $AuthLDAPBindDN et $AuthLDAPBindPassword pour spécifier les règles ('binding' ?) de recherche. Il contourne une bizarrerie du PHP qui fait apparaître comme authentifié un utilisateur quand un mot de passe vide est fourni. Authuser.php manipule désormais directment les codages de mot de passe md5 (utilisés couramment par les bases de données MySQL).
Le noyau inclut désormais la balise (:linebreaks:)
(d'après la recette Cookbook:LineBreaks), qui fait que le texte écrit sur des lignes séparées dans le code source apparaissent aussi comme des lignes séparées sur l'affichage (c.a.d., ne joint pas automatiquement une ligne à la précédente).
Il y a eu quelques modifications internes pour améliorer la gestion des séparateurs précédés par un espace (il y aura plus de détails à ce sujet dans une révision ultérieure).
Le noyau fournit désormais une balise (:if date:)
pour afficher le texte uniquement si le jour actuel est dans la gamme de dates définie.
Cette révision corrige une omission dans xlpage-utf-8.php qui échouait à mettre en majuscule les lettres ASCII quand mb_strtoupper n'est pas présent.
Cette révision ajoute simplement la possibilité d'utiliser des apostrophes pour entrer des phrases clés (mots de passe contenant des espaces) en utilisant ?action=attr, et corrige une erreur affichant le nom au lieu du titre dans le thème d'impression par défaut.
Cette révision modifie la conversion minuscule/majuscule dans xlpage-utf-8.php en utilisant une table plus directe, et complète la table avec plus de caracttères que dans le set utf-8.
Cette révision corrige aussi la variable $VersionNum
qui était supposée apparaître en 2.0.6.
Un raccourci clavier (ak_textedit) a été ajouté à la page d'édition de texte.
Enfin, cette révision ajoute un temps limite à la génération des .linkindex, pour éviter les temps sur les pages longues quand on génère le .linkindex.
Dans cette révision, il y a quelques compléments et de nombreuse corrections pour les sites qui utilisent ou ont besoin de l'encodage utf-8, la gestion des cookies d'auteur est améliorée, et il y a un meilleur support pour le suivi des révisions de version.
Le plus gros changement est dans le module xlpage-utf-8.php, qui a été réécrit de manière importante. Cette nouvelle version de xlpage-utf-8.php ne dépends plus de la fonction mb_strtoupper(), qui ne semble pas disponible dans de nombreuses installations PHP. Cette nouvelle version de xlpage-utf-8.php utilise mb_strtoupper() si disponible, mais sinon il effectue lui-même les conversions min/maj d'après une table unicode directement définie dans le module. Actuellement cette table comprends uniquement les conversions min/maj pour les caractères d'Europe de l'ouest (Latin-1 or ISO-8859-1) et les caractères cyrilliques, en souhaitant étendre la table pour supporter les autres langues autant que souhaitable. Contactez moi sur la liste de diffusion si une set de caractères particulier n'est pas encore supporté.
En sus de ce qui précède, les noms d'auteur et les cookies dans les environnement utf-8 fonctionnent de nouveau, et les suffixes de lien contenant des caractères non-ASCII fonctionnent également à nouveau.
La gestion des boutons de l'interface opérateur avec Internet Explorer a été beaucoup améliorée; la sélection de texte fonctionne désormais comme supposé quand on appuie sur un bouton de l'interface. Malheureusement, il est possible qu'il n'y ait pas d'espoir pour les navigateurs Mac Safari...
Une variable $CookiePrefix
a été ajoutée; un administrateur wiki peut définir $CookiePrefix
pour empêcher les cookies PmWiki's d'interférer avec les cookies définis par les autres applications du même nom de domaine.
Quelques problèmes de validation XHTML avec l'utilisation des balises <script> ont été résolues.
Et finalement, pour les auteurs de modules et de recettes, il y a désormais une variable $VersionNum
pour savoir si la version de PmWiki en cours est plus ancienne ou plus récente qu'une version identifiée. $VersionNum
est composé du numéro de version en ajoutant au numéros de versions mineures et majeures des zéros pour avoir trois chiffres, donc $VersionNum
pour cette révision (2.0.6) se lit 2000006, alors qu'une révision comme la "2.1.24" aura une variable $VersionNum
définie comme 2001024.
Comme précisé dans la liste de diffusion pmwiki-users, les entrées du PITS sont mises à jour lorque qu'il est envisagé qu'elles soient prise en compte dans la distribution principale. La liste peut être trouvée sur http://www.pmwiki.org/PITS/CoreCandidate, vous êtes tous invités à ajouter votes et commentaires sur les sujets en question.
Cette version ajoute une action ?action=logout
et nettoie quelques éléments pour le support des versions internationales.
La variable $Newline a été aussi formellement supprimées du code principal. -- les sites qui ont absolument besoin des pages stockées suivant le format 1.x peuvent définir $NewlineXXX. (Notez que cette version est toujours capable de lire les pages des formats PmWiki précédents.)
Une semaine après la révision 2.0.0 nous en sommes actuellement à la révision 2.0.4, la plupart des changements étant des améliorations et corrections mineures. On trouve quelques améliorations de-ci de-là.
Le plus gros changement est l'ajout d'un système d'indexation de liens pour améliorer la vitesse des Categories et des liens arrière (utilisant la balise
(:pagelist link=...:)
. Le système utilise un fichier .linkindex pour mémoriser tous les liens de pages du site, générant et mettant à jour le fichier dès que nécessaire et utilisant ce fichier pour éviter de scanner les pages connues pour n'avoir pas de lien vers la cible. Le fichier .linkindex peut être supprimé à tout moment pour le régénerer entièrement. L'indexation des liens peut être désactivée en définissant $EnableLinkIndex=0;
dans local/config.php.
Le "résumé des modifications" associé avec chaque édition est maintenant limité à 100 caractères maximum. Un paramétrage local peut modifier la taille maximum du résumé.
Les séquences 'tilde' (~) utilisées pour générer les signatures sont maitenant précises;
seule une séquence de 3 ou 4 tildes va créer une signature. Les séquences plus longues comme ~~~~~~~~ sont laissées tel que et ne sont pas converties en signatures. (Générer une séquence de trois ou quatre tildes nécessite toujours un peu de créativité, comme dans [=~~=]~
et
[=~~=]~~
.)
Un nombre important de messages précedemment codés directement sont désormais traduisibles lors de la création d'une version internationale.
De nombreux messages PHP E_NOTICE (affichés quand error_reporting() est définie à sa valeur maximum) sont désormais éliminés.
Ceci est une révision mineure; le noyau est amélioré pour afficher les résumé des modifications dans l'historique de page, et ajoute des attributs dans les furmulaires d'entrées de forms.php.
Cette révision corrige aussi une erreur dans la définition du paramètre $sub pour l'authentification LDAP, améliore les définitions de valeur par défaut dans scripts/urlapprove.php, et corrige les pages de recherche te le thème pour utiliser la variable $SiteGroup
au lieu de la valeur fixe "Site".
Finalement, cette révision change la balise (:searchbox:)
pour être un peu plus élegant lors de la génération de formulaire quand $EnablePathInfo
est défini.
Ces versions corrigent quelques erreurs mineures dans le chargement et l'enregistrement des pages, de l'envoi de courriel et la documentation.
Après une longue attente, Je suis heureux d'annoncer la version officielle de PmWiki 2.0.0, maintenant disponible sur http://www.pmwiki.org/pub/pmwiki .
PmWiki 2.0 est en développement depuis plus d'un an, avec plus de 80 versions de développement. De plus le 'cookbook' de la version 2.0 continue de s'étoffer, et comporte actuellement plus de 200 fiches et d'autres sont en préparation.
Non disponible à la mise sous presse: Que ceux qui seraient déçus que les fonctionnalités qu'ils jugent "indispensables" ne soient pas présentes dans la révision 2.0.0, se rassurent. La révision 2.0.0 n'est pas la fin du développement,mais seulement une base stabilisée pour la poursuite des améliorations. Même si quelques fonctionnalités (par ex., pages de discussion/commentaires, table des matières, autorisations sur des groupes, liens arrière et catégories plus rapides) ne sont pas dans la révision 2.0.0, je suis sûr que nous en sommes à un point ou ces possibilités pourront être ajoutées lors des révisions 2.0.x avec un impact minimal sur les sites 2.0 existants. Et si ce n'est pas le cas, nous repartirons en révision 2.1. :-)
Mise à jour vers 2.0.0: Beaucoup de sites sont restés relativement à jour avec les dernières version beta de la révision 2.0; pour la plupart de ces sites, la version 2.0.0 est une révision mineure (cependant, lire les notes plus bas). Pour les sites fonctionnant avec des versions beta antèrieures à la version 2.0.beta44, la révision peut nécessiter un peu plus de travail -- vérifier les Notes De Versions? pour plus de détails. Pour les sites fonctionnant avec les versions 0.6 et 1.0 de PmWiki, voir http://www.pmwiki.org/wiki/PmWiki/UpgradingFromPmWiki1 pour les recettes garantes d'un succès lors de la migration vers PmWiki 2.0.0.
PmWiki 2.0.0 comporte certains changements par rapport à la version précédente (beta55):
NDT : Maintenant, il faut traduire en Français ces améliorations...
Et pour la suite: J'ai prévu de travailler sur la mise à jour 2.0.0 des versions internationales -- beaucoup des éléments d'internationalisations ont cessé de fonctionner à partir de la version beta 44 et ont besoin d'un nettoyage. En parallèle avec ceci sont prévues des améliorations et nettoyages sur les pages de pmwiki.org, de même qu'une réponse aux entrées importantes du PITS. Après ceci viendra des améliorations fonctionnelles, incluant des pages de commentairess, l'édition de section, et des possibilités d'indexation/recherche améliorées.
Merci: Tous mes humbles et sincères remerciements à tous ceux qui ont contribué avec beaucoup de leur temps, de leurs idées, opinions, écriture et code pour PmWiki. Je sais que la page PmWiki:Contributors est largement obsolète, aussi si vous avez participé un tant soi peu au développement de base de PmWiki, ne soyez pas timide ou modeste -- n'hésitez pas à vous inscrire à la liste pour vous associer à ce remarquable groupe.
Et, comme toujours, les commentaires, suggestions, questions, et rapports d'erreurs peuvent être signalés sur la liste de diffusion ou sur le PmWiki Issue Tracking System.
Merci encore,
Pm
J'espérais sincèrement que la révision suivante serait la 2.0.0, mais ça n'a pas marché comme ça. Ce qui doit réellement être fait maintenant est de finir le nettoyage de la documentation.
Cette révision comporte nombre de changements importants et de correction. D'abord, 'value=' wikistyle fonctionne de nouveau, ayant été cassé dans une version précédente. Les StylesWiki acceptent désormais des points et des parenthèses dans les valeurs,
donc les éléments tels que "1.5em" et "rgb(255,255,255)" fonctionnent. Il y a un nouveau stype wiki "%cframe%
", qui centre le contenu dans un cadre de 200 pixels (ceci peut être ajusté avec le paramètre "width=" dans le style wiki).
La directive (:include:)
permet désormais la recherche d'une inclusion dans une liste de pages; la première page qui existe est sélectionnée. Ainsi la balise
(:include Page1 Page2 Page3:)
inclue le contenu de la première des pages disponible parmi Page1, Page2, ou Page3.
La balise [@...@] est désormais la balise de texte "preformatté". Elle peut être utilisée à la place de la balise 'espace' [=...=]
pour générer des blocs de texte preformatté et de texte brut. Elle est aussi plus performante dans la gestion des retour de ligne surnuméraires dans le bloc [@...@], de manière à ce qu'il n'y ait pas trop d'espace vertical indésiré dans l'affichage.
Et à propos d'espace vertical indésiré, la gestion par PmWiki des "ligne blanches" dans le texte source a été quelque peu modifiée. Dans les version précédentes de PmWiki, quelques directives
(par ex., (:comment:), (:keyword:), (:noleft:), (:if:)
) aboutissaient dans des lignes blanches dans le texte source, ce qui génerait un espace vertical dans l'affichage. Dans cette révision, seules les lignes qui sont blanches dans le texte source (avant interprétation) génèrent un espace vertical dasn l'affichage. ceci est plus évident pour les auteurs et permet des séquence de balises plus propres.
ceci peut avoir des effets sur certains auteurs de recettes. Si une balise spéciale crée une autre balise wiki à interpréter ultérieurement par PmWiki, et que la balise produite contient des lignes blanches destinées à l'espacement vertical dans l'affichage, alors la balise spéciale doit produire soit un tag '<:vspace>' ou appeller la fonction PVS() pour convertir les espace verticaux en tags (Pour plus de détails ou de l'aide, demander sir la liste de diffusion.)
Certains ont noté que le site pmwiki.org a désormais un nouveau thème; une variante de ce thème est supposée devenir le thème par défaut dans la prochaine révision. Le thème de la version 2.0.beta sera disponible en téléchargement dans le Cookbook pour les sites qui veulent continuer à l'utiliser.
Cette version réhabilite ?action=search, de manière à permettre les recherches dans le contexte d'une groupe ou de la page courante. Elle modifie aussi la directive (:searchbox:)
pour permettre une option "group=" pour limiter la recharche à certains groupes.
Cette version comporte nombre de corrections mineures et introduit des améliorations dans la gestion d'images. La majeure partie des améliorations est décrite dans la page PmWiki.Images. Les autres changements sont dans le ChangeLog.
Cette version corrge un problème introduit par la fonction "Enregistrer et éditer" introduite dans la version 2.0.beta44 -- Les envois fait avec "Enregistrer et éditer" ne tiennent pas compte de blocklists, urlapprovals, et de l'édition simultanée.
Pour les administrateurs et les auteurs de recettes qui utilisent les fonctionnalités d'édition, elles sont désormais contrôlées par la variable $EnablePost. Mettre $EnablePost à zéro supprime l'édition --
précédemment ceci était généralement fait avec unset($_POST['post'])
.
Si nécessaire, un message justifiant la suppression de l'édition peut être plaçé dans le tableau $MessagesFmt.
Cette révision propose deux amélioration majeures dans la sémantique des autorisations de PmWiki:
1. Le tableau $HandleAuth peut être utilisé pour définir le niveau d'autorisation requis pour exécuter l'action correspondante. Par exemple,
définir $HandleAuth['diff'] à 'edit' signifie que le niveau d'autorisation d'édition est requis pour voir l'historique de page (?action=diff
). De manière similaire,
définir $HandleAuth['source'] à 'admin' signifie que seul l'administrateur peut utiliser ?action=source
.
2. Les mot de passent sont désormais attribués en "cascade" -- c'est à dire que si une page définit un mot de passe de lecture, mais pas de mot de passe d'édition, à ce moment là, le mot de passe de lecture est requis pour pouvoir éditer. De manière similaire, si une page définit un mot de passe d'édition, mais pas de mot de passe pour la définition des mots de passe (...), alors le mots de passe d'édition est requis pour pouvoir modifier les mots de passe.
Eci évite les situations ou les auteurs définissent une mot de passe d'édition sur une page mais ne donnent pas de mot de passe correspondant pour modifier les mots de passe.
Ceci ne modifie pas les autres caractéristiques des mots de passe PmWiki -- c'est à dire, les mots de passe de page prennent le pas sur les mots de passe de groupe, et les mots de passe de groupe prennent le pas sur les mots de passe de site. La mise en cascade des mots de passe est seulement utilisée quand il n'y a pas de mot de passe de page, groupe ou site défini pour un niveau d'autorisation donné.
Cette révision ajoute un entête de Content-Disposition: pour les sites qui ont désactivé les téléchargements directs (remplissent automatiquement le nom de fichier du navigateur pour un tel téléchargement). Elle corrige aussi quelques problèmes avec la balise \\ à la fin des lignes.
Cette révision comporte nombre d'importants changements, et est, espérons-le, la dernière revision "majeure" avant la 2.0.0.
Avec cette révison on trouve un script spécial transition.php qui reconfigure PmWiki pour le faire fonctionner de manière identique aux révisions précédentes. Dans les notes ci-dessous, les changements gérés par le script de transition sont notés par [ ]. Ce script de transition script est automatiquement chargé par défaut de manière à ce que l'administrateur du site n'ai rien à faire pour l'utiliser.
Le script de transition script fournit aussi des options de diagnostic pour informer les administrateurs des endroits ou il peut y a voir des données ou fonctions obsolètes, et comment modifier le paramétrage pour la mise à jour.
PmWiki définit maintenant des styles CSS de façon à ce que les images d'une page soient affichées sans bordure (la valeur par défaut du HTML et une bordure de 1-pixel). Pour revenir au comportement antérieur, ajouter ce qui suit dans le fichier local/config.php:
$HTMLStylesFmt
['img'] = ' img { border:1px solid; } ';
$ImgTagFmt="<img src='\$LinkUrl' style='border:0px;' alt='\$LinkAlt' />";
Avec cette révision est proposé officiellement le groupe "Site" objet de discussions sur la liste de diffusion. Le groupe Site est destiné à gérer un ensemble varié de pages utilitaires et de configuration utilisée par PmWiki, et nombre de pages de PmWiki ont été déplaçées du groupe "Main" vers ce nouveau groupe. Plus de détails ci-dessous.
La modification principale de cette révision est sont support des formulaires d'entrée. Notamment, La page d'édition peut désormais être définie en utilisant des balise wiki dans la page Site.EditForm page. ( [ ] Cependant, PmWiki continue à respecter la variable $PageEditFmt
pour les sites ou les thèmes qui ont personnalisés les pages d'édition.)
La page d'édition comporte désormais une ligne de "résumé des modifications" ou les auteurs peuvent résumer la nature de leurs éditions. La page d'édition peut désormais comporter un bouton "Enregistrer et éditer" pour enregister les changements mais continuer à éditer, et un bouton "Annuler" pour abandonner les modifications.
La variable $EditMessageFmt pour affichier des messages aux auteurs est désormais le tableau $MessagesFmt, qui peut être utilisé avec la balise (:messages:). [ ] Le script de script déplace les messages de $EditMessageFmt vers $MessagesFmt pour maintenur un fonctionnement correct.
Nombre d'emplacements de pages traditionnels ont été déplaçés vers le groupe Site, dont beaucoup sont gérées par le script de transition:
La variable $PagePreviewFmt
n'existe plus dans PmWiki standard (elle est désormais gérée par Site.EditForm). [ ] Cepedant, pour préserver la compatibilité avec les versions antérieures elle peut être créée par le script de transition dans certaines situations.
La substitution de $PageName (obsolète depuis la version 2.0.devel14) est désormais abandonnée. Utilisez $FullName à la place.
Les boutons de l'interface peuvent avoir des raccourcis clavier associés.
Les boutons de l'interface sont désormais affichés avec la directive (:e_guibuttons:)
dans Site.EditForm, au lieu d'être liés à $EditMessagesFmt.
Cette révision offre désormais la possibilité de personnalisations pour un utilisateur ou un navigateur spécifique, comprenant des raccourcis clavier et des tailles de formulaires. Plus de détails seront donnés ultérieurement dans la documentation.
Cette révision ajoute les directives standard (:noleft:)
et (:noright:)
pour supprimer l'affichage des menus droite et gauches (ce qui dépends des fichiers de configuration de thèmes).
This release adds the long awaited (:div:)
markup. The format of
the markup is
(:div:) ... (:divend:)
Attributes (e.g., id='name'
and class='class'
can be supplied
to the (:div:)
directive. (:div:)
lives in the same markup
layer as advanced tables (:table:)
, so divs and tables do not
nest, and any div or advanced table directive ends any previous
(:div:)
. (We may change this in a future release; for now we'll go
with the non-nesting version.)
The release also adds a div shortcut, any line beginning with >><<
marks a new div section. In addition, wikistyle specifications
can go between the >> and <<, thus >>bgcolor=#ffffdd<<
will create
a division with a light yellow background. Similarly, one can
do things like >>id=foo<<
, >>class=bar<<
, and even make
use of author-defined wikistyles such as >>center<< or >>Don<<.
Lastly, the wikistyle code now supports %id=name%
, which
allows an HTML id='name'
attribute to be added to the
affected text.
This minor release adds the (:if attachments:)
conditional markup, to include/exclude markup based on the (non)existence of attachments to the current page.
This is a minor release with some small bugfixes to uploads, adding the ability to set the item number for ordered lists with %item value=nn%
, and enabling nested Keep()s for module writers.
This very minor release simply updates the authuser.php script to support Apache MD5 encryption in .htpasswd files.
This release primarily fixes some bugs with wikistyles and their interactions with block structures such as tables and headings. In addition, the release fixes some nagging errors with opening directories in PITS and other recipes.
This release also adds definition lists to the available syntaxes for building WikiTrails.
Finally, this release adds scripts/authuser.php, which is a preliminary script for user-authentication based on .htpasswd (and similarly formatted) files.
This version performs a minor bug fix to the ListPages() function for those sites that are storing pages in per-group subdirectories.
Cette version corrige quelques erreurs mineures et apporte quelques amélioratons:
Cette version corrige un bug important qui excluait des termes dans le code pagelist, et un petit bug avec la génération de cellules s'il y a des espaces après le '||' final dans un tableau simple.
Cette version corrige quelqhues bugs dans le code récent de pagelist.
Cette révision apporte une révision majeur du fonctionnement du script pagelist.php, qui supporte les balises
(:pagelist:)
et (:searchresults:)
. Cette version
supporte maintenant un paramètre link=
pour renvoyer des pages avec des liens vers une page cible (i.e., "backlinks"). Nous avons aussi les paramètres "order=" et "count=" qui peuvent être utilisés pour trier les pages listées et limiter la longueur d'affichage.
Cependant, ces changements font qu'il est possible que certaines personnalisations locales ou certains modules ne fonctionnent pas, aussi soyez prudents lors d'une mise à jour.
Cette révision optimise aussi l'affichage des liens et répare un problème de performance dans la fonction FmtPageName(). Ces changements améliorent a vitesse d'affichage des pages jusqu'a 40%.
Ce qui reste avant la révision officielle 2.0: reprise de la page d'édition, ajout d'une fonction de commentaire, et correction de la documentation.
Finalement, les séquences finales ?> ont été supprimées de tous les scripts pour simplifier l'installation sur VMS et d'autres environnements qui ont des problèmes avec les sauts de lignes après les ?> fermants.
La version beta32 ajoute la variable $RCLinesMax, qui limite le nombre maximum de lignes qui sont sauvées dans les fichiers RecentChanges (TousLesChangements et ChangementsDuGroupe). La valeur par défaut est zéro, qui correspond à "aucune limite".
Cette révision ajoute la possibilité de stocker et afficher les attachements (uploads) depuis des répertoires qui ne sont pas directement accessibles au serveur Internet.
L'action "download" (?action=download
) dit à PmWiki de récupérer un attachement associé à la page courante. Ceci peut être utilisé pour protéger les attachements par un mot de passe de page, ou pour contourner les serveur Internet qui ne peuvent pas accéder aux fichiers dans le répertoire uploads/ créé par PmWiki.
directories.
Definir $EnableDirectDownload
=0; dit à PmWiki de générer des liens ?action=download
pour récupérer les attachements au lieu d'accéder directement par le serveur Internet. Notez que cette configuration ne peut en elle-même protéger le répertoire de téléchargement; on doit aussi configurer les serveur Internet ou le répertoire uploads/ pour bloquer les accès directs aux fichiers attachés.
Cette révision ajoute aussi la variable $EnableFixedUrlRedirect. Quand PmWiki recoit une url avec une "nom de page partiel" (tel que le nom du groupe Wiki), il détermine d'abord le "nom complet" pour la page. Normalement PmWiki envoie ensuite un "redirect" au navigateur demandant à celui-ci de recharger la page suivant le nom complet "officiel" de la page, mais mettre $EnableFixedUrlRedirect à zéro supprime le rechargement et la page est donc envoyée immédiatement (et l'url d'accès à la page est donc conservée).
Cette révision contourne quelques problèmes avec les sessions PHP résultant en des verrrouillages de tâches web. Les changements introduits dans le code des autorisations de la révisions 2.0.beta29 ont sérieusement augmenté les risques de tels verrouillages, aussi tous les sites opérant la révision 2.0.beta29 sont incités à mettre à jour vers cette version.
Cette révision modifie aussi la gestion des MotsWiki de manière à ce que les motswiki ne soient plus espacés si la variable $LinkWikiWords
est désactivée.
Enfin, cette révision ajoute $PageTextStartFmt et
$PageTextEndFmt pour permettre des personnalisations locales du container autour de <!--PageText-->
dans les thèmes.
Cette révision comporte des modifications importantes dans les autorisations et le stockage des pages, aussi les sites opérationnels peuvent attendre la découverte et la correction des nouveaux bugs avant de faire une mise à jour. Ou alors, allez-y mais soyez prêt à une marche arrière vers la révision beta28 ou antérieure si vous avez des problèmes.
Cependant, j'ai besoin de nombreux testeurs pour les nouveautés de cette révision, qui sont substantielles. Et donc j'apprécierai grandement l'aide que peuvent apporter les gens qui testent et suggèrent des améliorations. Je recherche particulièrement des idées en ce qui concerne les interfaces et comment en faciliter la compréhension.
Le formulaire des attributs de page (obtenu par ?action=attr et utilisé pour définir le smots de passe) a été amélioré de telle sorte qu'il est maintenant possible de voir quels mots de passe ont été définis, et si ces mots de passes viennent des valeurs par défaut du groupe ou du site. Par exemple, voir http://www.pmwiki.org/wiki/Test/AttrExample?action=attr . Ces messages ne sont pas encore traduits -- Je veux que l'interface en anglais soit d'abord finalisée et ensuite nous définirons les chaînes de traduction.
Des mots de passe multiples (séparés par des espaces) peuvent désormais être définis pour les pages et les groupes, ainsi entrer "un deux" comme mot de passe signifie que 'un' ou 'deux' seront acceptés. De ce fait, les mots de passe ne peuvent pas contenir de blancs (J'espère que ceci ne sera pas une grande perte -- faites moi savoir si c'est le cas).
Le champ de demande de mot de passe est maintenant présenté avec un thème normal. (c'est à dire avec entête, menu, pied de page); précédemment les formulaires de mot de passe n'étaient pas décorés et apparaissaient seuls dans la fenêtre du navigateur
Il y a une balise conditionnelle (:if auth ...:) disponible pour faire des actions dépendantes des autorisations en cours. Par exemple, on peut créer une liste à puce avec
(:if auth read:)* [[Voir page -> {$Name}?action=browse]] (:if auth edit:)* [[Editer page -> {$Name}?action=edit]] (:if auth upload:)* [[Attachements -> {$Name}?action=upload]] (:if auth attr:)* [[Attributs de page -> {$Name}?action=attr]] (:if auth admin:)* Vous êtes logué comme administrateur (:ifend:)
et seuls les items correspondants aux autorisations en cours pour l'utilisateur vont apparaître. Ceci sera très utile pour créer des boutons correspondant aux actions.
Assuming there's already some mechanism in place for identifying and authenticating someone, pages can specify a password field of "id:xyz", which means to allow only user "xyz" the specified access. For example, specifying an edit password of "id:alice" means that only user "alice" (and the admin) is allowed to edit the page. Multiple ids can be specified as either "id:alice,bob,carol" or "id:alice id:bob id:carol". The special value "id:*" is used to mean any authenticated user, and users can be excluded via the minus sign, as in "id:-eve,*".
User-based authentication can completely coexist and mix freely with password-based authentication, thus an edit password of "id:alice glorp" will allow Alice and anyone who knows the password "glorp" to edit the page.
2.0.beta29 supports only REMOTE_USER authentication; future releases will add other authentication mechanism.
Cette révision comporte des améliorations importantes à la fonction attachements/téléchargements de PmWiki. Les améliorations comportent:
Attach:nompage/fichier.ext
. "nompage" peut renvoyer à des pages d'autres groupes.
(:attachlist:)
accepte désormais des paramètres; ext= peut être utilisé pour limiter la liste des attachements à des extensions spécifiques, et on peut fournir un nom de page pour obtenir les attachements de cette page (par ex., (:attachlist Groupe.NomPage:)
.
Cette révision comporte un certain nombre de changement mineurs et de corrections. Les changement les plus importants sont listés ci-dessous.
[=...=] |
... |
{$FullName}
.
$MetaRobots
.
Cette révision ajoute la possibilité d'avoir des modèles d'édition, c'est à dire que les administrateurs de site peuvent définir le texte par défaut des nouvelles pages. Plus de détails (en anglais) sur Cookbook:EditTemplates.
Cette révision comporte une correction importante dans l'exécution des paramètres QUERY_STRING, et change la manières dont les PagesNonTrouvées sont générées. Ceci est nécessaire pour éviter que les robots (notamment celui utilisé par inktomi) génèrent de longues séquences de liens vers des pages inexistantes.
Cette révision ajoute aussi la fonction ParseArgs()
pour faciliter la séparation des paramètres de directives pour les modules du cookbook et d'autres composants. La documentation pour cette fonction sera fournie dans Cookbook:ParseArgs.
Les balises de liste ont été modifiées de manière à supprimer tout espace unique qui suit la balise.
Un commutateur $EnablePostAttrClearSession a été ajouté pour contrôler si la modification des attributs d'une page entraîne ou non l'oubli des mots de passe déjà saisis; ceci peut être modifié en mettant $EnablePostAttrClearSession à zéro.
Cette révision apporte quelques améliorations.
Tout d'abord, le système de gestion des mots de passe a été amélioré pour limiter la confusion dans la gestion des mots de passe (d'autres améliorations sont prévues). Auparavant PmWiki gardait en mémoire tous les mots de passe saisis lors de la session de navigation courante. Dans cette révision, modifier un mot de passe fait que PmWiki "oublie" tous les mots de passes entrés préalablement, évitant ainsi la confusion due au fait qu'une page apparaît non protégée alors qu'en fait l'accès est autorisé par un mot de passe enregistré auparavant.
Cette révision ajoute l'option $EnablePageListProtect
. Quand activée, les directives (:pagelist:)
et (:searchresults:)
exclueront les pages n'ayant pas d'autorisation de lecture.
Cette révision apporte quelques améliorations et quelques corrections d'erreurs.
Le code de chargement des thèmes (skins) a subi quelques améliorations et a été réécrit pour une bonne part, mais ceci ne devrait pas avoir d'effet sur les thèmes existants. La variable $BasicLayoutVars n'est plus utilisée. Cette version introduit la fonction SetTmplDisplay() qui facilite une adaptation personnelle permettant de désactiver certaines sections d'un thème.
L'écran de demande de mot de passe a été modifié de manière à ce que le curseur soit automatiquement placé dans le champ lorsque la page est chargée.
L'action ?action=source a été corrigée pour les pages contenant des caractères non-ASCII.
La barre de boutons peut désormais utiliser des boutons contenant des élément HTML quelqconques (par ex., pour les boutons "sauver" et "prévisualisation").
Il y a d'autres modification notées dans le PmWiki/ChangeLog (en anglais).
[[page:]]
et [[linebreaks]]
des recettes du cookbook (suggéré par C. Ridderström et P. Ogay).
Cette version a un nombre de changements relativement mineurs.
D'abord, la variable $UrlLinkFmt
a été modifiée de manière à ce que les liens aux urls externes contiennent l'attribut rel='nofollow', pour aider à lutter contre le spam comme décrit (en anglais) dans http://www.google.com/googleblog/2005/01/preventing-comment-spam.html. Les administrateurs de site peuvent adapter $UrlLinkFmt
et $UnapprovedLinkFmt de façon à définir ou omettre rel='nofollow' selon la nécessité.
l'algorithme de création des noms de pages avec les [[liens libres]]
a été légèrement modifié. d'abord les lettres suivant un tiret ne sont plus automatiquement capitalisées, donc [[ci-joint]]
renvoie vers une page nommée "Ci-joint" et non "Ci-Joint". ceci est plus conforme à ce qui se faisait dans la version 1. D'autre part, l'apostrophe ne force pas la capitalisation de la lettre qui suit, donc [[L'artiste]]
renvoie vers Lartiste
et pas vers LArtiste
.
Les sites qui souhaitent conserver le comportement antèrieur de PmWiki2 peuvent le faire avec :
$PageNameChars = '-[:alnum:]'; $MakePageNamePatterns = array( "/[^$PageNameChars]+/" => ' ', "/(\\b\\w)/e" => "strtoupper('$1')", "/ /" => '');
Le fichier de liens intersites localmap.txt peut maintenant comporter des commentaires (préfixés par '#' dans le fichier).
Les en-têtes (balises !!) peuvent maintenant comporter des styles wiki de bloc.
Plus d'informations (en anglais) dans PmWiki.ChangeLog.
PmWiki utilise les sessions PHP pour suivre les mots de passe et les autorisations de page; cependant, si une session expire (ou est perdue autrement) alors qu'un auteur est en cours d'édition d'une page protégée par mot de passe, l'édition peut être perdue lors de la demande de renouvellement de mot de passe. Cette version corrige ce problème en préservant le texte édité et les autres variables de formulaires lors de la demande d'un mot de passe.
Cette révision améliore la barre de bouton d'édition, corrige quelques bugs et apporte d'autres changements et améliorations mineures.
Un texte alternatif est désormais valide dans les cheminements WikiTrails; par ex., on peut utiliser <<|[[PageTrail | autre texte]]|>>
pour changer le texte du lien vers la page de cheminement.
Le module de la barre de bouton d'édition comporte de nombreux changements.
Cette révision élimine aussi les balises <p>...</p> qui étaient générées autour des lignes contenant d'autres balises de blocs HTML (par ex. résulats de recherche, listing de page, formulaires). Ceci rend ces pages conformes au standard HTML et elles passent la validation du W3C.
$HTMLHeaderFmt
a été modifié afin que les concepteurs de thèmes puissent invalider totalement les styles 'inline' utilisés par PmWiki et d'autres modules du coolbook. Pour désactiver les styles 'inline', utilisez $HTMLHeaderFmt['styles'] = '';
.
Finalement, cette révision répare un appel à la fonction setlocale() qui était supposé retourner la valeur courante de 'locale' mais en fait la modifiait.
Cette révision corrige simplement quelques bugs mineurs des les StylesWiki (les couleurs définis dan s les styles s'étendent aux ancres), les tableaux de mots de passe par défaut et la gestion des tableaux évolués.
Corrige l'oubli de la fonction requise pour la gestion des boutons d'édition.
L'amélioration principale de cette révision est l'addiation de boutons dans la fenêtre d'édition. Ceci est désactivé par défaut -- Pour l'activer, définir dans le fichier config.php.
$EnableGUIButtons
= 1;
Si votre site personnalise la variable $PageEditFmt
, then notez que les boutons sont plaçés à la fin de $EditMessageFmt et que <textarea> doit avoir id='edit'
pour permettre auxboutons de fonctionner.
Le script rss.php a aussi été amélioré -- il transcrit désormais les entités (du HTML 4) en leurs équivalent numériques. Ceci élimine beaucoup d'erreurs de validation des flux et de problème avec les lecteurs de flux RSS.
Cette version ajoute la variable $Titlespaced variable et la balise {$Titlespaced}
; $Titlespaced est remplacé par le titre de la page (s'il est défini par la directive (:title:)
) ou par le nom de la page avec des espaces.
Enfin, nombre d'erreurs avec les styles wiki? ont été corrigées.
Cette révision apporte un certain nombre d'optimisations et améliorations mineures, résumées ci-dessous. Si vous n'en comprenez pas la nature, elles ne vous affecteront probablement pas. :-)
style='border:0px;'
au lieu de border='0'
.
$PageEditFmt
inclut maintenant id='text' pour faciliter le référencement/la mise en page.
Cette révision répare un bogue introduit en 2.0.beta7 qui empêche le script refcount.php (exécuté par ?action=refcount) de générer des liens valides. Elle nettoie aussi la gestion des StylesWiki et %-dans-les-urls (ce que la version 2.0.beta7 était supposée faire).
En général, tous les sites utilisant la série 2.0.betaXX sont invités à mettre à jour suivant cette dernière révision.
Cette révision ajoute nombre de balises <div> et d'identificateurs autour des éléments produits par PmWiki (c.a.d. les téléchargements, les résultats de recherche, les attributs de page, etc.). Ceci facilite la mise en forme par des feuilles de style CSS.
De plus, cette révision ajoute des fonctionnalités au script urlapprove.php pour limiter le nombre de liens non approuvés qui peuvent être sauvés avec une page (pour aider le combat contre le spam wiki).
Enfin cette révision ajoute la balise (:description:)
pour générer la balise html <meta name='description' ... /> dans la sortie. (:description:)
pourra aussi être utilisée pour d'autres fonctions à venir (c.a.d. des extraits de de résultats de recherche, etc.).
Cette révision nettoie d'abord nombre de points liés au téléchargement:
(:attachlist:)
ajoute automatiquement les liens "remplace-attachements" (marqués par des triangles) aux items de la liste.
Cette révision modifie aussi la fonction StopWatch() (utilisée de manière interne pour des test de performance de PmWiki) de facon a ne prendre effet que si $EnableStopWatch est mis à 1 (horloge de base) ou 2 (horloge de base et temps d'exécution des routines).
Cette révision améliore significativement la procédure d'installation. En prmier lieu, les étapes d'installation ont été simplifiées, et PmWiki fournit des instructions appropriées quand l rencontre un environnement PHP "safe_mode".
Cette révision fournit aussi un meilleur traitement des fichiers '.flock' -- si PmWiki découvre qu'il ne peut ouvrir un fichier .flock en écriture, il efface le fichier et recommence au lieu de se plaindre. Ceci rend le système plus robuste lors des sauvegardes et récupérations.
Cette révision fournit des corrections mineures sur la balise [[target |#]]
, l'apparence des variables $... dans la documentation, et permet à uploads.php de mieux fonctionner avec l' url rewriting.
Cette révision propose un certain nombre de changements significatifs. D'abord et avant tout, il change la syntaxe uri de ?pagename=
vers ?n=
, et l'installation est maintenant définie par défaut avec $EnablePathInfo
= 0; pour avoir une melleures compatibilité.
Les sites qui veulent continuer à utiliser la forme des uri .../Main/HomePage
au lieu de ?n=Main.HomePage
devraient mettre $EnablePathInfo
= 1 dasn le fichier config.php.
Cette révision corrige un bogue probable dans la manipulation des noms d'auteurs qui supprimait de manière incorrecte les espaces.
2.0.beta8 inclue des fonctionnalités de style CSS avancées pour les tableaux simples? avec les variables $TableRowAttrFmt
et $TableCellAttrFmt
, ce qui sera décrit dans une astuce à venir.
Aussi, cette révision améliore grandement le support des sites en UTF-8, incluant la possibilité d'avoir des caactères UTF-8 dans les noms de pages et les liens [[utf-8 links]]
. Il reste du travail sur les détails pour permettre le support des MotsWiki UTF-8 -- les fonctions PHP n'ayant pas un bon support pour celà. Voir les scripts/xlpage-utf-8.php pour plus d'informations sur l'UTF-8.
Enfin, les balises Q: et A: sont de retour, et quelques autres corrections mineures et des améliorations sur la documentation improvements ont été ajoutées.
Cette révision comprend nombre d'améliorations. D'abord, elle fournit un fichier scripts/xlpage-utf-8.php, qui permet à PmWiki d'être capable de gérer à peu-près la police utf-8 dans les noms de pages. Comme les fonctions PHP's preg_* ne semblent pas capable de détecter les caractères alphanumériques UTF-8, le compromis est que les MotsWiki sont restreint à l'usage des caractères ASCII. Nous travaillons au contournement de cette restriction.
Le script xlpage-utf-8.php peut être automatiquement chargé par une XLPage? qui spécifie 'xlpage-i18n' => 'utf-8'.
Aussi dans cette révision:
[[cible |#]]
)
$DefaultPageTextFmt
(ceci pourrait encore changer)
Cette révision comprend un certains nombres de corrections mineures (voir le ChangeLog), et il reprend la function $WikiWordCount
de PmWiki 1 par laquelle un administrateur peut limiter le nombre de conversions de chaque Mot(s)Wiki.
Le fichier d'exemple sample-config.php a été mis à jour avec plus de commentaires et de suggestions de personnalisation.
Enfin, cette révision accroit la valeur par défaut de $MaxIncludes
à 50 (et fournit une meilleure documentation sur la variable $MaxIncludes
).
Cette révision répare les bogues introduits par les changements de la révision 2.0.beta3. Les utilisateurs de la 2.0.beta3 devraient faire une mise à mettre à jour.
Cette révison fournit une version simple de la directive (:attachlist:)
(il n'y a pas encore de tri disponible et la syntaxe est appelée à évoluer), et des corrections ont été apportées aux pages PmWiki.EditQuickReference et PmWiki.UploadQuickReference pages. Des pages par défaut sont aussi fournies pour verrouiller les mots de passe dans le groupe Main et PmWiki. Les extensions en majuscules ".GIF", ".JPG", et ".PNG" sont autorisées dans les fichiers.
De manière interne, cette révision change aussi la séquence d'édition pour utiliser la variable autoglobale $_POST au lieu de $_REQUEST (i.e., les envois d'édition ne sont autorisés qu'avec la methode 'post' et non avec les chaînes de paramètres).
Cette révision répare les bogues causés par le fait que $PageTemplateFmt ne fonctionne plus dans pmwiki-2.0.beta1.
Cette révision marque l'entrée de PmWiki 2.0 dans le statut "beta", alors qu'il avance vers une révision offcielle. Le changement principal de cette révision est dans le code des thèmes (skins) -- les versions précédentes de PmWiki utilisaient $PageTemplateFmt pour spécifier l'emplacement des fichiers modèles et maintenant la variable $Skin
est utilisée pour indiquer le répertoire qui contient (dans pub/skins/) les fichiers modèles, le script php de configuration, et d'autres fichiers.
En général, si vous aviez précédemment la variable $PageTemplateFmt définie comme "pub/skins/myskin/myskin.tmpl", maintenant vous pouvez simplement mettre $Skin
='myskin'. Voir BasePourLaMiseEnPage pour plus de détails.
Traduction de PmWiki.ReleaseNotes
Page originale sur PmWikiFr.ReleaseNotes - Référencé par
Dernières modifications:
PmWikiFr.ReleaseNotes: 10 September 2011 à 17h40
PmWiki.ReleaseNotes: 30 September 2013 à 23h52