Vorrei un modo per avere un componente aggiuntivo come segue:
1. Trova un determinato script jsl sul computer dell'utente
2. Esegui quel jsl.
Il motivo di questa richiesta:
Quando sviluppo script per il mio gruppo, vorrei che utilizzassero componenti aggiuntivi anziché script. Ho scoperto che questo aumenta la facilità d'uso e il tasso di adozione. Tuttavia, ogni volta che aggiorno a uno script utilizzato in un componente aggiuntivo:
un. Devo salvare lo script aggiornato, quindi salvarlo nuovamente nel componente aggiuntivo (utilizzando l'opzione "Esegui JSL in questo file:". Notare che ciò salva una copia statica dello script nel componente aggiuntivo. Le modifiche successive al JSL non si riflettono nell'add-in).
b. Esegui il push del componente aggiuntivo nel nostro repository git.
c. Avvisare tutti gli utenti che è stata creata una nuova versione del componente aggiuntivo e dovranno reinstallare il componente aggiuntivo per poterlo utilizzare.
Vorrei non dover disturbare il mio gruppo con notifiche di aggiornamento costanti che richiedono la loro azione.
Invece, vorrei rendere il mio componente aggiuntivo un semplice comando "Include" che punta al file jsl sul loro computer (utilizzando invece l'opzione "Run this JSL:"). Il file jsl verrà aggiornato ogni volta che estraggono dal repository e il componente aggiuntivo installato sul computer lo chiama semplicemente ogni volta. Pertanto, il componente aggiuntivo non richiede alcuna modifica sui computer degli utenti.
Il problema è che il comando "Include" nel componente aggiuntivo dovrà in qualche modo sapere dove trovare il jsl sul computer dell'utente. Non posso presumere che ogni utente avrà la stessa struttura di directory sui propri computer e non posso nemmeno renderlo un requisito.
Sarebbe bello se il componente aggiuntivo avesse una funzione in cui potrebbe essere dato solo un nome di file * .jsl e lo cercherebbe nel computer dell'utente. Ancora più bello sarebbe se potesse salvare questa posizione da qualche parte, in modo che le chiamate successive del componente aggiuntivo possano utilizzare questa posizione e non debbano cercare l'intero computer.
Probabilmente un'opzione leggermente più semplice da implementare sarebbe quella di avere il componente aggiuntivo aprire una finestra di ricerca file se non riesce a trovare il file jsl specificato nel percorso di ricerca predefinito e consentire all'utente di navigare al nome. Ancora una volta, però, vorrei che l'addin salvi questa posizione da qualche parte in modo che l'utente debba farlo solo una volta.
Spero che questo abbia un senso. Grazie!
Potresti voler cercare nella comunità esempi di aggiunta di codice ai tuoi script, che controlli per vedere se c'è una versione aggiornata dello script e controlla anche se la versione più recente è compatibile con la versione utente di JMP. Nelle grandi aziende, diversi gruppi o persone potrebbero non aver aggiornato una versione. Credo che sia così che la maggior parte degli sviluppatori JSL gestiscono gli aggiornamenti del codice.