Home Forum Nuclos Bedienung Administration und Installation Benutzereinstellungen plötzlich verschwunden

Ansicht von 10 Beiträgen - 1 bis 10 (von insgesamt 10)
  • Autor
    Beiträge
  • #4559
    Martin Schwärzel
    Teilnehmer

    Hallo
    von einem auf den anderen Tag habe ich folgende Fehlermeldung für den Administrator nuclos:
    (ich habe immer ein Hintertürchen mit einem 2. Administrator, darum nicht so schlimm, komme noch ins System rein)

    In welchem Pfad sind die Benutzerdaten gespeichert, um sie wieder herzustellen?

    Gruss Martin

    Exception in thread „AWT-EventQueue-0“ org.nuclos.common.NuclosFatalException: Die Benutzereinstellungen konnten nicht geladen werden.
    at org.nuclos.client.common.prefs.NuclosPreferencesFactory.userRoot(NuclosPreferencesFactory.java:139)
    at java.util.prefs.Preferences.userRoot(Unknown Source)
    at org.nuclos.common2.ClientPreferences.getUserPreferences(ClientPreferences.java:45)
    at org.nuclos.client.common.LocaleDelegate.selectLocale(LocaleDelegate.java:275)
    at org.nuclos.client.login.LoginController.postProcessLogin(LoginController.java:384)
    at org.nuclos.client.login.LoginController.access$200(LoginController.java:95)
    at org.nuclos.client.login.LoginController$2.propertyChange(LoginController.java:258)
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    at java.awt.Component.firePropertyChange(Unknown Source)
    at javax.swing.JOptionPane.setValue(Unknown Source)
    at javax.swing.plaf.basic.BasicOptionPaneUI$ButtonActionListener.actionPerformed(Unknown Source)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(Unknown Source)
    at javax.swing.SwingUtilities.notifyAction(Unknown Source)
    at javax.swing.JComponent.processKeyBinding(Unknown Source)
    at javax.swing.KeyboardManager.fireBinding(Unknown Source)
    at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
    at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
    at javax.swing.JComponent.processKeyBindings(Unknown Source)
    at javax.swing.JComponent.processKeyEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.util.prefs.InvalidPreferencesFormatException: org.xml.sax.SAXParseException: Element type „ma“ must be followed by either attribute specifications, „>“ or „/>“.
    at java.util.prefs.XmlSupport.importPreferences(Unknown Source)
    at java.util.prefs.Preferences.importPreferences(Unknown Source)
    at org.nuclos.client.common.prefs.NuclosPreferencesFactory.userRoot(NuclosPreferencesFactory.java:132)
    … 57 more
    Caused by: org.xml.sax.SAXParseException: Element type „ma“ must be followed by either attribute specifications, „>“ or „/>“.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.seekCloseOfStartTag(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at java.util.prefs.XmlSupport.loadPrefsDoc(Unknown Source)
    … 60 more

    #4562
    Frank Pavlic
    Teilnehmer

    Hallo Martin,
    in keinem Pfad, die findest Du in der Datenbank. Laut Quellcode verwendet Nuclos
    java.util.prefs.Preferences . Die Ergebnisse aus dem Backend werden in XML-Format zurückgegeben. Die Daten werden allerdings von nuclos in der Datenbank gesichert.
    Tabelle lautet T_MD_USER , Spalte OBJPREFERENCES und gesucht wird mit dem Benutzernamen in STRUSER. OBJPREFERENCES enthält Binäre Daten.

    Gruß

    Frank

    #4566
    Martin Schwärzel
    Teilnehmer

    Interessanterweise finde ich in dieser Tabelle beim user nuclos einen Eintrag, scheint aber korrupt zu sein.
    Kann dies sein, weil ich am Freitag die Verbindung nur getrennt habe und nicht ausgeloggt habe. Sollte eigentlich kein Problem sein, weil ich dies schon öfters gemacht habe.

    Setze nun die Datenbank zurück und dann sollte es wieder klappen.

    Zusätzliche Frage:
    Hat der erste Benutzer nuclos als Superuser noch spezielle Berechtigungen wie bei anderen Systemen, wo der Standardadmin einmalig ist, oder haben alle als Superuser definierten Benutzer genau die gleichen Rechte?

    Gruss Martin

    #4570
    Frank Pavlic
    Teilnehmer

    Hallo Martin,
    bei Netzwerk-Einsatz kann vieles möglich sein, von Paketverlusten, hinüber zu korrupten Netzwerkpaketen und damit Schrottdaten , usw… Bevor ich hier ein Fehler in der Software suche, würde ich einen tcpdump laufen lassen und checken was überhaupt bei der Datenbank ankommt, sollte das Phänomen öfters vorkommen.

    Die zusätzliche Frage kann ich Dir leider nicht beantworten aus Mangel an Wissen.
    Eine Idee wäre einen Superuser neben nuclos anzulegen und die beiden XMLs bzw. Datenbankeinträge zu vergleichen. Oder aber warten, bis ein nuclos-Entwickler über diesen Post stolpert 😉

    Gruß

    Frank

    #4578
    Ramin Goettlich
    Teilnehmer

    Hallo,

    alles Superuser haben die gleichen Rechte.

    Grüsse,
    nuclosian

    #4581
    Martin Schwärzel
    Teilnehmer

    ok, dann ist der erste Schritt in jeder nuclos Umgebung Erstellen eines 2. Superusers, damit man immer in das System rein kommt, solange es läuft.

    Gruss Martin

    #4582
    Ramin Goettlich
    Teilnehmer

    Oder im Fehlerfalle (wie oben) die Spalte OBJPREFERENCES beim User nuclos auf der DB leeren.

    #4593
    Frank Pavlic
    Teilnehmer

    Hallo nuclosian,
    cool, wieder etwas gelernt, einfach OBJPREFERENCES löschen setzt alles zurück. Wäre doch super, wenn man solche Tipps im Wiki unterbringen könnte. Gibt es hierfür schon einen Bereich? „Tipps & Tricks“ oder Ähnliches…

    Gruß

    Frank

    #4594
    Ramin Goettlich
    Teilnehmer

    Hallo Frank,

    aber das ist nur die Lösung im Fehlerfall (wenn man aufgrund eines Fehlers in den Preferences Nuclos mit einem bestimmten Account nicht mehr starten kann, im normalen Betrieb sollte man das nicht tun.

    Dafür gibt es aber ab 3.2 die Möglichkeit, die Preferences selektiv (z.B. für eine bestimmte Entität) per Kontextmenü auf den Workspace-Default zurückzusetzen.

    Das WIKI steht übrigens grundsätzlich jedem zur Bearbeitung frei.

    Grüsse,
    nuclosian

    #4615
    Frank Pavlic
    Teilnehmer

    Hallo nuclosian,
    danke für die Informationen.

    Gruß

    Frank

Ansicht von 10 Beiträgen - 1 bis 10 (von insgesamt 10)