Erstellen eines Downloadbereichs mit Benutzern und Gruppen aus einer externen Datenbank [geschlossen]

9

Ich bin auf der Suche nach einem kostenlosen und Open-Source-Dokumenten- / Content-Management-System (webbasiert), um einen Download-Bereich zu implementieren, wo manche Leute Dateien hochladen können, andere können sie herunterladen Berechtigungen Es muss möglich sein, Ordner zu erstellen (um die Dateien zu organisieren) und Berechtigungen sowohl für die Dateien als auch für die Ordner festzulegen.

Ich habe bereits Datenbanktabellen mit Benutzern und Benutzergruppen (die in meiner Hauptanwendung verwendet werden) und ich möchte dieselben Benutzer und Gruppen in meiner neuen DMS-Webanwendung verwenden, um Berechtigungen zu erteilen. Offensichtlich vermeiden Sie, diese Daten handschriftlich zu schreiben oder zu kodieren. Auf diese Weise könnte ich in Zukunft die Daten direkt in der Original-DB ändern und sie wird im DMS aktuell bleiben.

Gibt es ein DMS, mit dem man festlegen kann, wo Benutzer Daten abrufen und gruppieren müssen, und in welcher Datenbank Tabellen und Felder definiert werden? Oder etwas anderes, das nicht so weit von diesem entfernt ist Prozeduren, die Benutzer und Gruppen aus meiner Webapp-DB in die DMS-DB kopieren.

Hier haben die Produkte schon erfolglos versucht, nach dem Grund des Discard zu gruppieren.

Zweck Probleme:

Zugriffskontrollprobleme:

  • Jease : wäre großartig (so einfach und klar!), aber es verwaltet keine Gruppen und die Erlaubnis für Benutzer sind über ganze Ordner ( wo Benutzer alles mit den Dateien machen können, nicht nur anzeigen)
  • InfoGlue : gute Benutzer- und Gruppenverwaltung, aber Berechtigungen gelten nur für Ordner und Inhalte sind keine Dateien, sondern Artikel / Bilder / Vorlagen / etc.
  • LogicalDoc (ehemals Contineo): Tolles CMS, mit Revisionsverwaltung usw., aber Berechtigungen sind nur für Ordner
  • jAPS : Erstellt zum Erstellen von Websites mit Berechtigungen nur für Gruppen, nicht für Benutzer
  • Joomla! mit DOCman Komponente: Berechtigungen können nur einem Benutzer oder einer Gruppe erteilt werden
  • Nuxeo DM : Es ist ein gutes DMS, aber für kollaboratives Arbeiten (nicht so gut für einen Download-Bereich geeignet), aber das Hauptproblem sind die Berechtigungen sind nur für Ordner, nicht für Dateien
  • Xoda , KRYSTAL DMS , yaDMS , PHP Navigator , DocumentManager : sehr einfach, aber Erlaubnis betrifft nur den globalen Zugriff auf das System
  • MeshCMS , Kordil EDMS , < a href="http://sdms.cafuego.net/"> Einfaches Dokumenten-Management-System : sehr einfach, keine Gruppen, keine Zugriffskontrolle auf Dateien / Ordner
  • eZimDMS : Gruppen werden nicht für Berechtigungen für Dateien / Ordner verwendet, sondern nur für 3 globale Berechtigungen
  • OpenDocMan : ähnlich wie ich suche, aber Gruppen werden als Abteilungen behandelt, DB-Tabellen vermissen primäre Schlüssel und Sie können keine Ordner erstellen, ich mag seine Leichtigkeit, aber global nicht Es scheint so gut gemacht

Plattformprobleme:

  • Contelligent , Xinco DMS , jLibrary : Ihr Client ist eine Desktop-Anwendung (keine Web-Anwendung) (für die zweite haben Sie Java Web Start)
  • OpenKM : Es ist gut, aber es muss nur innerhalb von jBoss funktionieren und nicht in meinem Tomcat

Installationsprobleme:

  • Apache Lenya : Ich weiß nicht, ob es in Ordnung ist, weil ich es nicht funktionieren lassen konnte und Demos nicht funktionieren ..
  • Eulen-Intranet-Engine : Es hat Fehler und ich kann nicht verstehen, wie es funktioniert
  • DocMGR : unterstützt LDAP, aber ich konnte es nicht funktionieren lassen; unterstützt IE7 nicht
  • Epiware : keine kostenlose Version für Windows (leider bin ich unter Windows)

Zuverlässigkeitsprobleme:

Danke!

    
bluish 07.04.2011, 11:37
quelle

6 Antworten

0

Ich habe mich schließlich dafür entschieden, ein kommerzielles Client-Server-DMS zu verwenden und darauf eine Webapp zum Abrufen von Dokumenten und deren Beziehungen aufzubauen. Die Zugriffskontrolle für Dokumente wird vom DMS verwaltet, mit Benutzername und Passwort. Benutzer und Gruppen können problemlos zum DMS hinzugefügt werden. Dies ist die Infrastruktur:

%Vor%     
bluish 31.01.2013, 12:39
quelle
3

Also ... um klar zu denken, brauchen Sie:

  1. Freies und Open-Source-System
  2. Downloadbereich (Upload und Download)
  3. Benutzerrollen
  4. Nutzen Sie die externe Datenbank
  5. um eine Art automatisierter Prozess zu haben, um die Benutzerdaten in der externen Datenbank zu verwenden

Das wären die Hauptpunkte (Wenn ich welche verpasst habe, füge sie bitte als Kommentare hinzu, um diese Antwort zu aktualisieren)

  1. Ich würde mit Drupal Ссылка gehen
  2. In drupal können Sie benutzerdefinierte Inhaltstypen erstellen und das System auf fast alles einstellen, was Sie wollen. In diesem Fall würde ich Ihnen empfehlen, die folgenden Module zu verwenden:

  3. Benutzerrollen können mit den integrierten Optionen und den Feldberechtigungen verwaltet werden (verfügbar mit dem Inhaltsmodul). Sie können einem Benutzer beliebig viele Rollen zuweisen

  4. Mit dem Benutzerimport-Modul können Sie Benutzer auf viele Arten importieren, aber es ist nicht so automatisiert. Sie müssen Ihre Benutzerdatenbank als CSV exportieren und dann in drupal importieren. Die Module können Sie dann die Felder zuordnen.

  5. Sie können den vollständigen Prozess automatisieren, indem Sie cron verwenden oder das Importmodul für Benutzer durch die Anweisungen in Ссылка

Die Schritte sollten sein:

  1. Installieren Sie drupal 6 (mysql + php) [Sie können auch mit drupal 7 gehen, aber jetzt gibt es mehr Tutorials und Modul sfor drupal 6, da d7 gerade ausgegangen ist und das Benutzerimportmodul immer noch nicht verfügbar ist für d7]
  2. Aktivieren Sie die Module, die ich empfohlen habe
  3. Erstellen Sie einen neuen Inhaltstyp (zB Datei) und fügen Sie ein Dateityp-Feld
  4. hinzu
  5. Erstellen Sie ein Taxonomievokabular, um "Kategorien" für die Dateien zu erstellen, und weisen Sie sie dem Inhaltstyp "Files" zu
  6. Erstellen Sie einige Rollen (z. B. Editor, Eigentümer, schreibgeschützt usw.) und weisen Sie unterschiedliche Berechtigungen zu, je nachdem, was Sie für jede Rolle tun möchten
  7. Gehen Sie zum Benutzerimportmodul und importieren Sie Ihre Benutzerdatenbank (Sie können auch die vorhandenen Benutzer aktualisieren) und ordnen Sie die Felder (die wichtigen sind Benutzername, Kennwort, Rollen) den Feldern in Ihrer CSV-Datei zu
  8. Erstellen Sie einige Ansichten, um den Inhalt (Dateien) wie gewünscht anzuzeigen (z. B. nach Kategorie), nach Rolle usw. ...

Ich denke, das sind die grundlegenden Schritte, um einen funktionierenden Downloadbereich wie den von Ihnen gewünschten zu haben. Natürlich können Sie es so anpassen, wie Sie möchten (das ist die Macht von Drupal), indem Sie weitere Module hinzufügen ( Ссылка ist ein wirklich guter Startpunkt) )

Sobald Sie mit den Grundlagen arbeiten, können Sie mit den Panels Ссылка spielen, um das Layout der gesamten Site anzupassen und einige der Themen in Ссылка , um das Aussehen und das Gefühl deiner Seite zu ändern (du kannst auch mit reinem CSS gehen)

Ich hoffe, es hilft. Wenn Sie dieser Lösung ein weiteres Feature hinzufügen möchten oder etwas nicht klar genug ist, lassen Sie es mich wissen.

Prost!

    
daco 27.02.2011 18:56
quelle
0

Apache Lenya könnte arbeiten. Sie müssen Ihren eigenen Authentifizierungsmechanismus und Gruppenverwaltungscode für die Synchronisierung über die Benutzer aus der Datenbank schreiben. Jedes Produkt wird Ihnen Schwierigkeiten bereiten, gegen eine proprietäre DB zu gehen. Wenn Sie in der Lage sind, die Benutzer- und Gruppendaten in ein Verzeichnis zu legen, sagen wir LDAP, wird Ihr Problem viel einfacher.

    
Richard Frovarp 23.02.2011 17:00
quelle
0
  

Joomla! mit DOCman-Komponente: Berechtigungen können nur einem Benutzer oder einer Gruppe erteilt werden

Dies sollte tatsächlich für Sie arbeiten. Sie können eine einzelne Gruppe für die zu verwaltende Datei erstellen und Personen zu dieser Gruppe hinzufügen / entfernen, wenn sie Zugriff auf die Datei erhalten / verlieren.

    
Babak Naffas 25.02.2011 17:56
quelle
0

Ich bin nicht sicher, ob dies 100% Ihrer Probleme beantwortet, aber ich habe Daisy-cms als verwendet Dokumentenmanagementsystem.

Mit Daisy können Sie Attachment-Dokumente oder Ihre eigenen Dokumenttypen einrichten. Sie können keine Ordner erstellen, aber Sie können Zugriff haben (dies ist der schwierige Teil) basierend auf den Werten in den Feldern.

Es ist Open-Source, einfach zu installieren gegen MySQL und zeigen und klicken Sie für die meisten was Sie tun möchten.

Hoffe, das hilft.

    
Scott Warren 01.03.2011 05:33
quelle
0

Ich fand diese mögliche Lösungen :

  • LetoDMS (ex MyDMS), in PHP geschrieben, hat eigene Tabellen für Benutzer und Gruppen, altmodischen Stil, weniger benutzerfreundlich
  • Quotero , geschrieben in Java, mit Unterstützung für LDAP, Active Directory, Joomla-Authentifizierung; Es können mehr benutzerdefinierte Authentifizierungsquellen erstellt werden (beginnend mit dieses Tutorial ); Das Projekt scheint aktiver zu sein. es hat das benutzerfreundlichste und modernste Layout

Auch wenn es einige Fehler hat, habe ich Quotero aus den oben genannten Gründen gewählt. Die Erweiterbarkeit (relativ zu dem, was ich brauche) hat mich überrascht.

Wie ich installiert habe (in Tomcat 6 unter Ubuntu Server 10 und Tomcat 7 unter Windows 7) und in meine Webapplikation integriert :

  • installieren Sie MySQL, PostgreSQL, Oracle DB, SQL Server oder ein anderes DBMS (das letzte erfordert Anpassung)
  • laden Sie quotero-deployer-2.0.war herunter
  • Platziere quotero-deployer-2.0.war in Tomcat-Webapps
  • Navigieren Sie zu Ссылка und verwenden Sie den Assistenten, um Ihre Installation zu konfigurieren (siehe Quick Install Tutorial )
  • Der Assistent erstellt den Ordner DB und 2.war im Webapps: QuoteroServer und QuoteroClient; Benutzer werden letztere verwenden
    • in Linux-Systemen werden diese Webapps wahrscheinlich in den Ordner / usr / share / tomcatx / webapps gestellt; Wenn Sie sie in / var / lib / tomcatx / webapps benötigen, verschieben Sie sie einfach
  • Schreiben Sie Ihre benutzerdefinierten Klassen für die Authentifizierungsquelle, folgen Sie dem Beispiel von Joomla15 und diesem Tutorial
    • org.coretechs.quotero.user.impl.AuthenticationSourceFoo (die Hauptklasse; behandelt auch die bei der Domänenerstellung gestellten Parameter)
    • org.coretechs.quotero.user.impl.factory.foo.FooUserFactory (interagiert mit der Benutzertabelle)
    • org.coretechs.quotero.user.impl.factory.foo.FooGroupFactory (interagiert mit der Gruppentabelle)
    • org.coretechs.quotero.user.impl.factory.foo.FooDBManagerDB2 (interagiert mit der DB)
    • org.coretechs.quotero.user.impl.factory.foo.FooPasswordHash (implementiert einen benutzerdefinierten Passwort-Hash-Algorithmus)
  • fügen Sie solche Klassen in ein Eclipse-Projekt (oder ein ähnliches IDE-Projekt) ein und legen Sie den Build-Pfad mit allen Bibliotheken fest, die Sie in QuoteroServer / WEB-INF / lib und QuoteroClient / WEB-INF / lib
  • finden
  • erzeugt eine .jar und platziert sie in QuoteroServer / WEB-INF / lib
  • Platzieren Sie die .jar-Datei mit Ihrem DB-Treiber im selben Ordner
  • Navigieren Sie zu Ссылка , melden Sie sich an (der Standardbenutzername ist admin und das Passwort admin)
  • Öffnen Sie die Toolbox & gt; Verwaltung & gt; Domains und fügen Sie eine neue Domain hinzu, wählen Sie als Domain Geben Sie Ihre benutzerdefinierte Authentifizierungsquelle und die Parameter wie DB URL, Benutzername und Passwort
  • ein

Auf diese Weise können Sie sich mit den Konten von Benutzern und Gruppen Ihrer Haupt-Webapp (oder einer beliebigen Anwendung mit Benutzer- und Gruppentabellen in einer DB!) anmelden und auch Berechtigungen für Dateien und Ordner von Quotero DMS abrufen diejenigen. Andere Daten wie Berechtigungen, Dokumente, Aufgaben, Workflows, Benutzer und Gruppen, die zur klassischen Domäne gehören, bleiben in der Quotero DB erhalten. Sie haben also zwei Datenbanken: eine für das gesamte Quotero DMS und eine (bereits existierende) Datenbank, in der Quotero Benutzer und Gruppen repliziert (keine Notwendigkeit, diese Daten zu replizieren).

BEARBEITEN:

Ich musste mich einigen Bugs stellen, die die Arbeit von Quotero beeinträchtigen ... also Ich musste diese Lösung aufgeben .

    
bluish 07.07.2011 07:07
quelle