Vérifier si un dossier existe dans un espace JMP LiveBonjour,
En utilisant JSL dans JMP18, je peux créer de nouveaux dossiers dans mon espace personnel et dans d'autres espaces sur JMP Live en utilisant la fonction « Créer un dossier ». Lorsque je crée des dossiers dans mon espace personnel, je peux utiliser la fonction « Rechercher des dossiers » de JSL pour lister d'abord tous les dossiers existants et vérifier si mon nouveau dossier existe déjà. Je peux ensuite garantir des noms de dossiers uniques grâce à JSL.
Le comportement par défaut de JMP Live consiste à créer des noms de dossiers uniques en ajoutant « (n) » au nom du dossier, « n » étant le nombre de dossiers portant le même nom. Mais j'aimerais éviter cela.
Dans d'autres espaces JMP Live, pas dans mon espace personnel, j'observe le même comportement : les noms de dossiers identiques sont automatiquement suivis de " (n) ". Cependant, la fonction " Rechercher des dossiers " n'a pas la touche Espace comme paramètre, je ne peux donc pas vérifier les dossiers déjà existants dans les espaces qui ne sont pas mon espace personnel.
Je trouve que la seule fonction qui accepte la touche espace comme paramètre est la fonction « Créer un dossier ». J'ai vérifié la page d'aide JSL correspondante ici , mais cette situation n'est pas décrite.
Quelle est l'approche recommandée pour extraire les dossiers existants sur un espace JMP Live ? ou est-ce que je rate l'évidence ici ?
Merci!
Paul
Automatisation et scriptsRe: Vérifier si un dossier existe dans un espace JMP LiveJe ne connais pas JMP Live, mais avez-vous essayé d'augmenter la taille de la page pour la requête (ou utilisé l'appel Next()) ? Scripting Index peut contenir des exemples que vous ne pouvez pas trouver sur la page d'aide de JMP

Re: Vérifier si un dossier existe dans un espace JMP LiveMerci Jarmo,
Non, je n'ai pas encore essayé cela. Voici mon code qui fonctionne bien pour vérifier les dossiers existants dans un espace personnel.
Il n'y a pas de code inclus qui assure un nom de dossier unique (pour des raisons de simplicité) mais qui pourrait facilement être créé.
Comme je l'ai indiqué dans mon article : il semble que la fonction Rechercher des dossiers n'ait pas de touche espace et exécute par défaut la requête dans mon espace personnel JMP Live.
Je suppose que le paramètre PageSize dans FindFolders peut être utilisé pour parcourir une longue liste de dossiers (s'ils existent).
// 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: Vérifier si un dossier existe dans un espace JMP LiveUn autre commentaire, si j'exécute la fonction Rechercher des dossiers et que j'inspecte manuellement la liste renvoyée, je peux voir qu'il existe une entrée de liste pour chaque dossier de mon espace personnel. Il n'y a pas d'autres entrées (alors que j'ai accès à d'autres espaces avec des dossiers).
Paul
Re: Vérifier si un dossier existe dans un espace JMP LiveAvez-vous essayé de supprimer cette partie de la recherche de dossiers
Publisher( user )
Re: Vérifier si un dossier existe dans un espace JMP LiveSalut Jarmo,
Merci pour la suggestion. Il s'avère que c'est le gagnant !
Ce code (ajoutant la fonction Rechercher comme paramètre à la fonction Rechercher des dossiers ) :
// 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);
renvoie le nom, la description, l'ID et l'URL du dossier s'il existe en dehors de mon espace personnel.
Paul