Weil ich das sowieso schonmal ewig machen wollte:
Ich habe mal die erste Variante umgesetzt, allerdings mit Linux (Ubuntu) und den mitgelieferten Bordmitteln, als bash-Script.
Das Script enthält folgenden Code:
#!/bin/bash
AELTERALS=730 # Dateien die jünger sind als diese Anzahl der Tage werden nicht aufgelistet (730 Tage -> 2 Jahre)
DATENPFAD=/var/www/html/dokuwiki/data/pages # Pfad zum pages-Verzeichnis im data-Ordner des Wikis
WIKILISTE=$DATENPFAD/wiki/alte_artikel.txt # Wiki-Seite, auf der die Liste angezeigt wird. VORSICHT: Der bisherige Inhalte dieser Seite wird gelöscht, daher sollte der Name einer Seite verwendet werden die es bisher nicht gibt.
TEMPLISTE=/tmp/alte_artikel.txt # Temporäre Arbeitsdatei. Wird am Ende des Skripts wieder gelöscht.
# Alte Dateien finden und in der Datei speichern die in TEMPLISTE angegeben wurde. Der Teil hinter printf formatiert die Ausgabe. grep sorgt dafür, dass nur Textdateien in die Ausgabe geschrieben werden.
find $DATENPFAD -mtime +$AELTERALS -ls -printf "%TY-%Tm-%Td%p\n" | sort | grep \.txt > $TEMPLISTE
# Alle Zeilen löschen, die mit zwei Leerzeichen beginnen
sed -i '/^ /d' $TEMPLISTE
# Alle Zeilen löschen, die mit zwei Leerzeichen beginnen
sed -i '/^ /d' $TEMPLISTE
# Ersten Teil des Pfads durch Spaltentrennzeichen und öffnende Linkklammern ersetzen
sed -i "s,$DATENPFAD,|[[:,g" $TEMPLISTE
# Pfad in DokuWiki-Link umwandeln
sed -i 's,/,:,g' $TEMPLISTE
# .txt-Dateiendung entfernen
sed -i 's,\.txt,,g' $TEMPLISTE
# schließede Linkklammern ans Ende jeder Zeile einfügen
sed -i 's/$/]]/g' $TEMPLISTE
# Einen | am Anfang (^) und Ende ($) jeder Zeile einfügen (für DokuWiki-Tabelle)
sed -i 's/^/|/g' $TEMPLISTE
sed -i 's/$/|/g' $TEMPLISTE
# Am Anfang der Datei eine Tabellenkopfzeile einfügen
sed -i '1i\^Letzte Änderung der Seite\^Seitenname\^' $TEMPLISTE
# Am Anfang der Datei den Seitentitel einfügen
sed -i '1i====== Auflistung von Artikeln, die schon längere Zeit nicht mehr bearbeitet wurden ======' $TEMPLISTE
DATUM=`date +%d.%m.%Y`
echo "Tabelle erzeugt am $DATUM" >> $TEMPLISTE
# Temporäre Datei ins Wiki verschieben
mv $TEMPLISTE $WIKILISTE
Die ersten vier Zeilen enthalten die Konfiguration, mehr muss nicht angepasst werden.
Zum Starten des Scripts muss es erst ausführbar gemacht werden (chmod +x).
Es werden die entsprechenden Berechtigungen benötigt um in das Verzeichnis des Webservers schreiben zu dürfen. Im Zweifel bzw. wenn eine Fehlermeldung ausgegeben wird sollte es dann als root ausgeführt werden.
Das Ergebnis sieht dann so aus:
https://wiki.einsatzleiterwiki.de/doku.php?id=wiki:alte_artikel (die Seite wurde nicht nachbearbeitet, sondern genau so vom Script erzeugt).
Wenn man einen Cronjob für das Script anlegt, könnte man es zeitgesteuert auch einmal pro Tag oder Woche ausführen, damit die Liste immer aktuell ist.
Viele Grüße,
Christoph