Metadati pacchetto

I metadati del pacchetto sono un dizionario di valori di testo (stringa) definiti a livello di pacchetto. È incluso nella SBSAR durante la pubblicazione ed è un archivio di uso generale destinato ad essere utilizzato dalla scrittura pitone.

Visualizzazione e modifica dei metadati tramite l’interfaccia di Designer

Se state sviluppando un plug-in Python, potete modificare manualmente i metadati a scopo di test e debug. Ecco come potete fare:

  1. Se fai doppio clic su un pacchetto nell’esploratore, si apre il pannello Proprietà su questo pacchetto.

    Metadati pacchetto

  2. Ecco una sezione dedicata, “Metadati”. Nel tuo caso potrebbe essere vuoto, come nell’immagine precedente.

    Potete aggiungere nuovi metadati mediante il pulsante “più”.

    Pulsante Aggiungi metadati

  3. Viene visualizzato un nuovo elemento nella sezione:

    Nuovi metadati

  4. Sono disponibili i campi “Chiave” e “Valore”. Entrambi possono essere impostati su qualsiasi cosa si adatti alle vostre esigenze. Il campo “Chiave” deve avere un valore univoco in tutto l’elenco.

    Nuovo valore metadati

  5. Potete anche scegliere il “Tipo” dell’elemento. Al momento può essere “String” o “URL”:

    Modifica tipo metadati

  6. Qui “URL” indica un riferimento a una risorsa inclusa nel pacchetto. A tale scopo, scegli un file sul disco rigido e trascinalo sul pacchetto in Esplora risorse. Può essere una risorsa normale, come un’immagine, o qualsiasi altro file, come un file di testo.

    Risorsa generica nel pacchetto

  7. Il file viene visualizzato come nuova risorsa nel pacchetto.

    Ora torna al pannello Proprietà del pacchetto, crea un nuovo metadati, assegnagli una chiave appropriata e scegli “URL” come tipo. Quindi seleziona “…” nel campo “Valore” e scegliere “Da risorsa”. Infine, scegli il file appena incluso e convalidalo:

    Metadati URL

  8. Ora puoi vedere che l’“URL” della risorsa è memorizzato nel campo “Valore”.

    Puoi anche eliminare i metadati utilizzando il pulsante “X” a destra dell’elemento:

    Eliminare i metadati

NOTE
Lo spostamento o il riordinamento delle voci di metadati è disabilitato: l'ordine non è significativo e non verrà mantenuto durante la pubblicazione del pacchetto.

Metadati nei file SBSAR pubblicati

In alcuni casi, potrebbe essere necessario recuperare i metadati definiti in un pacchetto nel SBSAR pubblicato corrispondente. Di seguito potete leggere come i metadati vengono trasformati e archiviati nell’archivio e il modo corretto per sfruttarli.

I metadati vengono memorizzati in base al formato JSON in un file denominato /assemblies/content/0000/metadata.json (il percorso è relativo alla cartella principale dell’archivio .sbsar).

I metadati regolari (stringa) vengono memorizzati così come sono, ad esempio “chiave”: “valore stringa”, uno per riga. Anche in questo caso, l’ordine originale delle varie chiavi non viene mantenuto e viene definita l’implementazione. Non fare mai affidamento sull’ordine nel vostro processo, come con i normali pitoni dicts!

Poiché lo scopo dei metadati URL è quello di consentire agli utenti e ai plug-in di includere file esterni nell’archivio .sbsar, questi sono soggetti a una trasformazione specifica: In primo luogo, il file della risorsa che corrisponde all’URL archiviato viene copiato nell’archivio in un percorso definito dall’implementazione (di solito in una sottocartella numerata, che conterrà solo questo file. Lo scopo è evitare conflitti di nomi.) Il file manterrà il nome originale (il nome della risorsa viene ignorato a questo punto). Quindi, invece dell’URL originale in metadata.json, viene scritto il percorso del file copiato nell’archivio relativo a metadata.json.

Se esportiamo il pacchetto di esempio creato nella sezione precedente (dopo aver creato almeno un grafico con alcuni output), otteniamo questo contenuto di archivio:

myPackage.sbsar

|-- assemblies

        |-- content

            |-- 0000

                |-- New_Graph.sbsasm

                |-- New_Graph.xml

                |-- metadata.json

                |-- resources

                    |-- 0

                        |-- TEXT.txt

E il contenuto metadata.json è:

{

    "myResource": "resources/0/TEXT.txt",

    "myText": "This is a text"

}

Al momento, non viene fornito alcuno strumento specifico per accedere ai metadati e alle risorse archiviate. Il metodo consigliato consiste nell’aprire l’archivio con il decodificatore LZMA di tua scelta e nell’analizzare il file metadata.json con un normale parser JSON (se le chiavi o le stringhe di valori contengono alcuni caratteri complessi, verranno ignorate nel modo JSON).

NOTE
Non sono disponibili informazioni sul fatto che ogni metadati fosse una stringa semplice o un URL, quindi devi sapere cosa significa ogni chiave che vuoi leggere.
recommendation-more-help
substance-3d-designer-help-guide