Migration FS_LIST (SERVICE) nach FS_INDEX (DataAccess): Alte Werte werden nicht übernommen
Author: tfuchs
Publication Date: 11/20/2019 16:53
Ich möchte eine FS_LIST in eine FS_INDEX umwandeln und dabei möglichst die Daten nicht verlieren.
Die FS_LIST sah bisher folgendermaßen aus:
<FS_LIST name="db_um_channels" hFill="yes" rows="10">
<DATASOURCE type="service" useLanguages="yes">
<LABELS>
<LABEL lang="*">#item.channelTitle + " (" + #item.channelId + ")"</LABEL>
</LABELS>
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
</ACTIONS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="singleview" constraint="bottom"/>
</LAYOUT>
<PROVIDER name="NewsletterChannelProvider"/>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Channels"/>
</LANGINFOS>
</FS_LIST>
Der FS_INDEX sieht nun so aus:
<FS_INDEX name="db_um_channels" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Empfängerlisten/-segmente (DataAccess)"/>
</LANGINFOS>
<SOURCE name="EmailMarketing/ChannelDataAccessPlugin" semtagName=""/>
</FS_INDEX>
Ich habe einfach die o.g. Komponente ausgetauscht und auf dasselbe Datenbankfeld gemappt.
Leider ist das FS_INDEX-Feld danach leer, d.h. offenbar können die im alten Format persistierten Inhalte nicht von der FS_INDEX gelesen werden. Ich habe mir das einmal direkt in der Datenbank angeschaut. Was die FS_LIST speichert sieht so aus:
<CMS_VALUE name="db_um_channels" tag="FS_LIST"><LANG id="DE" set="1"><DATA><ID>2337200</ID></DATA></LANG></CMS_VALUE>
Wenn ich mit der FS_INDEX die Daten neu speichere sieht es in der Datenbank danach so aus:
<CMS_VALUE name="db_um_channels_da" tag="FS_INDEX"><LANG id="DE" set="1"><INDEX><RECORD>2337200</RECORD></INDEX></LANG></CMS_VALUE>
D.h. Record und ID sind dieselbe, prinzipiell sollte also das DataAccessPlugin mit dem in der FS_LIST gespeicherten Wert was anfangen können.
Fehlermeldungen kommen keine weder im Client, noch im Server.
Tags: dataaccessplugin, fs_index, fs_list
-
Author: tfuchs - 11/26/2019 13:50
Zur Info an alle: Es handelt sich hierbei laut Aussage vom Helpdesk um einen Bug, der in 2019-12 behoben sein sollte.
0 -
Author: tfuchs - 2/6/2020 7:15
Info an alle, in 2019-12 wurde dieser Bug behoben.
0 -
Author: schlun - 2/7/2020 15:19
Hallo,
ich bin auch gerade dabei, von FS_LIST umzusteigen und habe das EmailMarketing Modul ebenfalls im Einsatz. Wenn ich jetzt aber auf FS_Index umstelle, kommt die Fehlermeldung
Ungültige GOM-Benutzung!
Das referenzierte Plug-in 'EmailMarketing/NewsletterChannelProvider' existiert nicht.
In den Server-Eigenschaften unter Module existiert dies natürlich. Habe ich noch was vergessen/übersehen?
Server Version ist 2019-12Danke und viele Grüße
Matthias Schlun0 -
Author: tfuchs - 2/7/2020 15:32
Hallo Matthias,
der NewsletterChannelProvider ist noch der alte Service, der nur mit FS_LIST funktioniert. Das FS_INDEX muss so aussehen
<FS_INDEX name="tt_um_channels" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Empfängerlisten/-segmente" />
</LANGINFOS>
<SOURCE name="EmailMarketing/ChannelDataAccessPlugin" semtagName="" />
</FS_INDEX>
Voraussetzung dafür ist die Modulversion 6.5.0, die Du im Downloadbereich von e-Spirit (oder auf www.universal-messenger.de) findest.
Grüße
Timo0 -
Author: schlun - 2/7/2020 15:40
Danke, das war es. Jetzt schmeißt es nur leider eine Exception, wenn ich das neue Modul konfigurieren möchte:
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key fs-resource.module.newsletter.NewsletterConfigurator_SemTag
at java.base/java.util.ResourceBundle.getObject(Unknown Source)
at java.base/java.util.ResourceBundle.getObject(Unknown Source)
at java.base/java.util.ResourceBundle.getString(Unknown Source)
at de.pinuts.firstspirit.newsletter.admin.NewsletterConfig.configure(NewsletterConfig.java:22)
at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel.init(GenericConfigPanel.java:123)
at de.espirit.firstspirit.admin.gui.projectpanels.ApplicationsPanel$ApplicationListPane.openConfigurationDialog(ApplicationsPanel.java:384)
at de.espirit.firstspirit.admin.gui.projectpanels.ApplicationsPanel$ApplicationListPane.actionPerformed(ApplicationsPanel.java:266)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at de.espirit.firstspirit.common.gui.FsButton.fireActionPerformed(FsButton.java:86)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:161)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:138)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
at java.desktop/java.awt.Dialog.show(Unknown Source)
at java.desktop/java.awt.Component.show(Unknown Source)
at java.desktop/java.awt.Component.setVisible(Unknown Source)
at java.desktop/java.awt.Window.setVisible(Unknown Source)
at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
at de.espirit.common.gui.SelfDisposingDialog.setVisible(SelfDisposingDialog.java:159)
at de.espirit.firstspirit.admin.gui.ProjectDialog.showDialog(ProjectDialog.java:428)
at de.espirit.firstspirit.admin.gui.CMSAdminConsole.openProjectDialog(CMSAdminConsole.java:1173)
at de.espirit.firstspirit.admin.gui.CMSAdminConsole.actionPerformed(CMSAdminConsole.java:1030)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at de.espirit.firstspirit.common.gui.FsButton.fireActionPerformed(FsButton.java:86)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.AbstractButton.doClick(Unknown Source)
at java.desktop/javax.swing.AbstractButton.doClick(Unknown Source)
at de.espirit.firstspirit.admin.gui.CMSAdminConsole$11.mouseClicked(CMSAdminConsole.java:1579)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:161)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:138)
at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
0 -
Author: tfuchs - 2/7/2020 15:47
Hast Du auch die Version 6.5.0 des Moduls installiert und auf allen Projekten aktualisiert? Bei der Version 6.1.0 gab es einen solchen Bug.
0 -
Author: schlun - 2/7/2020 15:47
Siehe modifizierte Antwort :smileywink:
0 -
Author: tfuchs - 2/7/2020 15:50
Ich schätze, dass hier der FS-Server ein bisschen mit den verschiedenen Versionen des Moduls durcheinander gekommen ist. Evtl. mal FS ganz neu starten?
0 -
Author: schlun - 2/7/2020 15:53
Hat leider nichts gebracht, immer noch die java.util.MissingResourceException. Auch das löschen und neu hinzufügen der Projekt-Komponente hat nichts gebracht.
0 -
Author: tfuchs - 2/7/2020 15:58
Läuft Dein Server im Modus Isolated oder Legacy?
0 -
Author: schlun - 2/7/2020 16:04
im Legacy. Ich wollte das Modul mal komplett entfernen, aber das scheint auch verbuggt zu sein:
0 -
Author: tfuchs - 2/7/2020 16:06
Hast Du die Meldung nur für diese eine Ressource oder auch für andere? In welcher Sprache läuft der ServerManager?
0 -
Author: tfuchs - 2/7/2020 16:09
Ok, da ist irgendwas bei FirstSpirit selbst durcheinander geraten, dazu kann ich aus Modulsicht jetzt leider nichts sagen. Ich vermute, dass irgendwo im System noch Artefakte einer älteren Version des Moduls rumfliegen.
Das müsstest Du mal bitte beim e-Spirit Helpdesk eintüten, um das Problem in richtige Bahnen zu lenken.
0 -
Author: schlun - 2/7/2020 16:09
Was meinst du mit Sprache?
Beim Deinstallieren kam der Hinweis, dass es noch in einem deaktiviertem Projekt verwendet wird, dort habe ich die Komponente entfernt. Danach kam dann die leere Verwendungs-Meldung. Server Neustart hat nicht geholfen.0 -
Author: schlun - 2/7/2020 16:10
Nach neustarten und neu installieren des Moduls und neu hinfügen der Komponente kann ich es nun konfigurieren :smileyhappy:
Danke für die Hilfe!0 -
Author: tfuchs - 2/7/2020 16:14
Super! Neustart hilft bei FS so oft ;-)
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
16 Kommentare