Not logged in. · Lost password · Register
Forum: Non-English Discussion German discussion RSS
[GELÖST] Ordner im Medien Manager werden gelöscht
Wie kann man das beheben?
Avatar
kevin.zhreha #1
Member since Jul 2018 · 49 posts
Group memberships: Members
Show profile · Link to this post
Subject: [GELÖST] Ordner im Medien Manager werden gelöscht
Hallo zusammen

Problem:
Wenn ich einen Ordner erstelle, dann erstellt es auch einen im Medien Manager. (Das was ich auch will)
Leider wird dieser von DokuWiki automatisch gelöscht, da er ja leer ist. (Was normal für DokuWiki ist)

Was habe ich unternommen:
Habe folgenden Artikel gelesen, was mir leider nicht geholfen hat.
https://www.dokuwiki.org/de:media_manager
Wie ich es in Erinnerung habe, sollte es einen neuen Ordner auch im Medien Manager erstelle und diesen behalten?

Aufgefallen ist mir, dass es erst seit der Installation des Image Paste Plugin auftritt.
(Evtl. täusche ich mich auch und ich war bis dahin nur blind)

Danke im Voraus für eure Hilfe.

Gruss - Kev
This post was edited 2 times, last on 2018-10-17, 09:51 by kevin.zhreha.
Avatar
Michaelsy #2
Member since Jun 2015 · 569 posts · Location: Düsseldorf, Germany
Group memberships: Members
Show profile · Link to this post
Ich glaube nicht, dass Namespace-Ordner im Medien-Manager automatisch angelegt werden. (Woraus schließt du das?)

Achte mal auf den Hilfetext beim Upload. Dort steht, dass Namespace-Ordner durch das Einfügen des Namespace vor den Dateinamen angelegt werden.

Im Übrigen arbeite ich meistens über meinen FTP-Zugriff, wenn ich Medien-Dateien hochladen möchte. Das erscheint mir irgendwie übersichtlicher.

Feedback welcome - Michael Sy.
By Patreon.com a few eurons can be fed into the code phasers of
the DokuWiki engine. Besides, Andi's posts are worth reading.
Avatar
pop #3
Member since Nov 2016 · 49 posts
Group memberships: Members
Show profile · Link to this post
Die Ordner im Medien-Manager werden tatsächlich (auch) automatisch angelegt.

Wenn ich ausgehend von der Seite :protokolle:1920:januar den Medien-Manager öffne, bietet dieser an, neue Medien in den NS :protokolle:1920 hochzuladen, unabhängig davon, ob :protokolle oder :protokolle:1920 vorher schon existiert hat.
Avatar
Michaelsy #4
Member since Jun 2015 · 569 posts · Location: Düsseldorf, Germany
Group memberships: Members
Show profile · Link to this post
bietet dieser an, neue Medien in den NS :protokolle:1920 hochzuladen

Danke für die Richtigstellung. Und deine Formulierung ist auch genau die richtige. Die Anlage des Namespace wird nur angeboten. Der entsprechende Ordner (auf dem Server) wird allerdings nicht schon angelegt. Und wenn man diese Gelegenheit verstreichen lässt und nichts hochlädt, und man von irgendwoher anders den Medienmanager aufruft, dann wird man halt den eben angebotenen Namespace (bzw. "Ordner") nicht mehr wiederfinden. Das erklärt die Interpretation von kevin.zhreha.
By Patreon.com a few eurons can be fed into the code phasers of
the DokuWiki engine. Besides, Andi's posts are worth reading.
Avatar
pop #5
Member since Nov 2016 · 49 posts
Group memberships: Members
Show profile · Link to this post
Ich glaube allerdings auch beobachtet zu haben, dass der Medienmanager Ordner im Medienraum löscht, wenn ich alle darin enthaltenen Medien entferne. Allerdings bin ich mir nicht mehr ganz sicher, ob ich das richtig beobachtet habe; ein kleines Experiment könnte Klarheit schaffen, aber ich habe im Moment keine Gelegenheit, ein solches durchzuführen.

Frage an den TE: Warum ist es ein Problem, wenn der Medienmanager leere Ordner wegräumt? Ich sehe keine Situation, in welcher das eine Beeinträchtigung verursachen könnte.
Avatar
Michaelsy #6
Member since Jun 2015 · 569 posts · Location: Düsseldorf, Germany
Group memberships: Members
Show profile · Link to this post
Ich glaube allerdings auch beobachtet zu haben, dass der Medienmanager Ordner im Medienraum löscht, wenn ich alle darin enthaltenen Medien entferne.

Wenn dem so ist und wenn das stört, dann kann man je Namespace eine kleine Dummy-Datei abspeichern.

(Ein ähnliches Problem habe ich mit unserem Festplattenrecorder, der keine Gruppen mit nur einer oder keiner Aufzeichnung zulässt. Die Gruppenbenennung geht dann regelmäßig flöten...)
By Patreon.com a few eurons can be fed into the code phasers of
the DokuWiki engine. Besides, Andi's posts are worth reading.
Avatar
kevin.zhreha #7
Member since Jul 2018 · 49 posts
Group memberships: Members
Show profile · Link to this post
Moin zusammen

@michaelsy

Ich habe einen einen Namespace-Ordner in meinem Wurzel Verzeichnis erstellt und bin dann direkt in den Medienraum gewechselt. Dort habe ich dann gesehen, dass mit dem gleichen Namen auch ein Ordner erstellt wurde.

Wie meinst du dass mit der Dummy-Datei genau? Wie kann ich die automatisch erstellen lassen?

@pop

Danke für die Aufklärung.

Ich habe deine Beobachtung mal getestet. Es stimmt was du sagst.
Sobald man alle Bilder aus einem Ordner im Medienraum löscht, wird dieser auch von DokuWiki gelöscht.

Die einzige Voraussetzung dabei ist aber auch, dass keine root rechte drauf sitzen.

Für mich ist das alle sofern ein Problem, da ich die Ordner im Medienraum brauche. So haben wir in der Abteilung einen besseren Überblick, welche Bilder zu welchem Thema gehören.


Momentan gibt es zwei Lösungen für mich:

 1. Automatisch eine Dummy Datei in neu erstellen Medien Ordner erstellen
 2. Root rechte auf neu erstellte Ordner automatisch verteilen

Wisst ihr wie ich eins von denen am besten hin bekomme?

Danke und Gruss - Kev
This post was edited on 2018-10-10, 09:42 by kevin.zhreha.
Avatar
Michaelsy #8
Member since Jun 2015 · 569 posts · Location: Düsseldorf, Germany
Group memberships: Members
Show profile · Link to this post
Wie meinst du dass mit der Dummy-Datei genau? Wie kann ich die automatisch erstellen lassen?

Z.B. eine ganz kleine Textdatei mit 2 - 3 Byte oder so. Man kann vielleicht auch eine leere Datei nehmen, aber wer weiß, was das für unerwünschte Nebenwirkungen hat.

Diese dann per Medienmanager (oder FTP oder sonstwie) in den fraglichen (Medien-)Namensraum kopieren. Der Effekt: Der Namensraum bzw. Ordner wird niemals leer  auch wenn alle anderen Dateien daraus gelöscht werden.

Automatisch geht das erst einmal nicht, nur manuell. Es sei denn, du implementierst selbst eine Automatik.

HTH - Michael Sy.
By Patreon.com a few eurons can be fed into the code phasers of
the DokuWiki engine. Besides, Andi's posts are worth reading.
This post was edited on 2018-10-11, 14:39 by Michaelsy.
Avatar
kevin.zhreha #9
Member since Jul 2018 · 49 posts
Group memberships: Members
Show profile · Link to this post
Ich bin dran ein Bash Script am schreiben, welches so eine Datei immer in die neue Ordner kopiert.
Das Script werde ich dann hier als Lösung reinschreiben.

UPDATE

Mein Bash Script, welches jede Sekunde vom Crontab ausgeführt wird.

#!/bin/bash

#-Notwendige Verzeichnisse---------------
file=dummy.txt
folders=folders.txt
pages=/var/www/dokuwiki/data/media
scripts=/home/scripts
#-Funktion-------------------------------

#Ordner von Medienmanager in File schreiben
cd $pages
ls -d */ > $scripts/$folders
cd $scripts

#File mit Ordner in Array einlesen
array=($(<$folders))
for wert in ${array[*]}
do
        cd $pages/$wert
        if [ ! -f $file ]
        then
                touch $file
                #echo "dummy" > $file
        fi
done
This post was edited on 2018-10-12, 17:35 by kevin.zhreha.
Avatar
turnermm (Moderator) #10
Member since Oct 2009 · 4399 posts · Location: Canada
Group memberships: Global Moderators, Members, Super Mods
Show profile · Link to this post
Ein Action-Plugin (action.php), das nach dem MEDIA_UPLOAD_FINISH-Event sucht:
<?php

if(!defined('DOKU_INC')) die();
 
 
class action_plugin_writedummy extends DokuWiki_Action_Plugin {
 
    /**
     * Register its handlers with the DokuWiki's event controller
     */
    public function register(Doku_Event_Handler $controller) {
        $controller->register_hook('MEDIA_UPLOAD_FINISH', 'AFTER', $this,
                                   '_hookjs',array('AFTER'));
    }

    public function _hookjs(Doku_Event $event, $param) {       
        $path_elems = pathinfo($event->data[1]);       
        $dummy = $path_elems['dirname'] . '/dummy.txt';
        if(!file_exists($dummy)){
            touch($dummy);
        }
    }
   
}

Es läuft nach jedem Upload und sucht nach der Dummy-Datei. Es geht in lib/plugins/writedummy, wie action.php
Siehe: https://www.dokuwiki.org/devel:event:media_upload_finish
Myron Turner
github: https://github.com/turnermm
plugins, templates: http://www.mturner.org/devel
Avatar
kevin.zhreha #11
Member since Jul 2018 · 49 posts
Group memberships: Members
Show profile · Link to this post
Hallo turnermm

Blöde Frage, liegt vielleicht daran, dass es noch Montagmorgen ist.  :-O
Aber muss ich das in action.php schreiben oder in ein eigenes namens writedummy.php?

Danke und Gruss - Kev
Avatar
turnermm (Moderator) #12
Member since Oct 2009 · 4399 posts · Location: Canada
Group memberships: Global Moderators, Members, Super Mods
Show profile · Link to this post
Erstelle im Verzeichnis lib/plugins ein Verzeichnis mit dem Namen writedummy. Kopiere das obige Skript in eine Datei namens action.php und lege es in lib/plugins/writedummy.
Myron Turner
github: https://github.com/turnermm
plugins, templates: http://www.mturner.org/devel
Avatar
kevin.zhreha #13
Member since Jul 2018 · 49 posts
Group memberships: Members
Show profile · Link to this post
Danke viel mal turnermm

Hat alles wunderbar geklappt!
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2018-12-16, 07:15:47 (UTC +01:00)