Sie können die AEM Forms Workspace Komponenten in Ihrer eigenen Webanwendung verwenden. In der folgenden Beispielimplementierung werden Komponenten aus einem AEM Forms Workspace-Dev-Paket verwendet, das auf einer CRX™-Instanz installiert ist, um eine Webanwendung zu erstellen. Passen Sie die unten gezeigte Lösung an Ihre spezifischen Anforderungen an. Bei der Beispielimplementierung werden die Komponenten UserInfo
, FilterList
und TaskList
innerhalb eines Webportals wiederverwendet.
Melden Sie sich bei der Umgebung CRXDE Lite bei https://'[server]:[port]'/lc/crx/de/
an. Stellen Sie sicher, dass AEM Forms Workpace Dev-Paket installiert ist.
Erstellen Sie einen Pfad /apps/sampleApplication/wscomponents
.
Kopieren Sie CSS, Bilder, js/libs, js/runtime und js/registry.js
/libs/ws
/apps/sampleApplication/wscomponents
.Erstellen Sie im Ordner /apps/sampleApplication/wscomponents/js eine Datei mit dem Namen demomain.js. Kopieren Sie Code aus /libs/ws/js/main.js in demomain.js.
Entfernen Sie in demomain.js den Code zum Initialisieren des Routers und fügen Sie folgenden Code hinzu:
require(['initializer','runtime/util/usersession'],
function(initializer, UserSession) {
UserSession.initialize(
function() {
// Render all the global components
initializer.initGlobal();
});
});
Erstellen Sie einen Knoten unter "/content"mit dem Namen sampleApplication
und geben Sie nt:unstructured
ein. Fügen Sie in den Eigenschaften dieses Knotens sling:resourceType
des Typs String und des Werts sampleApplication
hinzu. Fügen Sie der Zugriffsteuerungsliste dieses Knotens den Eintrag PERM_WORKSPACE_USER
hinzu, um jcr:read-Zugriff zuzulassen. Fügen Sie außerdem in der Liste "Zugriffskontrolle"von /apps/sampleApplication
einen Eintrag für PERM_WORKSPACE_USER
hinzu, um jcr:read-Berechtigungen zuzulassen.
Aktualisieren Sie in /apps/sampleApplication/wscomponents/js/registry.js
Pfade für Vorlagenwerte von /lc/libs/ws/
auf /lc/apps/sampleApplication/wscomponents/
.
Fügen Sie in der JSP-Datei Ihrer Portaldatei unter /apps/sampleApplication/GET.jsp
den folgenden Code hinzu, um die erforderlichen Startseiten in das Portal einzuschließen.
<script data-main="/lc/apps/sampleApplication/wscomponents/js/demomain?lang=de" src="/lc/apps/sampleApplication/wscomponents/js/libs/require/require.js?lang=de"></script>
<div class="UserInfoView gcomponent" data-name="userinfo"></div>
<div class="filterListView gcomponent" data-name="filterlist"></div>
<div class="taskListView gcomponent" data-name="tasklist"></div>
Schließen Sie außerdem die CSS-Dateien ein, die für die AEM Forms Workspace-Komponenten erforderlich sind.
Beim render-Prozess wird jede Komponente dem Komponenten-Tag (der Klasse gcomponent) hinzugefügt. Stellen Sie sicher, dass Ihre Startseite die betreffenden Tags enthält. Weitere Informationen zu diesen Basissteuerungstags finden Sie in der Datei von AEM Forms Workspace html.jsp
.
Um die Komponenten anzupassen, können Sie die vorhandenen Ansichten für die erforderliche Komponente wie folgt erweitern:
define([
‘jquery’,
‘underscore’,
‘backbone’,
‘runtime/views/userinfo'],
function($, _, Backbone, UserInfo){
var demoUserInfo = UserInfo.extend({
//override the functions to customize the functionality
render: function() {
UserInfo.prototype.render.call(this); // call the render function of the super class
…
//other tasks
…
}
});
return demoUserInfo;
});
Ändern Sie das Portal-CSS, um das Layout, die Positionierung und den Stil der erforderlichen Komponenten im Portal zu konfigurieren. Beispiel: Sie möchten die Hintergrundfarbe Schwarz in diesem Portal behalten, um die Komponente userInfo gut sichtbar darzustellen. Dazu ändern Sie die Hintergrundfarbe in /apps/sampleApplication/wscomponents/css/style.css
wie folgt:
body {
font-family: "Myriad pro", Arial;
background: #000; //This was origianlly #CCC
position: relative;
margin: 0 auto;
}