Installations- und Endbenutzerprobleme
Allgemein
Welche Version von Eclipse verwende ich, um das Mosaic- Werkzeug-Plug-in zu installieren?
Welche Versionen des Java Development-Kits verwende ich mit Mosaic?
Welche Plattformen unterstützt der Mosaic-Client und welche Software wird benötigt, um sie auszuführen?
Gibt es XML-Schemata für die Mosaic-Anwendung und das Katalog-XML, auf die sich Entwickler beziehen können?
Gibt es eine Möglichkeit, festzustellen, ob die Debugging-Version des Mosaic-Servers bereitgestellt wird?
Unterstützt Mosaic die Zugänglichkeit?
Welche Version von Eclipse verwende ich, um das Mosaic-Werkzeug-Plug-in zu installieren?
Eclipse 3.5.0 oder höher (Adobe empfiehlt Flash Builder 4.0 oder höher).
Welche Versionen des Java Development-Kits verwende ich mit Mosaic?
Java Development-Kit 1.6 Update 10 und höher. Weitere Informationen zu den Systemanforderungen finden Sie unter Erste Schritte mit Mosaic.
Welche Plattformen unterstützt der Mosaic-Client und welche Software wird benötigt, um sie auszuführen?
Weitere Informationen finden Sie auf der Webseite Adobe LiveCycle Mosaic ES2 - Systemanforderungen.
Gibt es XML-Schemata für die Mosaic-Anwendung und das Katalog-XML, auf die sich Entwickler beziehen können?
Ja, die W3C-Schemadateien befinden sich im Ordner [Mosaic Installationsverzeichnis]/docs/schemas. Die Dokumentation zu den Schemadateien finden Sie hier: LiveCycle Mosaic XML-Schema-Referenz.
Gibt es eine Möglichkeit, festzustellen, ob die Debugging-Version des Mosaic-Servers bereitgestellt wird?
Wenn Sie den Mosaic-Server starten, zeigt/zeigen die Konsole (oder die Protokollmeldungen) Inhalte an, die den Debugging-Bootstrap enthalten. Beispiel:
[SWF] /mosaic/gravity_bootstrap_flex4.1.0p10-debug-auto.swf- 8.356.841 Byte nach Dekomprimierung
Unterstützt Mosaic die Zugänglichkeit?
Im Allgemeinen sind die Zugriffsmöglichkeiten für Mosaic vergleichbar mit denen, die Flex, Adobe Flash Player und Adobe AIR bieten. Mosaic wird durch Flex und Flash Player teilweise eingeschränkt. Insbesondere verfügt es über keine Methode zur Steuerung der Registerkartenanordnung von Unteranwendungen, die mithilfe von SWFLoader-Control geladen werden. Infolgedessen sind einige Anwendungen für Benutzer, die keine Maus verwenden, weniger zugänglich.
Beispiele
Gibt es eine Möglichkeit, den Quellcode für Anwendungen, Kataloge und Bausteine für online veröffentlichte Samples anzuzeigen?
Gibt es ein Mosaic-Sample, das die Verwendung von LiveCycle-Datendiensten verdeutlicht?
Gibt es eine Möglichkeit, den Quellcode für Anwendungen, Kataloge und Bausteine für online veröffentlichte Samples anzuzeigen?
Der gesamte Quellcode für die Anwendungen, einschließlich der Bausteine und der zugehörigen Assets, ist in der Datei „samples-*.zip“ für das Sample enthalten.
Gibt es ein Mosaic-Sample, das die Verwendung von LiveCycle-Datendiensten verdeutlicht?
Ein Mosaic-Sample, das die Verwendung von LiveCycle-Datendiensten veranschaulicht, ist hier verfügbar. Aufgrund eines Problems mit Flash Player weist das Sample derzeit einen nicht optimalen Ansatz auf.
Fehlermeldungen
Warum erhalte ich beim Öffnen des Basic-Samples die Meldung „ERROR - Die Ressource RetrieveData wurde im Katalog sample_catalog nicht gefunden“?
Warum erhalte ich den Fehler „Error:object Error at flash.external::ExternalInterface$/_toAS()“...jedes Mal, wenn ich mich über Internet Explorer bei meiner Mosaic-Anwendung anmelde?
Warum wird HTTP-Fehler (500) angezeigt, wenn ich Samples starte?
Warum wird der Fehler „StylesheetReference ist kein zulässiges Element des Tag-Shell“ jedes Mal angezeigt, wenn ich das Sample mit dem Desktop-Client lade?
Warum wird HTTP-Fehler (403) angezeigt, wenn ich Anwendungen auf den LiveCycles ES2.5-Server hochlade?
Warum erhalte ich beim Öffnen des Basic-Samples die Meldung „ERROR - Die Ressource RetrieveData wurde im Katalog sample_catalog nicht gefunden“?
Dieser Fehler ist eine erwartete Verhaltensweise. Das Basic-Sample verwendet eine Ressource namens RetrieveData, um vom Benutzer eingegebene Daten zu speichern. Beim ersten Laden des Bausteins existiert diese Ressource nicht und der Server protokolliert die Meldung, dass diese Ressource nicht gefunden werden konnte.
Stellen Sie generell sicher, dass Bausteine und zugehörige Assets im Katalog der Anwendung referenziert werden. Stellen Sie außerdem sicher, dass die entsprechenden Dateien in den korrekten Ordnern Ihres Projekts enthalten sind. Weitere Informationen finden Sie unter Entwicklung von Anwendungen für Mosaic.
Warum erhalte ich den Fehler „Error:object Error at flash.external::ExternalInterface$/_toAS()“...jedes Mal, wenn ich mich über Internet Explorer bei meiner Mosaic-Anwendung anmelde?
Die vollständige Fehlermeldung lautet: Error:object Error at flash.external::ExternalInterface$/_toAS() at flash.external::ExternalInterface$/call() at mx.automation.qtp::QTPAdapter()[C:\work\flex\dmv_automation\projects\qtp\src\mx\automation\qtp\QTPAdapter.as:488]
Dieser Fehler tritt auf, wenn Sie die Debug-Versionen von mosaic.war bereitstellen, aber kein QTP installiert haben. Führen Sie einen der folgenden Schritte aus:
- Ignorieren Sie den Fehler.
- Stellen Sie die Release-Version der Datei mosaic.war auf dem Server bereit.
Das Flex-SDK liefert mehrere SWCs (die Dateinamen verwenden das Format automation*.swc) mit QTP-Abhängigkeiten aus. Wenn Bausteine auf diese SWCs verlinkt sind, besteht eine Abhängigkeit von QTP-Formularen. Wenn die Laufzeitumgebung die Debugversion des Server verwendet, werden Ausnahmen ausgelöst, wenn QTP nicht installiert ist.
Warum wird HTTP-Fehler (500) angezeigt, wenn ich Samples starte?
Dieses Problem liegt vermutlich daran, dass der Mosaic-Server nicht ordnungsgemäß bereitgestellt wurde. Stellen Sie die Datei „mosaic.war“ auf dem Anwendungsserver erneut bereit. Wenn Sie beispielsweise JBoss verwenden, welches in LiveCycle ES2.5 enthalten ist, und als Anwendungsserver Service Pack 1 installiert ist, gehen Sie wie folgt vor:
-
Beenden Sie JBoss.
-
Löschen Sie den Ordner „jboss/server/lc_turnkey/work“, in dem LiveCycle ES2.5 SP1 installiert ist (standardmäßig C:\Adobe\Adobe LiveCycle ES2.5\jboss\server\lc_turnkey\work).
-
Löschen Sie „mosaic.war“ im Ordner „jboss/server/lc_turnkey/deploy“, in dem LiveCycle ES2.5 SP1 installiert ist (standardmäßig C:\Adobe\Adobe LiveCycle ES2.5\jboss\server\lc_turnkey\deploy).
-
Starten Sie JBoss neu.
-
Stellen Sie die Datei „mosaic.war“ in JBoss bereit.
Weitere Informationen zur Bereitstellung des Mosaic-Servers finden Sie unter Erste Schritte mit LiveCycle-Mosaic.
Warum wird der Fehler „StylesheetReference ist kein zulässiges Element des Tag-Shell“ jedes Mal angezeigt, wenn ich das Sample mit dem Desktop-Clienten lade?
Die Mosaic-Client- und Serverversionen sind nicht identisch. Stellen Sie sicher, dass die Version des von Ihnen bereitgestellten Mosaic-Servers mit der Version des Desktop-Clients identisch ist, den Sie zum Anzeigen der Samples verwenden.
Warum wird HTTP-Fehler (403) angezeigt, wenn ich Anwendungen auf den LiveCycles ES2.5-Server hochlade?
Der Fehler 403 tritt auf, wenn die Benutzeranmeldeinformationen in der Ant-Aufgabe gültig sind, der Benutzer aber nicht über die entsprechenden Berechtigungen verfügt. Stellen Sie sicher, dass dem in der Ant-Aufgabe angegebenen Benutzer die Rolle ROLE_MOSAIC_DESIGNER zugewiesen wird. Weitere Informationen über das Zuweisen von Benutzerrollen finden Sie unter „Erste Schritte mit LiveCycle-Mosaic“.
Warum erhalte ich bei der Bereitstellung eines Katalogs die Fehlermeldung „Ungültiges Katalogformat erkannt“?
Die vollständige Fehlermeldung lautet:
[mosaic-catalog] <crx:Error code="CAT_E41002"> [mosaic-catalog] <crx:Message>Invalid catalog format detected. Offending file: {}</crx:Message> [mosaic-catalog] <crx:Key position="0">Tiles/Header.swf</crx:Key>
Der Fehler wird angezeigt, da Sie eine nicht unterstützte Katalogstruktur verwenden. In Mosaic erfordert die Katalogstruktur, dass Sie Bausteine in Unterordnern speichern, die nach der kompilierten SWF-Datei der Bausteine benannt sind. Beispiel: /Tiles/HelloWorld/HelloWorld.swf.
Server
Kann ich Mosaic mit SiteMinder integrieren?
Was ist Single-Sign-On (SSO) in Mosaic?
Ist es möglich, das Mosaic-Login so anzupassen, dass es LDAP-Anmeldeinformationen akzeptiert?
Kann ich Mosaic mit SiteMinder integrieren?
Ja. Der beste Weg, Mosaic in SiteMinder zu integrieren, ist die Verwendung der Spring Security-Konfiguration. Da Mosaic Spring Security für die gesamte Authentifizierungs- und Autorisierungsinfrastruktur verwendet, muss keine anwendungsspezifische Konfiguration vorgenommen werden. Sobald SiteMinder installiert ist und ordnungsgemäß funktioniert (siehe die von Spring Security bereitgestellte Dokumentation: http://static.springsource.org/spring-security/site/docs/3.0.x/reference/preauth.html), nutzt Mosaic es transparent.
Weitere Informationen zu Spring Security in Mosaic finden Sie unter Verwalten von LiveCycle-Mosaic.
Was ist Single-Sign-On (SSO) in Mosaic?
Mosaic ist so konzipiert, dass ein Mosaic-Anwendungsbaustein nach dem Einloggen in Mosaic auf andere Serveranwendungen zugreifen kann, ohne den Anmeldevorgang wiederholen zu müssen. Dieser Vorgang setzt voraus, dass dieselben Anmeldedaten für die nachfolgenden Serveranwendungen gültig sind. So kann beispielsweise ein Mosaic-Baustein auf LiveCycle-Datendienste ES2.5 oder ein Hilfsprogramm (z. B. Assembler-Dienst) zugreifen, das die gleichen Anmeldeinformationen wie Mosaic akzeptiert. Diese Methodik ist nicht dasselbe wie der Versuch, eine neue URL aus derselben Browsersitzung einzugeben. Die Mosaic-Baustein-SDK-API bietet ein Mittel, um die für die Anmeldung verwendeten Anmeldeinformationen zu erhalten, die dann für den nachfolgenden Serverzugriff verwendet werden.
Weitere Informationen finden Sie unter Verwalten von LiveCycle-Mosaic.
Ist es möglich, das Mosaic-Login so anzupassen, dass es LDAP-Anmeldeinformationen akzeptiert?
Ja. Mosaic verwendet Spring Security für die Benutzerauthentifizierung und Rollenbestimmung. Um Mosaic den Zugriff auf LDAP-Anmeldeinformationen zu ermöglichen, konfigurieren Mosaic-Serveradministratoren ihr bestehendes Sicherheitssystem für die Arbeit mit Spring Security.
Weitere Informationen zu Spring Security in Mosaic finden Sie unter Verwalten von LiveCycle-Mosaic.
Probleme bei der Anwendungsentwicklung
Allgemein
Warum sieht mein HTML-Baustein im Browser-Client anders aus oder verhält sich anders als im Desktop-Client?
Gibt es eine Möglichkeit, Kontextwerte mit einer Standardeinstellung zu definieren, sodass bei der Bereitstellung einer Mosaic-Anwendung bestimmte Werte voreingestellt werden können?
Werden Sitzungs-Timeouts für Mosaic-Anwendungen unterstützt?
Wie werden Mosaic-Artefakte bei Verwendung der Serverumgebung von LiveCycle ES2.5 gespeichert?
Wie funktioniert der Mosaic-Persistenzmechanismus?
Warum sieht mein HTML-Baustein im Browser-Client anders aus oder verhält sich anders als im Desktop-Client?
Der Browser-Client und der Desktop-Client verwenden unterschiedliche Mechanismen zum Rendern von HTML-Kacheln. Der Browser-Client verwendet die Rendering-Fähigkeit des Browsers (ergo die Verwendung von Inline-Frames oder Iframes). Der Desktop-Client wird mit Adobe AIR (ergo WebKit) gerendert. Die Ergebnisse und Probleme, auf die Sie stoßen, hängen vom Grad der Einhaltung der Standards der Seite ab, die Sie als HTML-Kachel verwenden.
Gibt es eine Möglichkeit, Kontextwerte mit einer Standardeinstellung zu definieren, sodass bei der Bereitstellung einer Mosaic-Anwendung bestimmte Werte voreingestellt werden können?
Sie können „View-Kontextwerte“ in Ihrer Anwendungs-XML definieren, die bei der Initialisierung verfügbar ist. Für den Anwendungskontext gibt es in Version 9.0.0 noch keine Möglichkeit, dies zu tun, aber dies ist eine Funktion, die für das nächste Release benötigt wird.
Werden Timeouts für Mosaic-Anwendungen unterstützt?
Mosaic-Sitzungen haben keinen Timeout. Das Mosaic-Client-Server-Protokoll verwendet einen Hintergrundthread, der dazu führt, dass die Sitzung gültig bleibt, solange der Server verfügbar ist.
Wie werden Mosaic-Artefakte bei Verwendung der Serverumgebung von LiveCycle ES2.5 gespeichert?
Wenn Mosaic in einer LiveCycle ES2.5-Serverumgebung ausgeführt wird, erkennt Mosaic das Vorhandensein des LiveCycle ES2.5-Repository. Dieses Repository wird als Standardmechanismus für die Speicherung von Inhalten verwendet. Alle Assets (z. B. XML- und SWF-Dateien) werden direkt im LiveCycle ES2.5-Repository in einer Baumstruktur gespeichert. Dieser Baum ist ein Peer zum Anwendungsbaum.
Ab Mosaic 9.5 SP1 können Sie Mosaic auch so konfigurieren, dass es ein einfaches Dateisystem-Repository oder eine benutzerdefinierte Implementierung des Repository verwendet. Weitere Informationen finden Sie unter Verwalten von LiveCycle-Mosaic 9.5.
Wie funktioniert der Mosaic-Persistenzmechanismus?
Ansichten und das Anwendungs-XML sind in einem Ablagesystem für Inhalte gespeichert, das im Anwendungsserver konfiguriert ist. Ansichten sind mit der jeweiligen Anwendung verknüpft, mit der sie erstellt wurden. Über die Tile-SDK-APIs ist ein Benutzerobjekt verfügbar. Dieses Objekt ist so konzipiert, dass es die erforderlichen Benutzerattribute bereitstellt. Mosaic ist jedoch ein neues Produkt und es ist möglich, dass die Dinge, die Sie benötigen, noch nicht vorhanden sind. Melden Sie fehlende Anforderungen dem Entwicklungsteam, das neue Anforderungen priorisiert, sobald sie diese erhält. Alle Werte, die Ihr Baustein benötigt und in der IContext-Oberfläche der Ansicht gespeichert wird, werden im Inhaltsspeicher als Teil der Ansicht beibehalten. Ihr Baustein kann auch seine eigenen Persistenzmechanismen außerhalb von Mosaic verwenden. Wenn Sie LiveCycle ES2.5 für die Persistenz verwenden, überprüfen Sie die LiveCycle ES2.5-Beispiele.
Debuggen
Gibt es eine Möglichkeit, Mosaic-Anwendungen zum Debuggen im Flash Builder zu laden?
Ja. Ändern Sie innerhalb eines Flex-Projekts, das einen Flex-basierten Baustein kompiliert, die Debugging-Konfiguration Start-URL-Eigenschaft auf die URL der Mosaic-Anwendung. Stellen Sie beispielsweise den Wert der Start-URL auf http://localhost:8080/mosaic/#/applications/Brokerage ein. Weitere Informationen zum Debuggen finden Sie unter Entwicklung von Anwendungen für LiveCycle- Mosaic.
Kacheleffekt
Warum werden meine Modulbausteine nicht in meiner Anwendung angezeigt?
Warum sind meine Flex-basierten Bausteine während der Laufzeit leer?
Gibt es bei der Verwendung des absoluten Layouts eine Möglichkeit, Bausteine zu verschieben?
Gibt es eine Möglichkeit, Bausteinnamen dynamisch aus einem Katalog abzurufen?
Warum erhalte ich diesen HTML-Bausteinfehler: „Die Referenz auf die Entität „source“ muss mit dem Trennzeichen „;“ (Semikolon) enden“?
Ist es möglich, eine Kachel so zu sperren, dass ein anderer Benutzer sie nicht verschieben oder löschen kann?
Können Mosaik-Kacheln, auf die über den Browser-Client zugegriffen wird, für Suchvorgänge indiziert werden (zum Beispiel mit einer Google-Anwendung)?
Ich habe eine Ansicht, die eine sitzungsbewusste HTML-Kachel enthält (zum Beispiel Verwednung von Cookies). Wenn ich diese Ansicht speichere, wird das Cookie so verwaltet, dass er verfügbar ist, wenn die HTML-Sitzung wiederhergestellt wird?
Ich habe eine Ansicht repliziert, die eine sitzungssensitive HTML-Kachel enthält. Gibt es eine Methode, um zu verhindern, dass das Cookie die ursprünglichen Ansichten der Cookies nachfolgender Ansichten überschreibt (zum Beispiel das Erstellen eines HTML-Steuerelements)?
Können Kacheln als Flex-Module in die aktuelle oder untergeordnete Anwendungsdomäne einer Shell-Anwendung geladen werden?
Warum scheint eine Kachel auf einigen Servern gequetscht zu werden (Raster wird angezeigt, aber kein Zelleninhalt), wird jedoch auf anderen Servern normal angezeigt?
Gibt es eine Möglichkeit, eine Liste der Kacheln und einige deren Attribute aus der API abzurufen?
Kann man ein Video in einer Mosaik-Anwendung anzeigen? Beispielsweise eine SWF-Datei einer Demo, die auf einem Remote-HTTP-Server verfügbar ist und nicht abgespielt wird, wenn der Benutzer sie nicht startet?
Warum werden eingebettete Inhalte im Browser-Client, aber nicht im Desktop-Client (AIR-basiert) angezeigt?
Warum werden die „Flex-charting-data-Tips“ nicht an der richtigen Stelle angezeigt, wenn sie in einer Kachel verwendet und mit dem Browser-Client aufgerufen werden?
Kann die Anwendungsdomäne für eine modulare Kachel beim Laden angegeben werden, damit sie Klassendefinitionen erben kann?
Ist es möglich, ein Hintergrundbild zu erstellen, das die gesamte Mosaic-Anwendung abdeckt?
Wie stelle ich die Eigenschaften für backgroundColor für eine Kachel zur Laufzeit ein?
Warum werden HTML-Kacheln im Desktop-Client korrekt angezeigt, aber nicht im Flash Player?
Ist es möglich, Kacheln direkt aus einem Eclipse- oder Flash-Builder-Projekt zu importieren oder anzeigen zu lassen?
Wenn eine Mosaic-Beispielanwendung mit dem Desktop-Client gestartet wird, können dann Kacheln in separaten sowie nativen Fenstern gestartet werden?
Warum werden meine Modulkacheln nicht in meiner Anwendung angezeigt?
Setzen Sie im Katalogeintrag für Ihre Modulkacheln die Eigenschaft loadAs auf „module“:
<tile:Content loadAs="module" ... />
Warum sind meine Flex-basierten Kacheln zur Laufzeit leer?
Dieses Problem tritt auf, wenn sich die Version von Mosaic, die zu dem Kompilieren der Kacheln verwendet wurde, von der Version von Mosaic auf dem Server unterscheidet. Sie haben beispielsweise eine Vorabversion verwendet, um Kacheln zu erstellen, haben jedoch die Release-Version des Mosaic-Servers auf Ihrem Anwendungsserver bereitgestellt. Die Versionen müssen genau übereinstimmen.
Gibt es eine Möglichkeit, Kacheln so zu verschieben, das diese das absolute Layout verwenden?
Das absolute Layout ist nicht dynamisch, sodass die Bewegung von Kacheln nicht erlaubt ist. Nur dynamische Layouts ermöglichen es dem Benutzer, Kacheln zu verschieben. Aufgrund technischer Beschränkungen können Kacheln nicht überlappen, daher werden dynamische Layouts immer automatisch angeordnet. Weitere Informationen zu Layouts finden Sie unter Anwendungen für LiveCycle Mosaic entwickeln.
Gibt es eine Möglichkeit, Kacheln dynamisch aus einem Katalog abzurufen?
Nicht explizit. Eine Problemumgehung besteht darin, die Katalog-Datei „descriptor.xml“ zu laden und sie mithilfe eines XML-Objekts in Flex zu analysieren, um die Kachel-Namen abzurufen.
Warum erhalte ich den folgenden HTML-Kachel-Fehler: „Der Verweis auf die Entität ‚Quelle‘ muss mit dem Trennzeichen ‚ ; ‘ (Semikolon) enden“.
Stellen Sie sicher, dass Sie in Links, Escape-Sequenzen für Sonderzeichen wie zum Beispiel Et-Zeichen verwenden. Ersetzen Sie „&“ mit „&“).
Ist es möglich, eine Kachel so zu sperren, dass ein anderer Benutzer sie nicht verschieben oder löschen kann?
In Bezug auf das Entfernen von Inhalten können Sie das Attribut allowContentDelete einer Ansicht oder eines Bereichs auf „false“ setzen, um zu verhindern, dass Inhalte gelöscht werden können. Stellen Sie alternativ das Attribut allowDelete des Elements „tileReference“ im entsprechenden Katalog auf „false“.
Hinweis: Kacheln können nur in einem der dynamischen Layouts verschoben werden. Somit kann die Verwendung eines nicht dynamischen Layouts eine Alternative darstellen. Wenn Sie möchten, dass ein Teil eines Kachel-Layouts dynamisch ist, können Sie die Panels verschachteln. Durch das Verschachteln von Bereichen können Sie einen festen Bereich für die feste Kachel und einen Teilbereich für eine oder mehrere dynamische Kacheln erstellen. Weitere Informationen zu Layouts finden Sie unter Entwickeln von Anwendungen für LiveCycle Mosaic.
Können Mosaik-Kacheln, auf die über den Browser-Client zugegriffen wird, für Suchvorgänge indiziert werden (zum Beispiel mittels einer Google-Anwendung)?
Abgesehen von HTML-Kacheln, ist die Antwort nein. HTML kann durchsucht werden, solange ein anderer Link zu derselben Kachel existiert, den der Crawler erreichen kann. Streng genommen sind die XML-Anwendungsdateien nicht zum Crawlen verfügbar, und daher folgt die Suchmaschinen-Spinne ihren Zeigern nicht. HTML-Kacheln können indiziert werden, wenn die Spinne die HTML-Kachel erreichen kann, ohne die XML-Anwendungsdatei verwenden zu müssen.
Ich habe eine Ansicht, die eine sitzungssensitive HTML-Kachel enthält (zum Beispiel Verwendung von Cookies). Wird dieses Cookie beim Speichern dieser Ansicht so verwaltet, dass es bei der Wiederherstellung der HTML-Sitzung verfügbar ist?
HTML-Sitzungen werden nicht beibehalten. Um diese Funktion zu erstellen, muss die Sitzung neu aufgebaut werden, wenn die Ansicht wiederhergestellt wird. Wenn Sie den HTML-Baustein erstellen, können Sie die Mosaic-JavaScript-APIs verwenden, um Informationen in den persistenten Ansichtskontext einzufügen. Mit dieser Konfiguration kann die Sitzung beim nächsten Laden des HTML-Bausteins wiederhergestellt werden.
Ich habe eine Ansicht repliziert, die einen sitzungsorientierten HTML-Baustein enthält. Gibt es einen Mechanismus, um zu verhindern, dass das Cookie der ursprünglichen Ansicht die Cookies nachfolgender Ansichten überschreibt (z. B. das Erstellen einer HTML-Steuerung)?
Jeder HTML-Baustein hat seine eigene Steuerung, daher sollte keine Überkreuz-Überschreibung stattfinden. Wenn dies jedoch der Fall ist, melden Sie es dem Entwicklungsteam als Bug.
Können Bausteine als Flex-Module entweder in die aktuelle oder untergeordnete Anwendungsdomäne einer Shell-Anwendung geladen werden?
Sie kompilieren Modulbausteine mit der gleichen Version von Flex, die für Mosaic verwendet wurde. Das Unterklassieren des MXML-Modul-Bausteins erfordert ebenfalls das Ändern der loadAs Attribut zu „mod“ in der Katalog-XML-Datei für den Baustein.
Warum scheint ein Baustein auf einigen Servern zusammengedrückt zu sein (Gitter wird angezeigt, aber kein Zelleninhalt), wird aber auf anderen Servern normal angezeigt?
Die Lösung besteht darin, den Parameter fitContent = "true" für das Bausteinklassen-Tag in der Datei „descriptor.xml“ so festzulegen, dass das Raster ordnungsgemäß angezeigt wird.
Gibt es eine Möglichkeit, dass eine Liste der Bausteine und der folgenden Attribute von den APIs abgerufen werden?
Es gibt eine „get tiles()“-Methode auf IPanel. Beispiel:
var t:Array = parentPanel.tiles
Diese Methode stellt ein Array von ITile Schnittstellen für jeden Baustein im Bedienfeld bereit. Anschließend können Sie jedes Element im Array in IMosaicNode umwandeln, um den nodeName oder die nodeLabel-Beschriftung abzurufen. Wenn Sie alle Bausteine in der Anwendung haben möchten, verwenden Sie zuerst die Methode „IApplication get views()“, dann die Methode „get panels()“ auf jedem IView usw. Derzeit können Sie keine Liste der Bausteine aus dem Katalog abrufen.
Kann man ein Video in einem Mosaic-Anwendungsbaustein anzeigen? Zum Beispiel eine SWF-Datei einer Demo, die auf einem Remote-HTTP-Server verfügbar ist und nicht abgespielt wird, wenn der Benutzer sie nicht startet?
Ja. Wenn das Video nur eine SWF-Datei und keine mit Flex erstellte Anwendung ist, hosten Sie die SWF-Datei auf einem Webserver. Registrieren Sie dann die URL als HTML-Baustein in Mosaic.
Warum werden eingebettete Inhalte im Browser-Client angezeigt, aber nicht im Desktop(AIR-basiert)-Client?
Es wird empfohlen, dass Sie Ressourcen in den Katalog aufnehmen und über die URL laden, wie in einigen der Mosaic-Samples dargestellt. Das Einbetten von Assets verursacht das Laufzeitproblem.
Warum werden die Flex-Tabellen-Datentipps nicht an der richtigen Stelle angezeigt, wenn sie in einem Baustein verwendet und mit dem Browser-Client aufgerufen werden?
Wenn der Code als App ausgeführt wird, erscheint der Datentipp im Diagramm. Wenn sie jedoch als Baustein ausgeführt wird, erscheint der Datentipp wenige Zentimeter unter dem Diagramm. Dieses Problem mit den Tabellen von Datentipps in Mosaic 9.5.0.0 ist bekannt und hat mit dem vererbten Koordinatenraum zu tun. Die an den Diagrammen beteiligten Bibliotheken verwenden nicht die richtige Methode, um zu bestimmen, wie, oder wo der Datentipp-Text angezeigt wird. Dieses Problem tritt nur bei Datentipps auf. Tool-Tipps funktionieren ordnungsgemäß.
Kann die Anwendungsdomäne für einen modularen Baustein angegeben werden, wenn sie geladen wird, um diese Klassendefinitionen übernehmen?
Zurzeit können Sie beim Laden eines Moduls die Anwendungsdomäne nicht angeben. Die einzige Möglichkeit, Bausteine in Mosaic zu laden, erfolgt über den Anwendungskatalog mithilfe des Bausteins (ActionScript oder JavaScript). Weitere Informationen finden Sie im ICatalog unter der Methode „getTile“.
Ist es möglich, ein Hintergrundbild zu erstellen, das die gesamte Mosaic-Anwendung abdeckt?
Wenn Sie HTML-Bausteine verwenden, kann kein Hintergrundbild dargestellt werden. Das Hintergrundbild stört den HTML-Baustein selbst. Dieses Problem ist eine bekannte Einschränkung des Flash-Players. Wenn Sie auf Flex basierende Bausteine verwenden, gehen Sie wie folgt vor:
-
Erstellen Sie einen Modulbaustein auf Shell-Ebene Ihrer application.xml. Beispiel:
-
Legen Sie im Baustein „MyMenuTile“ die folgenden Attribute in Ihrer Modulbaustein-Definition fest:
Wie setze ich die Eigenschaft backgroundColor für einen Modulbaustein während der Laufzeit?
Modulbausteine erben das standardmäßige backgroundAlpha = 0 aus dem Containerstil innerhalb der Laufzeit selbst. Um sicherzustellen, dass die von Ihnen eingestellte Hintergrundfarbe korrekt angezeigt wird, setzen Sie backgroundAlpha auf „1.0“.
Warum werden HTML-Bausteine im Desktop-Client korrekt angezeigt, aber nicht im Flash Player?
Der Grund dafür ist, dass die Stylesheets in der Desktop (AIR-basierten) Client-Laufzeitumgebung und der Browser-Client-Laufzeitumgebung unterschiedlich sind. Sie legen jeweils einen anderen Wert des backgroundAlpha-Attributs fest. Das Ergebnis ist, dass das Hintergrund-Alpha für Elemente in der Desktop-Client-Laufzeit nicht überschrieben werden muss, sodass HTML-Bausteine korrekt angezeigt werden.
Ist es möglich, Bausteine direkt aus einem Eclipse- oder Flash Builder-Projekt zu implementieren?
Nein. Anweisungen zur Implementierung finden Sie unter Erste Schritte mit Mosaic.
Wenn eine Mosaic-Beispielanwendung mit dem Desktop-Client gestartet wird, können Bausteine in separaten nativen Fenstern gestartet werden?
Nein. Im Desktop-Client können Sie jedoch einen Baustein festlegen, um native Fenster zu öffnen, die „schweben“ können, d. h. sie sind vom Shell-Fenster getrennt.
Bedienfelder
Warum habe ich Probleme beim Hinzufügen von Bausteinen zu Bedienfeldern und deren Schließen, wenn ich diese dynamisch erstelle?
Kann ich den Bedienfeld-Fokus programmgesteuert einstellen?
Kann ich den Namen eines Bedienfeldes programmgesteuert ändern?
Warum haben Knoten sowohl Namen als auch Bezeichnungen?
Warum habe ich Probleme beim Hinzufügen von Bausteinen zu Bedienfeldern und deren Schließen, wenn ich diese dynamisch erstelle?
Um dieses Problem zu vermeiden, setzen Sie die Eigenschaft nodeLabel für das Bedienfeld. Beispiel:
var pPanel:IPanel = this.mosaicApp.createBlankPanel(); pPanel.nodeLabel = pLabel; // which is some String this.mosaicApp.activeView.addPanel(pPanel);
Kann ich den Fokus programmgesteuert festlegen?
Nein.
Kann ich den Namen eines Bedienfelds programmgesteuert ändern?
Nein. Sie können den Namen eines Mosaic DOM-Knotens in der Oberfläche com.adobe.mosiac.om.in terfaces.IMosaicNode programmgesteuert ändern. Weitere Informationen finden Sie im ActionScripts 3.0 Referenzhandbuch für die Adobe Flash-Plattform.
Warum haben Knoten sowohl Namen als auch Beschriftungen?
CRX-Namensattribute sind interne IDs, die der Basisname für das Asset sind, wenn es im Repository gespeichert wird. Die APIs müssen den Benutzer auffordern, die Beschriftung und nicht den Namen festzulegen. Die Beschriftung stellt das Element in der Benutzeroberfläche dar und kann jedes beliebige Zeichen verwenden. Dieser Name ist das Tag für das Element, das in der Benutzeroberfläche angezeigt wird. Der Name kann von der Beschriftung abgeleitet werden. Sie sollte jedoch für die Verwendung als Name geeignet sein, unter dem das Asset im Repository gespeichert ist. Darüber hinaus kann der Server den Namen ändern (z. B. durch Festlegen des Namens auf eine eindeutige ID für gespeicherte Ansichten).
Ansichten
Was bedeutet, dass eine Ansicht „gespeichert“ werden kann?
Warum ist mein Attribut clientName nicht definiert, wenn ich eine gespeicherte Ansicht öffne?
Ist es möglich, ein Array-Objekt für eine Ansicht zu erhalten?
Was hat es zu bedeuten, dass eine Ansicht „gespeichert“ werden kann?
Wenn eine Ansicht gespeichert wird, werden die Liste der Bausteine, die jeweiligen Baustein-Layouts und der Kontext der Ansicht auf dem Mosaic-Server gespeichert.
Warum ist mein Attribut clientName beim Öffnen einer gespeicherten Ansicht undefiniert?
Sie verwenden einen Wert von „activeView“ in der Methode init beim Versuch, den Kontext abzurufen. Bei der aktiven Ansicht handelt es sich nicht unbedingt um die Ansicht, die während der Initialisierung ausgeführt wird. Eine Alternative wäre, stattdessen einen Wert von „parentView“ zu verwenden. Beispiel:
ClientID.text = parentView.context.getAttribute("clientName");
Ist es möglich, ein Array-Objekt für eine Ansicht zu erhalten?
Nein. Die Persistenz existiert nur für Objekte vom Typ Zeichenkette, Datum, Zahl, boolescher Wert und Null.
Organizer
Ist es möglich, den Organizer automatisch zu minimieren oder dynamisch zu minimieren, wenn es keine aktuell gespeicherten Ansichten gibt?
Kann ich die auf einem Organizer angezeigten Farben ändern?
Ist es möglich, den Organizer automatisch zu minimieren oder dynamisch zu minimieren, wenn es keine aktuell gespeicherten Ansichten gibt?
Nein.
Kann ich die auf einem Organizer angezeigten Farben ändern?
In Mosaic können Sie die Farbe von Aspekten eines Organizers ändern. Ein Organizer besteht aus mehreren Teilen, die in der Anwendung „XML“ definiert sind. Weitere Informationen finden Sie unter LiveCycle-Mosaic-XML- Schema-Referenz. Darüber hinaus veranschaulicht das in Mosaic integrierte Beispiel des „Adobe Spark Page Client Dashboards“ die Anpassung des Erscheinungsbildes von Aspekten eines Organizers (siehe SlateOrganizerSkin.mxml).
Layouts
Gibt es eine Möglichkeit, standardmäßige Bedienfeld-Layouts festzulegen?
Kann ich ein Baustein-Layout erstellen, das keine Benutzeroberfläche anzeigt („Chrome“)?
Gibt es eine Möglichkeit, standardmäßige Bedienfeld-Layouts festzulegen?
Ja. In Mosaic können Sie Ansichten und Bedienfelder mithilfe von Anwendungsstandards definieren (vorkonfigurieren). Informationen zum Einstellen der Standardeinstellungen finden Sie unter Entwicklung von Anwendungen für LiveCycle -Mosaic.
Kann ich ein Baustein-Layout erstellen, das keine Benutzeroberfläche anzeigt („Chrome“)?
Verwenden Sie das in der Anwendungs-XML definierte Attribut tileChrome, um die sichtbare Benutzeroberfläche (oder „Chrome“) für einen Baustein ein- und auszuschalten. Weitere Informationen zum Attribut tileChrome finden Sie unter LiveCycle-Mosaic-XML-Schema-Referenz.
Stylesheets
Wie assoziiere ich einen Mosaic-Baustein mit Spark-Skin?
Ihre einzige Option für das Skinning eines Bausteins ist es, die Eigenschaft HostComponent für Ihren Baustein auf eine Instanz von com.adobe.mosaic.core.IMosaicComponent zu setzen. Dieser Mechanismus ist absichtlich generisch und wird absichtlich über eine Schnittstelle offengelegt. Siehe beispielsweise die hier verfügbare Klasse com.adobe.mosaic.skins.aqua.TileSkin: ActionScript 3.0-Referenz für die Adobe Flash-Plattform.