Eliminazione risorse non più necessarie
Auteur : Esse DiDiscussione di riferimento
http://answers.websitex5.com/post/87797
Indirizzo del sito di esempio
http://essedi.altervista.org/_EVO10/_errorefiles/index.html
Indirizzo per scaricare il progetto di esempio in formato iwzip
http://essedi.altervista.org/_EVO10/_errorefiles/errorefiles.iwzip
La soluzione è stata trovata con l'ausilio dei suggerimenti di Fabio Bevilacqua nella discussione sopra citata.
Riepilogo i termini del problema
- Alcune risorse rimosse dal progetto continuano ad essere presenti nelle cartelle del sito (files, images, gallery).
- Se si tenta di reinserire nel progetto una delle suddette risorse, si riceve il seguente errore
Nella cartella files del sito di esempio sono presenti tre risorse: due effettivamente necessarie (img1.png e img2.png) ed una (sd_showhide.css) non più presente nel progetto, né direttamente, né tramite qualche riferimento indiretto.
La soluzione proposta (seguendo i suggerimenti di Fabio Bevilacqua) è stata verificata per il semplice esempio da me riportato, ma sono abbastanza fiducioso della sua validità anche per progetti che presentino più risorse da eliminare.
La procedura è alquanto complessa e prevede l'intervento su file di sistema (cosa che non bisognerebbe fare mai). Per questo motivo va considerata solo una toppa ad un problema (bug?) che non dovrebbe esistere, nel senso che ICM dovrebbe porvi rimedio tramite una modifica al programma.
Le parti del progetto coinvolte sono:
- La cartella Library, dove sono memorizzate le risorse superflue
- Il file index.xml all'interno della cartella Library, dove sono riportati gli abbinamenti tra le risorse della cartella Library ed i nomi originari delle risorse
- Il file di progetto project.iwprj. Quest'ultimo è un archivio zippato, al cui interno è memorizzato il file testuale project da modificare, in formato XML.
Conviene sempre creare preventivamente una copia di sicurezza della cartella del progetto. Sarà così possibile ripristinare il progetto originario nel caso che la procedura qui descritta porti a risultati indesiderati.
Riporto di seguito le operazioni da eseguire, a progetto chiuso, per risolvere ambedue i problemi sopra elencati. Tra parentesi sono riportati i programmi utilizzati ed riferimenti all'esempio preso in esame.
- Aprire il file project.iwprj con un programma di compressione, tipo winzip, winrar, 7-zip (7-zip). Al suo interno troviamo il file project, che è in formato xml
- Estrarre il file project ed aprirlo con un programma di editing testo (Notepad++)
- Aprire il file index.xml della cartella Library con un programma di editing testo (Notepad++)
Per ognuno dei file superflui
- Ricercare all'interno di index.xml il riferimento al file superfluo (sd_showhide.css): esso è incluso in un codice compreso tra i tag "<Source" e "/>"
- Rilevare l'ID ad esso associato (o26c18ht98f89wnytx1qi6v4x2ff7xp0)
- Rimuovere dalla cartella Library il file con il nome uguale al suddetto ID (o26c18ht98f89wnytx1qi6v4x2ff7xp0)
- Rimuovere dal file index.xml il codice compreso tra i tag "<Source" e "/>" (tag inclusi)
- Ricercare all'interno del file project il riferimento al file superfluo (sd_showhide.css). Esso è incluso in un codice compreso tra i tag "<FileManagerItem>" e "</FileManagerItem>".
- Rimuovere tutto il codice (tag inclusi)
- Salvare i file modificati index.xml e project
- Reinserire il file project modificato in project.iwprj
- Cancellare le cartelle Preview e Upload
Concludo con una avvertenza importante. Il metodo descritto va bene per risorse che effettivamente non sono più richiamate all'interno del progetto. Eliminando risorse alle quali esiste un riferimento indiretto, non immediatamente e direttamente evidente, che al momento ci sfugge, comporterà effetti imprevedibili sul progetto. Ecco perché all'inizio è stato consigliato di effettuare una copia di sicurezza del progetto, da ripristinare in caso di esiti indesiderati della procedura sopra descritta.