Überprüfen, ob in einem JMP Live-Bereich ein Ordner vorhanden istHallo,
Mit JSL in JMP18 kann ich mit der Funktion „ Ordner erstellen “ neue Ordner sowohl in meinem persönlichen Bereich als auch in anderen Bereichen von JMP Live erstellen. Wenn ich Ordner in meinem persönlichen Bereich erstelle, kann ich mit der JSL-Funktion „ Ordner suchen “ zuerst alle vorhandenen Ordner auflisten und prüfen, ob mein neuer Ordner bereits vorhanden ist. Ich könnte dann durch JSL eindeutige Ordnernamen sicherstellen.
Das Standardverhalten von JMP Live besteht darin, eindeutige Ordnernamen zu erstellen, indem dem Ordnernamen " (n) " hinzugefügt wird, wobei " n " die Anzahl der Ordner mit demselben Namen ist. Dies möchte ich jedoch vermeiden.
In anderen JMP Live-Bereichen, die nicht mein persönlicher Bereich sind, beobachte ich dasselbe Verhalten: identische Ordnernamen werden automatisch mit „ (n) “ ergänzt. Die Funktion „ Ordner suchen “ verfügt jedoch nicht über den Leerzeichenschlüssel als Parameter, sodass ich in Bereichen, die nicht mein persönlicher Bereich sind, nicht nach bereits vorhandenen Ordnern suchen kann.
Ich finde, dass die einzige Funktion, die die Leertaste als Parameter akzeptiert, die Funktion „ Ordner erstellen “ ist. Ich habe die entsprechende JSL-Hilfeseite hier überprüft, aber diese Situation wird dort nicht beschrieben.
Welcher Ansatz wird zum Extrahieren vorhandener Ordner in einem JMP Live-Bereich empfohlen? Oder übersehe ich hier das Offensichtliche?
Danke!
Paul
Automatisierung und SkriptingBetreff: Überprüfen, ob in einem JMP Live-Bereich ein Ordner vorhanden istIch bin nicht mit JMP Live vertraut, aber haben Sie versucht, die Seitengröße für die Abfrage zu erhöhen (oder den Next()-Aufruf zu verwenden)? Der Scripting Index kann einige Beispiele enthalten, die Sie auf der JMP-Hilfeseite nicht finden können

Betreff: Überprüfen, ob in einem JMP Live-Bereich ein Ordner vorhanden istDanke Jarmo,
Nein, das habe ich noch nicht ausprobiert. Hier ist mein Code, der gut zum Überprüfen vorhandener Ordner in einem persönlichen Bereich funktioniert.
Es ist kein Code enthalten, der einen eindeutigen Ordnernamen sicherstellt (der Einfachheit halber), dieser könnte jedoch leicht erstellt werden.
Wie ich in meinem Beitrag erklärte: Es scheint, dass die Funktion „Ordner suchen“ keine Leertaste hat und die Abfrage standardmäßig in meinem persönlichen JMP Live-Bereich ausführt.
Ich vermute, dass der PageSize-Parameter in FindFolders verwendet werden kann, um durch eine lange Liste von Ordnern zu blättern (falls diese vorhanden sind).
// 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;
);
Betreff: Überprüfen, ob in einem JMP Live-Bereich ein Ordner vorhanden istNoch ein Kommentar: Wenn ich die Funktion „Ordner suchen“ ausführe und die zurückgegebene Liste manuell überprüfe, kann ich sehen, dass für jeden Ordner in meinem persönlichen Bereich ein Listeneintrag vorhanden ist. Es gibt keine anderen Einträge (obwohl ich Zugriff auf andere Bereiche mit Ordnern habe).
Paul
Betreff: Überprüfen, ob in einem JMP Live-Bereich ein Ordner vorhanden istHaben Sie versucht, diesen Teil aus den Ordnern zu entfernen?
Publisher( user )
Betreff: Überprüfen, ob in einem JMP Live-Bereich ein Ordner vorhanden istHallo Jarmo,
Danke für den Vorschlag. Es ist der Gewinner!
Dieser Code (der die Suchfunktion als Parameter zur Funktion „Ordner suchen“ hinzufügt):
// 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);
Gibt den Namen, die Beschreibung, die ID und die URL des Ordners zurück, wenn dieser außerhalb meines persönlichen Bereichs existiert.
Paul