Documentazione sulla modifica della versione JSLSono sicuro che tutti abbiamo incontrato clienti con questo problema... un cliente utilizza JMP 13 e si rifiuta di eseguire l'aggiornamento alle versioni più recenti per motivi di compatibilità JSL. Dice di avere migliaia di script che dovrebbero essere aggiornati e non gli è chiaro quali aggiornamenti siano necessari. Disponiamo di documentazione/guida che specifichi come convertire uno script JMP 13 in 16+? Una ricerca superficiale non rivela nulla.
Ri: Documentazione sulla modifica della versione JSLQuindi, dopo una ricerca approfondita, l'unica cosa che ho trovato è questa: Nuove funzionalità e note di rilascio di JMP® - Comunità degli utenti JMP
Ma questa documentazione non copre tutte le modifiche JSL che si sono verificate (ad esempio i riferimenti ai nomi di colonna in JMP16), né le migliori pratiche sulla conversione degli script JSL 13- in 16+.
Sembra che ci sia una lacuna nella documentazione per la conversione del vecchio JSL nel nuovo e ciò sta influenzando l'adozione da parte dei clienti delle versioni JMP più recenti.
Ri: Documentazione sulla modifica della versione JSLEHI! Le modifiche allo script non sempre venivano visualizzate nelle note di rilascio. Una fonte più affidabile è l'appendice delle note sulla compatibilità della guida allo scripting. Questo ti dirà la maggior parte dei trucchi tra la versione a cui è dedicata la guida e la versione precedente. Dovresti incrementare per ottenere tutto.
Detto questo, ho avuto molti clienti su questa barca e generalmente smaschero il loro bluff. Ricordo loro che possono avere due versioni sulla stessa macchina. Dico loro di installare quello nuovo insieme a quello vecchio ed eseguire gli script più critici o complessi sulla nuova versione e vedere se funzionano. Se qualcosa si rompe, ce ne occuperemo noi. Ma la cosa divertente è che niente è mai successo. Il registro potrebbe riportare la dicitura "questa funzionalità verrà rimossa nella versione futura". note, ma lo script viene comunque eseguito. Gli sviluppatori hanno svolto un ottimo lavoro mantenendo la compatibilità futura in JSL. Ho utilizzato questa strategia per gli script creati fin dalla v7.
L'unico problema (di qualsiasi tipo) che ho riscontrato è la corrispondenza tra driver ODBC e bitness JMP. Ma questo non è un problema JSL. Quando si verifica questo problema, viene generato un chiaro errore nel registro. Ma penso che 13 sia stata la prima versione solo a 64 bit. Quindi, questo non dovrebbe essere un problema.Ri: Documentazione sulla modifica della versione JSLJMP Development ha lo stesso problema con JMP! Le nuove versioni dell'IDE, del compilatore o delle librerie di codice e le modifiche apportate dagli sviluppatori al codice sorgente possono danneggiare JMP. Abbiamo adottato molto tempo fa la migliore pratica di test unitario del settore. Molto tempo fa abbiamo pubblicato il framework di test unitario JSL che utilizziamo internamente nella community JMP. Eseguiamo miliardi (OK, forse non così tanti) di test ogni notte dopo la build giornaliera per verificare correzioni di bug e nuove funzionalità e che non sia stata introdotta alcuna regressione. Questo test è completamente automatizzato oppure possiamo eseguire anche test individuali.
Anche le aziende che dipendono dagli script JMP dovrebbero adottare questa pratica. Non previene i bug ma ti aiuta a trovarli quando sviluppi o modifichi script o esegui l'aggiornamento a una nuova versione di JMP.
Lo sviluppo di test unitari richiede più lavoro. Richiede un'attenta riflessione e progettazione e più tempo di sviluppo. Dividiamo l'impegno di programmazione e test nello sviluppo di JMP (un'altra best practice). Tuttavia, le aziende potrebbero avere solo pochi programmatori JSL in modo che lo stesso sviluppatore possa scrivere script e test unitari.
La documentazione è essenziale. Dedichiamo molti sforzi per renderlo il più utile possibile. Come utilizzeresti un elenco esaustivo di tutte le modifiche JSL in così tante versioni di JMP? Gli unit test mirerebbero alle modifiche al JSL effettivamente utilizzato. È molto più efficace e pratico.
Ri: Documentazione sulla modifica della versione JSLSe i clienti hanno così tanti script e programmi, è un peccato che non abbiano già partecipato come primi utenti. Oltre al controllo della versione e al test delle unità, questo è il modo migliore per verificare se gli script verranno ancora eseguiti nella prossima versione (anche se l'azienda non aggiornerà, a scopo di test sarebbe sufficiente una singola macchina su cui eseguire i test.
Da un punto di vista della compatibilità, mi aspetto diversi problemi da JMP 13 a una versione più recente non appena utilizzeranno gli elementi della piattaforma per raccogliere valori, contorni e simili. Dato che alcune piattaforme hanno cambiato lo stile e la struttura nelle versioni precedenti, questo apparirà sicuramente.
Tuttavia, inizierei a guidarli verso le migliori pratiche per la codifica. E spingerli a partecipare alle riunioni dello Scripters' Club. In questa pagina troverai tutte le sessioni registrate negli ultimi 2,5 anni dall'European Scripters' Club. Con alcune sessioni di guida e best practice, ma anche con un curriculum completo nel 2023. Queste sessioni sono state gestite e presentate da utenti reali della nostra base clienti che sono responsabili della formazione, dell'automazione e altro nelle loro aziende.
Ri: Documentazione sulla modifica della versione JSLEcco un'altra eccellente risorsa: https://www.jmp.com/en_us/articles/unit-tests.html