Risorse e area di lavoro

La centrale per i file di dati dell'utente è denominata area di lavoro. È possibile considerare il workbench della piattaforma come uno strumento che consente all'utente di esplorare e modificare l'area di lavoro. Il plug-in delle risorse fornisce API per la creazione, l'esplorazione e la modifica di risorse in un'area di lavoro. Il workbench utilizza queste API per fornire tali funzionalità all'utente. Anche il plug-in dell'utente può utilizzare le stesse API.

Per un plug-in basato su risorse, è presente esattamente un'area di lavoro che rimane aperta per le operazioni per tutto il tempo in cui il plug-in è in esecuzione. L'area di lavoro viene automaticamente aperta quando il plug-in delle risorse viene attivato e viene chiusa quando si chiude la piattaforma. Se il proprio plug-in richiede il plug-in delle risorse, quest'ultimo verrà avviato prima del plug-in dell'utente e renderà disponibile l'area di lavoro.

L'area di lavoro contiene una serie di risorse. In base alla prospettiva dell'utente, esistono tre differenti tipi di risorse: progetti, cartelle e file. Un progetto è una raccolta di un qualsiasi numero di file e cartelle. Rappresenta un contenitore per l'organizzazione di altre risorse in relazione ad un'area specifica. I file e le cartelle sono simili ai file e alle directory nel file system. Una cartella contiene altre cartelle o file. Un file contiene una sequenza arbitraria di byte. Il suo contenuto non viene interpretato dalla piattaforma.

Le risorse di un'area di lavoro sono organizzate in una struttura ad albero, con i progetti al livello più alto e le cartelle e i file al di sotto. Una risorsa speciale, la risorsa principale dell'area di lavoro, agisce come directory principale della struttura delle risorse. La directory principale dell'area di lavoro viene creata internamente quando si crea un'area di lavoro e continua ad esistere per tutta la durata dell'area di lavoro.

Un'area di lavoro può avere un numero qualsiasi di progetti.

Un esempio di struttura delle risorse

La struttura seguente (rappresentata nella visualizzazione del navigator del workbench) illustra una tipica gerarchia di risorse all'interno di un'area di lavoro. La directory principale della struttura (implicita) è la directory principale dell'area di lavoro. I progetti derivano immediatamente dalla directory principale dell'area di lavoro. Ciascun nodo (diverso dalla directory principale) rappresenta uno dei tre tipi di risorse e presenta un nome diverso rispetto ai pari livello.

I nomi di risorse sono stringhe arbitrarie (ma devono corrispondere a nomi file legali). La piattaforma stessa non imposta i nomi delle risorse né specifica alcun nome con un significato speciale.  (L'unica eccezione è che l'utente non può denominare un progetto ".metadata" poiché questo nome viene utilizzato internamente.)

I progetti contengono file e cartelle, ma non contengono altri progetti. I progetti e le cartelle sono simili alle directory di un file system.  Quando si cancella un progetto, verrà richiesto se si desidera cancellare tutti i file e le cartelle in esso contenuti.  La cancellazione di una cartella da un progetto provocherà anche la cancellazione di tutti i relativi elementi secondari. La cancellazione di un file equivale alla cancellazione di un file del file system.