Newsgroup: it.comp.programmare.win32
Titolo: Tenere traccia di file in windows

Supponiamo di avere un'applicazione che crea un file pincopallino.pdf 
nella cartella pippo.
Se qualcuno sposta il file dalla cartella pippo alla cartella pluto 
(mentre l'applicazione in questione non è in esecuzione) c'è un modo 
*semplice e veloce* per far sì che l'applicazione all'avvio "recuperi" 
il file nella cartella pluto?
In pratica esiste un identificativo dei file indipendente dal path che 
permetta di recuperare un file indipendentemente dalla cartella nella 
quale è posto (senza dover fare "pesanti" ricerche)? oppure altro 
meccanismo che realizzi una funzionalità simile?
Grazie!
Ciao!

oppure altro meccanismo che realizzi una funzionalità simile?
Di meccanismi se ne possono inventare quanti se ne vogliono (kpathsea?), ma
il sistema operativo, di suo e senza accrocchi aggiunti, ha altro da fare
che tenere traccia degli spostamenti di ogni file (e francamente, anch'io,
se fossi in te, mi dedicherei ad altro).
Eventualmente, si può tentare di impedire in primo luogo che il file venga
spostato (consentendo l'operazione solo a certi utenti). O andarsene con
stile ed eleganza, se non si trova il file.
Ciao.

 stile ed eleganza, se non si trova il file.
Ad esempio GoogleDesktop risolve, ne deduco, richiedendo di essere 
sempre in esecuzione per tenere traccia degli spostamenti dei file che 
ha indicizzato.
Grazie!
Ciao!

 ha indicizzato.
Bene, fai cosi anche tu. Se i google developers fanno cosi.... 
-- 
Luc

motivi di chiarezza) una simile funzionalità mi tornerebbe molto utile.
Di solito è più produttivo rivedere i propri progetti in base alla
situazione dell'universo, piuttosto che rivedere l'universo in base ai
propri progetti. Se la posizione di un file è critica, io cercherei di
farlo stare dov'è, piuttosto che consentirgli di essere dovunque e dover
inventare un sistema per trovarlo. In ogni caso, non è una funzionalità
impossibile da implementare.
Ciao.

 responsabilità.
Basterebbe un Id diverso per ogni file... Quando lo sposti ti porti 
dietro pure l'id. Mi sa che WinFS farà una roba del genere, anche se 
sto semplificando di molto...
-- 
System going down at 1:45 for disk crashing.
News 2002 [v 2.07] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

sto semplificando di molto...
La Microsoft è famosa per "inventare" idee che altri hanno già avuto
decenni prima; nel caso specifico, vedi AS400.
La mia conoscenza di AS400 si limita ad un manuale, che lessi una decina di
anni fa, sicché la mia è tutt'altro che un'opinione autorevole; in ogni
caso, come allora, continua a non sembrarmi una grande idea, e continuo a
non sentirne una particolare esigenza.
Ciao.

 non sentirne una particolare esigenza.
Servirebbe per creare qualcosa di simile alle label di Gmail che 
sostituiscono le classiche cartelle gerarchiche dove mettere le email.
Sostanzialmente si tratterebbe di mettere tag ai file anziche mettere il 
file un una cartella definita; questo IMHO è molto utile.
Pensa al successo di 
del.icio.us
; che bisogno c'era di 
del.icio.us
 visto 
che tutti i browser hanno le loro belle funzionalità di bookmark a cartelle?
Eppure 
del.icio.us
 è estremamente utile (IMHO) per cercare tra i propri 
bookmark (e anche tra quelli di altre persone) e per questo ha avuto 
successo (risponde ad una effettiva esigenza degli utenti).
Classificare le email, i bookmark e spero in futuro anche i file del 
proprio PC tramite tag e non tramite strutture gerarchiche a cartelle è 
una grande "innovazione" di enorme utilità.
Ciao!

una grande "innovazione" di enorme utilità.
Non ho detto che i database sono inutili (per quanto non siano ormai più
questa grande "innovazione"), ho detto che non mi sembra particolarmente
utile mettere insieme file system e database (e non è neppure
particolarmente "innovativo").
Peraltro, per la mia esperienza personale, un database relazionale è il
miglior sistema per creare confusione, disordine e irreperibilità nei dati,
ma questo evidentemente può ben dipendere dalla mia natura.
Ciao.

 particolarmente "innovativo").
Leggo ora da 
http://www.microsoft.com/italy/windowsvista/experiences/productivity.mspx
"Windows Vista consente di astrarre le posizioni fisiche dei file in 
modo tale che non sia necessario ricordarsi dove è stato archiviato un 
determinato file, ma soltanto le singole proprietà. È sufficiente 
ricordarsi alcune caratteristiche del file per consentire a Windows 
Vista di individuarlo.
In Windows Vista sono disponibili diversi modi per assegnare un tag ai 
file esistenti ...."
A quanto pare dalle parti di Microsoft immaginano sia utile, e io con 
loro. Quanto all'innovativo: l'innovazione può non stare negli strumenti 
utilizzati per fare una cosa (le tecnologie: database, ecc...) ma nella 
funzionalità che si va a creare. Ora può anche darsi che queste 
funzionalità siano già presenti in altri sistemi operativi ma io le ignoro.
Pensa a Google: il suo successo e l'innovazione creata non sono dovute 
all'uso di nuovi strumenti (usa crawler e database come tutti gli altri) 
ma dalla "funzionalità" che ha creato: il pagerank; la differenza in 
questo caso non sta nello strumento usato ma nell'uso che si fa dello 
strumento
Ciao!

strumento
No, l'innovazione dev'essere proprio nello strumento, perché molte di
queste funzionalità di ricerca e visualizzazione di file (e altre
anche più sofisticate) le ho già (e da anni) in totalcommander o
financo nel mio editor, e non si capisce perché tu stia cercando di
convincermi da 4 messaggi che invece devono essere integrate nel
sistema operativo, se l'importante è "la funzionalità che si va a
creare".
Ripeto, non ho mai detto che non voglio avere strumenti di ricerca e
di rappresentazione dei file, ma che ho dei dubbi sull'utilità (e
sulla convenienza) di un'integrazione di questi strumenti con il
sistema operativo. Come tutte le scelte definitive (perché È una
scelta definitiva), anche questa impone delle costrizioni, nello
stesso momento in cui apre delle possibilità, e ha un costo, e io non
sono sicuro che ne valga la pena.
Sbaglio? può essere, ma questa è la mia opinione. Tu hai detto la tua,
e non so bene che altro ci sia da dire. Dispostissimo, per mia parte,
a ricredermi alla prova dei fatti, ma allo stato attuale mi pare non
si possa fare molto di più che riconoscere di avere opinioni diverse.
Ciao.

il file nella cartella pluto?
I collegamenti di Windows XP lavorano già così.  Se tu crei un
collegamento a un file e il file viene spostato da una cartella
all'altra, il collegamento "segue" il file.

che tenere traccia degli spostamenti di ogni file[...]
Come vedi non è vero e, comunque, praticamente tutti i sistemi
operativi implementano i "symbolic links" (sebbene assumano diversi
nomi: "shortcut" o "shell link" sotto Windows, "symlink" sotto gli
*nix, "alias" sotto MacOS, "shadow" sotto OS/2, ecc...).  Poi, alcuni
di essi tengono traccia della posizione ed altri no.
[1] 
http://tinyurl.com/bfrm

di essi tengono traccia della posizione ed altri no.
Questo dimostra quanto poco, nella mia esperienza personale, io senta
l'esigenza di questa funzionalità (oltre che, certo, e me ne scuso,
quanto sia imprudente in certe mie categoriche affermazioni).
I symbolic link dei sistemi *nix mi sono ben noti da decenni (e sono
utilissimi, oltre che utilissima fonte di interessantissimi problemi),
ma non li ho mai usati a questo scopo (e la presenza di diversi broken
link sul mio sistema mi fa sospettare che non funzionino così, o
almeno non sempre), e i "link" di Windows li ho sempre detestati,
perché non funzionano come quelli dei sistemi *nix (e i messaggi che
ricevo da certi link sul mio desktop dimostrano che, rigraziando il
cielo, anch'essi possono essere rotti).
Ciao.

link sul mio sistema mi fa sospettare che non funzionino così, [...]
Che io sappia, nei sistemi *nix, sono gli "hard link" (cosa
fondamentalmente diversa dai "symlink") a mantenere traccia della
posizione del file.

operativo.
Certo che no, e mi sono già scusato della disinformazione, ma uno non
è zero: che io non abbia sentito per nulla (non poco) l'esigenza di
questa funzionalità negli ultimi due decenni è, pur nella sua
pochezza, un evento non nullo, che quanto meno spiega soggettivamente
la mia ignoranza in merito.
Quanto al senso di queste funzionalità in un sistema operativo,
soprattutto in relazione alla possibilità, di cui si è parlato più
avanti nel thread, di registrare e trattare metadati relativi ai file,
ho già detto che la mia perplessità non è tanto sul "senso di queste
funzionalità" quanto su "in un sistema operativo".
Una della ragioni della mia perplessità è che una funzionalità che si
mette nel sistema operativo è sì resa disponibile ad ogni applicazione
avvertita in QUEL sistema operativo, ma è allo stesso tempo più
difficile da trasferire ad altri sistemi, e rende più complesso
portare da un sistema all'altro applicazioni che facciano affidamento
su quella funzionalità e, nella fattispecie, anche trasferire file da
un sistema all'altro, conservando i metadati correlati.
Un utente di un sistema BeOS poteva essere giustamente orgoglioso
della sua collezione di file multimediali, amorosamente e
accuratamente catalogati; la parte difficile era condividere la
collezione con qualcun altro che non avesse un sistema BeOS.
Un problema analogo avevano (hanno?) gli utenti Mac, con i data e
resource fork.
È un peccato che ogni applicazione debba costruirsi il proprio sistema
di documentazione dei file, piuttosto che usufruire di una risorsa
fornita dal sistema operativo, ma questo è quello che permette a Perl,
Python, Ruby e altri ambienti multipiattaforma di avere un gestore di
pacchetti indipendente dal sistema ospite.
L'ideale sarebbe mettere insieme le due cose; definire un protocollo
multipiattaforma? non so.
Può pure darsi che i vantaggi siano tali da potersene infischiare
dell'integrazione col resto del mondo, e che si arrangi. Di nuovo, non
lo so. E la cosa mi pare abbastanza complessa da rendere legittimo non
saperlo e mantenere la mia perplessità al riguardo.
Ciao.

<snip di tutto il polpettone>
Con tutto il rispetto: sei off-topic, l'intera discussione lo č.  
Spostatevi su altri gruppi.