Comprobar si existe una carpeta en un espacio JMP LiveHola,
Con JSL en JMP18 puedo crear nuevas carpetas tanto en mi espacio personal como en otros espacios de JMP Live mediante la función " Crear carpeta ". Cuando creo carpetas en mi espacio personal, puedo usar la función " Buscar carpetas " de JSL para enumerar primero todas las carpetas existentes y verificar si mi nueva carpeta ya existe. De esta manera, puedo asegurarme de que los nombres de las carpetas sean únicos a través de JSL.
El comportamiento predeterminado de JMP Live es crear nombres de carpeta únicos agregando " (n) " al nombre de la carpeta, donde " n " es el recuento de la cantidad de carpetas con el mismo nombre. Pero me gustaría evitar esto.
En otros espacios de JMP Live, que no son mi espacio personal, observo el mismo comportamiento: los nombres de carpeta idénticos se añaden automáticamente con " (n) ". Sin embargo, la función " Buscar carpetas " no tiene la tecla de espacio como parámetro, por lo que no puedo comprobar si hay carpetas ya existentes en espacios que no son mi espacio personal.
He descubierto que la única función que acepta la tecla de espacio como parámetro es la función " Crear carpeta ". He consultado la página de ayuda de JSL correspondiente aquí , pero no se describe esta situación.
¿Cuál es el enfoque recomendado para extraer carpetas existentes en un espacio JMP Live? ¿O me estoy perdiendo lo obvio aquí?
¡Gracias!
Pablo
Automatización y scriptingRe: Verificar si existe una carpeta en un espacio JMP LiveNo estoy familiarizado con JMP Live, pero ¿ha intentado aumentar el tamaño de la página para la consulta (o ha utilizado la llamada Next())? Scripting Index puede tener algunos ejemplos que no puede encontrar en la página de ayuda de JMP

Re: Verificar si existe una carpeta en un espacio JMP LiveGracias Jarmo,
No, no lo he probado todavía. Aquí está mi código que funciona bien para verificar carpetas existentes en un espacio personal.
No se incluye ningún código que asegure un nombre de carpeta único (para simplificar), pero podría crearse fácilmente.
Como indiqué en mi publicación: parece que la función Buscar carpetas no tiene una tecla espaciadora y, de forma predeterminada, ejecuta la consulta en mi espacio personal de JMP Live.
Supongo que el parámetro PageSize en FindFolders se puede usar para recorrer una lista larga de carpetas (si existen).
// 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: Verificar si existe una carpeta en un espacio JMP LiveUn comentario más: si ejecuto la función Buscar carpetas e inspecciono manualmente la lista devuelta, puedo ver que hay una entrada de lista para cada carpeta en mi espacio personal. No hay otras entradas (aunque tengo acceso a otros espacios con carpetas).
Pablo
Re: Verificar si existe una carpeta en un espacio JMP Live¿Intentaste eliminar esta parte de Buscar carpetas?
Publisher( user )
Re: Verificar si existe una carpeta en un espacio JMP LiveHola jarmo,
Gracias por la sugerencia. ¡Resulta ser la ganadora!
Este código (agregando la función Buscar como parámetro a la función Buscar carpetas 
// 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);
devuelve el nombre, la descripción, el ID y la URL de la carpeta si existe fuera de mi espacio personal.
Pablo