Ankündigung

Einklappen
Keine Ankündigung bisher.

Dam

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dam

    Hallo Leute,

    ich benötige ein ,,digital asset management" als Basis für die Dateiverwaltung meiner Projekte.
    Die einzelnen Funktionen wie Rechtevergabe, sortieren-Funktionen, dynamische (meta)-Datenerfassung und Abbildung auf Dateiebene sind kein Problem.

    Ich hatte mir folgendes überlegt:
    Adminebene:
    Ordnerverwaltung nach dem CRUD-Prinzip mit Nested-Set Sortierung. Dateiverwaltung ebenfalls CRUD, normale Sortierung.
    Frontend:
    Widgets die vom Framework eingebunden werden können:
    Upload, Update, Ordneransicht (Galerie/Liste), Eigentümer abhängiges CRUD, Dateiansicht...

    soweit so gut, aber wie finde ich die zugehörigen Dateien wieder? Bzw. wie referenziere ich Dateien in Datensätzen so, dass sowohl das ,,Content-Modul" als auch die Datei wissen wo sie eingesetzt werden?

    Beispielszenarios
    Ein neuer Benutzer aktiviert sein Konto, ihm wird automatisch ein virtueller Ordner erstellt (root->userfiles->userId) die OrdnerId wird in der User Tabelle gespeichert.
    Erstellt der Nutzer nun sein Profil erstellt das System den Ordner root->userfiles->userId->profileImgs. Das Profilbild wäre das mit der höchsten Ordnung im Ordner.

    Ein Redakteur erstellt eine neue Seite, diese erhält automatisch einen neuen Ordner, hier landen später die Bilder / Dokumente. Die Seite wird mit der zugehörigen OrdnerId gespeichert.
    Auf der Seite werden Inhaltselemente angelegt (wie in Typo3)
    Jetzt benötige ich eine weitere Tabelle, die den Typ und Id des Inhaltselement sowie die ID der verwendeten Dateien aufbewahrt.

    Wäre das das richtige Vorgehen, oder habe ich da einiges übersehen?
    Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

  • #2
    Warum setzt du bei einen Überlegungen auf Mechanismen des File-Systems? Ich würde die Struktur der Inhalte komplett über virtuelle Ordner abbilden, dann bist du jederzeit in der Lage das physikalische Layout auszutauschen ohne die logische Repräsentation zu verändern. Ebenso ließen sich die Inhalte dann beispielsweise physikalisch auf unterschiedliche Domains splitten obwohl der Benutzer einen Baum sieht.
    Viele Grüße,
    Dr.E.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1. Think about software design [B]before[/B] you start to write code!
    2. Discuss and review it together with [B]experts[/B]!
    3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
    4. Write [I][B]clean and reusable[/B][/I] software only!
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Kommentar


    • #3
      So war es auch geplant: Die ,,echten" Dateien liegen mit einem eindeutigen Namen im gleichen Ordner auf der Dateiebene. So kann ich auch die Thumbnails einfacher verwalten lassen.

      Je nach Freigabelevel wird die Datei entweder direkt, oder über einen getter geliefert. Ändert der Besitzer die Freigabestufe z.B. von Öffentlich auf intern, bekommen sowohl Datei als auch Thumbnails einen neuen Namen.

      In meinem Post ging es erst mal rein um die virtuelle Repräsentation.

      Die virtuelle Ordnerstruktur soll es den Mods und Redakteuren ermöglichen nur auf Ihre Bereiche aufzupassen und dabei die Übersicht zu behalten. je nach Anwendung können es mehrere Tausend Dateien werden : ( Vor allem wenn Nutzer exzessiven Gebrauch von der Bildergalerie machen.
      Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

      Kommentar


      • #4
        Geht das so-Fragen sind immer schwer zu beantworten. Beschreib lieber mal, was Dir daran Kopfzerbrechen bereitet.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Das ist etwas kompliziert ; ) Was mir Kopfzerbrechen ist meine Anforderungsliste:
          1. Keine Datei kommt am dam vorbei: Anbildungsmöglichkeit aller Module z.B. Profil, CMS, Shop
          2. (Später für FTP)Abbildung eines virtuellen Ordnersystems auf die Festplatte
          3. Keine Datei darf direkt von außen erreichbar sein
          4. Keine Datei darf ,,lesbar" auf dem Dateisystem liegen
          5. Zugriffsrechte nach ,,Linuxart" innerhalb der Webapplication mit Vererbung
          6. Bereitstellung eines FTP Uploadprogramms (schreib ich mit C++ oder Java)
          7. Dynamische Unterscheidung von Medientypen und Informationsgewinnung über bekannte Dateitypen durch Servermodule.
          8. Übersichtliche Verwaltungsoberfläche.

          Die letzten zwei Programmierer sind mir dabei weggelaufen jetzt bleibts an mir hängen

          Ich häng derzeit etwas bei der Rechtevergabe, der Ordnerzuteilung beim Upload, und der Einbindung in andere Module...

          Bevor ich da von Grund auf einen groben Schnitzer drin hab, wollte ich hier mal nachfragen.
          Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

          Kommentar


          • #6
            Sind die Anforderungen hart definiert oder besteht die Chance, den Kunden noch etwas zu "beraten"? Insbesondere bei

            Keine Datei darf ,,lesbar" auf dem Dateisystem liegen
            zusammen mit
            Bereitstellung eines FTP Uploadprogramms (schreib ich mit C++ oder Java)
            würde ich dem Kunden einen Wiederspruch in seinen Anforderungen erklären. IMHO gibt es für den Schutz von Inhalten auch auf File-System-Basis weitere Schutzmöglichkeiten, die das Leben vielleicht nicht so schwer machen wie ein Konstrukt aus obigen Requirements.
            Viele Grüße,
            Dr.E.

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            1. Think about software design [B]before[/B] you start to write code!
            2. Discuss and review it together with [B]experts[/B]!
            3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
            4. Write [I][B]clean and reusable[/B][/I] software only!
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            Kommentar


            • #7
              FTP und lesbarkeit schließen sich nicht unbedingt aus. Die Datei landet erstmal ,,lesbar" in einem Importverzeichnis und wird später von einem CronJob aufgesammelt. Das funktioniert soweit ganz gut. Die Zeitspanne in der z.B. ein Admin eine Datei ,,lesen" könnte ist somit vertretbar gering. - Zumindest für meine Anwendungen...

              Punkt eins bis sieben sind damit erstmal erledigt. Probleme gibt es nun bei Punkt acht.

              Wo wäre der Ansatz für das Frontend / Adminbereich?
              Das Rad neu erfinden und mit JQuery die ensprechenden Dateioperationen abbilden wäre ein Großprojekt für sich.
              Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

              Kommentar


              • #8
                Ich bin mir nun nicht ganz sicher, aber wäre es nicht eine Idee das WebDAV Protokoll für die Dateiverwaltung im Programm zu verwenden?

                Kommentar

                Lädt...
                X