Bonjour,
Nous souhaitons sur notre (Doku)wiki pouvoir utiliser la fonctionnalité 'Derniers changements' de manière avancée. En effet, nous souhaiterions pouvoir exclure un namespace particulier dans la liste des derniers changements. Cela pourrait se faire sur le bouton 'Derniers changements' présent sur chaque page (du design par défaut), ou encore en créant un autre bouton spécifique à l'exclusion de ce namespace.
En regardant le code, j'ai l'impression que tout (ou presque) est déjà là pour permettre ce genre de chose. On peut en effet restreindre la recherche des derniers changements à un namespace particulier
changelog.php :
* @param int $first number of first entry returned (for paginating
* @param int $num return $num entries
* @param string $ns restrict to given namespace
* @param bool $flags see above
[...]
function getRecents($first,$num,$ns='',$flags=0){
html.php :
function html_recent($first=0){
[...]
$recents = getRecents($first,$conf['recent'] + 1,getNS($ID));
On voit donc que le code n'utilise pas totalement la fonction getRecents car l'ID passé à la fonction n'est pas l'id de la page en cours, mais bien un id par défaut (global) que je suppute être la page d'accueil du wiki. Ce qui a pour conséquence de faire la recherche des derniers changements sur l'ensemble du wiki.
Comme palliatif, j'ai pour le moment trouvé une seule solution qui consiste à rajouter un id dans l'url sous cette forme :
&id=mynamespace:mypagename
Et qui conduit à n'effectuer la recherche des derniers changements que dans le namespace "mynamespace". Cela est probablement dû au fait que ma bidouille dans l'url amène à modifier la valeur de $ID et donc à modifier les paramètres du traitement.
Ma question est donc de savoir comment généraliser cette solution de manière un peu plus "propre", et éventuellement avec plus de souplesse (tout le wiki, seulement ce namespace, tous le wiki sauf ce namespace...).
Je n'ai pas de vision globale de Dokuwiki me permettant de dire s'il vaut mieux modifier ceci ou cela, ici ou là... Et puis, après tout, peut-être que je viens de trouver un bug ou que ce pourrait être une "feature request" intégrée dans la prochaine version (avec un paramètre supplémentaire dans la page d'administration et de configuration permettant de déterminer si l'on souhaite que la recherche des derniers changements soit effectuées dans tout le wiki ou seulement dans le namespace courant), je suis sûr que ce serait très simple à implémenter.
Merci de vos réponses.