php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.09.2011, 22:02  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard 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.
serious-cool ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.09.2011, 22:34  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.638
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

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 before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 22.09.2011, 23:01  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von serious-cool (22.09.2011 um 23:04 Uhr).
serious-cool ist offline   Mit Zitat antworten
Alt 27.09.2011, 21:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.365
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Geht das so-Fragen sind immer schwer zu beantworten. Beschreib lieber mal, was Dir daran Kopfzerbrechen bereitet.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 27.09.2011, 21:56  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard

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.
serious-cool ist offline   Mit Zitat antworten
Alt 28.09.2011, 08:02  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.638
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

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

Zitat:
Keine Datei darf ,,lesbar" auf dem Dateisystem liegen
zusammen mit
Zitat:
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 before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 26.12.2011, 17:34  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard

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.
serious-cool ist offline   Mit Zitat antworten
Alt 26.01.2012, 17:06  
Erfahrener Benutzer
 
Registriert seit: 04.12.2011
Beiträge: 147
PHP-Kenntnisse:
Anfänger
archer42 befindet sich auf einem aufstrebenden Ast
Standard

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?
archer42 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
klauenhammer definition, dam software php, typo3 dam zugehörige documente

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum