2012-10-25 16 views
5

Uso Seaside 3.0.7 su Pharo 1.3 e Pharo 1.4. Per disabilitare la barra degli strumenti di sviluppo alla base delle mie applicazioni Mare ho fatto eseguo, as the Seaside Book says:Rimuovere correttamente la barra degli strumenti di sviluppo in Seaside

WAAdmin applicationDefaults 
    removeParent: WADevelopmentConfiguration instance 

Il che fa quello che dice - ma solo circa la metà delle applicazioni registrate prendere atto che il loro genitore è andato .

L'altra metà mostra ancora la barra degli strumenti e il sito web di configurazione per queste applicazioni dimostra ancora:

Classes Root Decorazione: WAToolDecoration [ereditato]

e solo dopo che clicco una volta al Configura (Root Decoration Classes), la schermata successiva mostra

Disponibili: decoro WATool, Corrente: (vuoto)

e così non clicco nient'altro che OK, e la barra degli strumenti è finalmente andata.

Qualcuno può aiutarmi con questo?

Aggiornamento:

Come Paolo DeBruicker accennato sulla mailinglist, questo potrebbe essere un bug relativo ad una cache introdotto a Seaside 3.0.4. Ho aperto un issue nel bugtracker.

risposta

2

Esiste attualmente un problema di memorizzazione nella cache. Paul DeBruicker ha fornito una soluzione alternativa:

Se non vi interessa su come accedere alle altre applicazioni è possibile eseguire questo:

gestori WADispatcher predefinite fare: [: ogni | WADispatcher default annullare la registrazione: each].

che rimuove tutte le applicazioni installate nell'immagine e quindi è possibile inizializzare nuovamente le proprie applicazioni in modo da avere solo le app che si sono interessati a risolvere.

Sarà utile sapere come rimuovere la barra degli strumenti senza annullare la registrazione di , ma ciò potrebbe aiutare a breve termine.

In seguito è possibile inizializzare le applicazioni che ti interessano.

+0

Spero che qualcuno risolva presto il problema della cache :) E anche con la soluzione proposta, accadono cose strane. Se stampo i gestori di default di WADispatcher, faccio: [: each | WADispatcher default unregister: each]. ottengo il seguente: un dizionario ('esempi' -> un WADispatcher 'javascript' -> un WADispatcher 'strumenti' -> un WADispatcher) !! Solo dopo averlo eseguito una seconda volta ottengo: un dizionario(). Che succede qui? –

+0

Ok, la soluzione corretta sembra essere questa: (dallo stesso thread della mailing list) "Proprio ieri, l'ho riparato per accumulare le voci da rimuovere e quindi rimuoverle dopo l'attraversamento.I ha finalmente capito che rimuovere le voci mentre si eseguiva lo #withDescendantsDo: traversal causerebbe la perdita di alcune voci. " –

Problemi correlati