tfuchs
Elite Observer

Migration FS_LIST (SERVICE) nach FS_INDEX (DataAccess): Alte Werte werden nicht übernommen

Jump to solution

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.

1 Solution

Accepted Solutions

Info an alle, in 2019-12 wurde dieser Bug behoben.

View solution in original post

0 Kudos
16 Replies
tfuchs
Elite Observer

Zur Info an alle: Es handelt sich hierbei laut Aussage vom Helpdesk um einen Bug, der in 2019-12 behoben sein sollte.

0 Kudos

Info an alle, in 2019-12 wurde dieser Bug behoben.

0 Kudos

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-12

Danke und viele Grüße
Matthias Schlun

0 Kudos

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
Timo

0 Kudos

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 Kudos

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 Kudos

Siehe modifizierte Antwort Smiley Wink

0 Kudos

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 Kudos

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 Kudos