Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core JavaScript-API


JavaScript-Bibliothek common/cmis

Diese Bibliothek bietet Funktionen, um auf einen beliebigen CMIS-Server zuzugreifen.

Die Session zum CMIS-Server aufbauen


Beispiel

let cmis = require('common/cmis');
let session = cmis.connect('https://cmis-server/cmis/atom', 'user', 'password', 'repository');

Parameter

cmis.connect(<server>, <user>, <password>, <repository>);
Parameter Beschreibung
server Definiert die URL zum atom-/pub-Service des CMIS-Servers.
user Definiert den Benutzernamen des CMIS-Servers.
password Definiert das Passwort des CMIS-Servers.
repository Definiert das Repository des CMIS-Servers.

Return

Sie erhalten ein session-Objekt zurück, das Sie für alle Funktionen verwenden können, die die CMIS Client-Bibliothek anbietet. Der Zugriff erfolgt über den Apache Chemistry CMIS Client.

Beispiel bei Verwendung des agorum core CMIS-Servers

Dieses Beispiel greift auf den in agorum core integrierten CMIS-Server zu und dort auf das Repository dms.

let cmis = require('common/cmis');
let session = cmis.connect('https://agorum-core-server/cmis/atom', 'agorum-user', 'agorum-password', 'dms');

Funktionen


get

Lädt ein Objekt anhand seiner ID.


Beispiel

cmis.get(session, 'cmis-id');


Parameter

Parameter Beschreibung
session Definiert die CMIS-Session.

Holen Sie die CMIS-Sessions zuvor über cmis.connect.
id Definiert die CMIS-ID des Objekts, das das System holt.

Deren Aufbau ist vom jeweiligen CMIS-Server abhängig. Im Falle des agorum core CMIS-Servers ist dies etwa die ID eines Objekts.


Return

Sie erhalten das CMIS-Objekt zurück, mit dem Sie weitere Abfragen durchführen können. Sie können somit alle weiteren Funktionen der CMIS Client-API verwenden.

items

Holt die Objekte eines Ordners.


Beispiel

let start = 0;
let limit = 10;
let folder = session.rootFolder;
let items = cmis.items(session, folder, start, limit);


Parameter

Parameter Beschreibung Standard
session Definiert die CMIS-Session.

Holen Sie die CMIS-Sessions zuvor über cmis.connect.
folder Definiert das CMIS Ordner-Objekt, von dem das System die Unterelemente holt.
start Definiert den Start-Index, ab dem das System die Objekte holt. 0 (ab dem ersten Element, kann für Pagination verwendet werden)
limit Definiert die maximale Anzahl, die das System mit einem Aufruf zurückgibt. 10 (In Kombination mit start kann durch eine große Ergebnismenge stückweise durchgegangen werden.)


Return

Sie erhalten ein Iterable zurück.


Beispiel: Namen aller items holen

let names = items.map(i => {
  return i.name;
});

createFolder

Erstellt einen Ordner.


Beispiel

let folder = session.rootFolder;           // Anlage des neuen Ordners im root
let data = {
  'cmis:objectTypeId': 'cmis:folder',      // optional, Standard ist cmis:folder
  'cmis:name': 'Testordner 1'              // Pflichtfeld name
};
cmis.createFolder(session, folder, data);


Parameter

Parameter Beschreibung Pflichtfeld
session Definiert die CMIS-Session.

Holen Sie die CMIS-Sessions zuvor über cmis.connect.
folder Definiert das CMIS Ordner-Objekt, in dem das System den neuen Ordner erstellt.
data Definiert die Daten zur Anlage des Ordners.
     cmis:name Definiert den Namen des neuen Ordners. ja
     cmis:objectTypeId Definiert ein vom Server unterstützten Ordnertyp
(Standard: cmis:folder).
nein
     weitere Parameter Gibt in Abhängigkeit des jeweiligen Typs weitere Daten mit. nein


Return

Sie erhalten das neu angelegte CMIS Ordner-Objekt.

createDocument

Erstellt ein neues Dokument.

let folder = session.rootFolder;           // Anlage des neuen Dokuments im root
let data = {
  'cmis:objectTypeId': 'cmis:document',    // optional, Standard ist cmis:document
  'cmis:name': 'test1.txt'                 // Pflichtfeld name
};
let content = {
  string: 'Dies ist der Inhalt'
};

cmis.createDocument(session, folder, data, content);


Parameter

Parameter Beschreibung Pflichtfeld
session Definiert die CMIS-Session.

Holen Sie die CMIS-Sessions zuvor über cmis.connect.
folder Definiert das CMIS Ordner-Objekt, in dem das System das neue Dokument erstellt.
data Definiert die Daten zur Anlage des Dokuments.
       cmis:name Definiert den Namen des neuen Dokuments. ja
       cmis:objectTypeId Definiert ein vom Server unterstützten Dokumententyp. nein
       weitere Parameter Gibt in Abhängigkeit des jeweiligen Typs weitere Daten mit. nein
content Definiert den Content, den das System mitliefert.
  • Geben Sie string oder stream an.
  • Geben Sie kein content an, erstellt das System ein leeres Dokument.
nein
string Definiert den Inhalt des Dokuments als Text. nein
stream Definiert den Inhalt des Dokuments als InputStream. ja
nein*

* nur wenn string angegeben ist
length Definiert die Anzahl Bytes des Contents. ja*
nein

* nur wenn stream angegeben ist
mineType Definiert den Mimetype des Dokuments.

Beispiel
text/plain 
ja*
nein

* nur wenn stream angegeben ist

 

Beispiel mit stream: agorum core-Objekt auf einen CMIS-Server hochladen

let objects = require('common/objects');
let acObject = objects.find('id-des-agorum-core-objectes');

let folder = session.rootFolder;           // Anlage des neuen Dokuments im root
let data = {
  'cmis:objectTypeId': 'cmis:document',    // optional, default ist cmis:document
  'cmis:name': acObject.name               // Pflichtfeld name
};

let content = {
  stream: acObject.contentStream,
  length: acObject.contentSize,
  mimeType: 'application/pdf'
};

cmis.createDocument(session, folder, data, content);


Return 

Sie erhalten das neu angelegte CMIS Dokumenten-Objekt.

Weitere Möglichkeiten


Sie können alle in der Bibliothek Apache Chemistry OpenCMIS-Client enthaltenen Funktionen und Methoden verwenden.