Controlla se una cartella esiste in uno spazio JMP LiveCiao,
Utilizzando JSL in JMP18 posso creare nuove cartelle sia nel mio spazio personale che in altri spazi su JMP Live utilizzando la funzione ' Crea cartella '. Quando creo cartelle nel mio spazio personale, posso utilizzare la funzione JSL ' Trova cartelle ' per elencare prima tutte le cartelle esistenti e controllare se la mia nuova cartella esiste già. Potrei quindi assicurare nomi di cartella univoci tramite JSL.
Il comportamento predefinito di JMP Live è quello di creare nomi di cartelle univoci aggiungendo " (n) " al nome della cartella, dove " n " è il conteggio del numero di cartelle con lo stesso nome. Ma vorrei evitarlo.
In altri spazi JMP Live, non nel mio spazio personale, osservo lo stesso comportamento: nomi di cartelle identici vengono automaticamente aggiunti da " (n) ". Tuttavia, la funzione ' Trova cartelle ' non ha la chiave spazio come parametro, quindi non posso controllare le cartelle già esistenti negli spazi che non sono il mio spazio personale.
Ho scoperto che l'unica funzione che accetta il tasto spazio come parametro è la funzione ' Crea cartella '. Ho controllato la pagina di aiuto JSL pertinente qui , ma questa situazione non è descritta.
Qual è l'approccio consigliato per estrarre le cartelle esistenti in uno spazio JMP Live? Oppure mi sfugge qualcosa di ovvio?
Grazie!
Paolo
Automazione e scriptingRe: Controllare se una cartella esiste in uno spazio JMP LiveNon ho familiarità con JMP Live, ma hai provato ad aumentare la dimensione della pagina per la query (o hai utilizzato la chiamata Next())? Scripting Index può avere alcuni esempi che non puoi trovare nella pagina della Guida di JMP

Re: Controllare se una cartella esiste in uno spazio JMP LiveGrazie Jarmo,
No, non l'ho ancora provato. Ecco il mio codice che funziona bene per controllare le cartelle esistenti in uno spazio personale.
Non è incluso alcun codice che assicuri un nome di cartella univoco (per semplicità), ma potrebbe essere facilmente creato.
Come ho affermato nel mio post: sembra che la funzione Trova cartelle non abbia un tasto spazio e per impostazione predefinita esegue la query nel mio spazio personale JMP Live.
Immagino che il parametro PageSize in FindFolders possa essere utilizzato per scorrere un lungo elenco di cartelle (se esistono).
// open the connection to JMP Live
liveConnection = New JMP Live( Connection( ) );
// get the user name from JMP Live
user = liveConnection << Get Username;
// get the existing folders already in my Space
getFolders = liveConnection << Find Folders( Publisher( user ) );
folderlist = getFolders << As Scriptable();
// Define the folder name you want to check or create
folderName = "new_folder_name";
// Define the space key of the Space you wish to create the folder in
spaceKey = "~"; // set key to "~" for your personal space or use the space key
// Initialize a variable to store the folder ID
folderID = .;
// Check if the folder exists. If it exists, folderID will contain the ID
// if the folder does not exist, folderID will contain a missing value
For( i = 1, i <= folderlist << Get Number Of Items, i += 1,
If( folderlist[i] << Get Title == folderName,
folderID = folderlist[i] << Get ID;
Show( folderID );
Break();
)
);
// If the folder does not exist, create it. folderID will contain the folder ID.
If( Is Missing( folderID ),
newFolder = liveConnection << Create Folder(
Space( spaceKey ), // Use "~" for personal space or specify the space key
Title( folderName ),
Description( "Automatically created folder." )
);
folderID = newFolder << As Scriptable;
folderID = folderID << Get ID;
);
Re: Controllare se una cartella esiste in uno spazio JMP LiveUn altro commento, se eseguo la funzione Trova cartelle e controllo manualmente l'elenco restituito, vedo che c'è una voce di elenco per ogni cartella nel mio spazio personale. Non ci sono altre voci (mentre ho accesso ad altri spazi con cartelle).
Paolo
Re: Controllare se una cartella esiste in uno spazio JMP LiveHai provato a eliminare questa parte da Trova cartelle
Publisher( user )
Re: Controllare se una cartella esiste in uno spazio JMP LiveCiao Jarmo,
Grazie per il suggerimento. Si è rivelato il vincitore!
Questo codice (aggiungendo la funzione Cerca come parametro alla funzione Trova cartelle 
// open the connection to JMP Live
liveConnection = OpenJMPLiveConnection( );
foldername = "foldername";
// get the existing folders already in my Space
getFolders = liveConnection << Find Folders( Search( foldername ) );
folderlist = getFolders << As Scriptable();
Show(folderlist);
restituisce il nome, la descrizione, l'ID e l'URL della cartella se esiste al di fuori del mio spazio personale.
Paolo