Dashboard und INavigationRoot

  • Hallo zusammen,

    ich bin gerade dabei meine Plone-Installation von 3.2.2 auf 3.3.4 upzudaten. Dabei bin ich auf folgendes Problem gestossen:

    Beim Klicken auf den eigenen User in der PersonalBar wird das Dashboard nicht mehr gefunden. Meine bisherige Ursachenforschung hat folgendes ergeben:

    1. Das Dashboard ist in der configure.zcml nun auf das Interface INavigationRoot und nicht mehr wie früher auf ISiteRoot gebunden.
    2. Meine Navigations-Wurzel habe ich über die navtree_properties auf ein Unterverzeichnis gelegt.
    3. Das PersonalBarViewlet verlinkt das Dashboard auf die navigation_root_url(), damit werden die navtree_properties ausgewertet und damit das Unterverzeichnis im Link verwendet.
    4. Mein Unterverzeichnis ist allerdings bislang nicht als INavigationRoot konfiguriert.
    5. Damit wird die dashboard-Seite nicht mehr gefunden.

    Das ganze lässt sich auch in einer frischen Plone-3.3.4-Installation nachvollziehen.

    Das heisst also vermutlich, ich muss irgendwie auf meinen Unterordner das Marker-Interface INavigationRoot setzen?
    Wie mach ich dass am besten? Geht das über GenericSetup?
    Oder gibt es noch eine andere Lösung des Problems?

    Schon mal vielen Dank und viele Grüße

    Verena

  • Hallo Verena,

    was passiert den, wenn Du auf das User-Icon klickst, kriegst Du eine Fehlermeldung?

    Gruss, Ida

  • Hallo Ida,

    ich bekomme die typische Meldung bei nicht vorhandenen Seiten: "Diese Seite existiert leider nicht.... "

    Der Link von zeigt auf http://localhost:8080/Plone/info/dashboard.

    "info" ist dabei das Unterverzeichnis, das ich (schon in den in den früheren Plone-Versionen) in den portal_properties unter navtree_properties als "root" gesetzt habe um das Wurzelverzeichnis zu verändern.

    Der Link wird ja vom PersonalBarViewlet generiert. Dieses wertet die navtree_properties aus, daher steht auch das Unterverzeichnis im Link.

    Allerdings ist die View "dashboard" auf das Interface INavigationRoot registiert und nicht wie in früheren Plone-Versionen auf ISiteRoot. Mein info-Verzeichnis stellt aber das Interface INavigationRoot nicht zur Verfügung und damit wird das dashboard nicht gefunden. Soweit das Ergebnis meiner bisherigen Fehleranalyse.

    Zwischenzeitlich habe ich auch folgendes festgestellt:
    Wenn ich jetzt im ZMI auf meinen info-Ordner manuell das Marker-Interface INavigationRoot setze, dann funktioniert auch der dashboard-Link wieder.

    Es wäre mir jedoch lieber, wenn ich diese Änderung in meinem Policy-Produkt im Filesystem machen könnte.

    Die andere Frage, die sich mir stellt, ist folgende:
    Warum ist das Interface INavigationRoot nicht standardmäßig auf einem Verzeichnis gesetzt, das ich in den navtree_properties als root eintrage?

    Vielen Dank und viele Grüße
    Verena