RoomOS-makrojen JavaScript-koodiin tehdyt muutokset

Olemme päivittäneet RoomOS:n makroja käyttävää koneita, ja näiden päivitysten seurauksena jotkin JavaScript-käytännöt ja -toiminnot eivät enää ole makrojen käytettävissä. CommonJS-toiminnot eivät ole enää käytettävissä. Joitakin yleisiä esimerkkejä koodista, jota on lisättävä, ovat:

  1. edellytyksenä(), mukaan lukien:
    • vaatii('xapi') - tarvitsee palauttaa vakio-ECMAScript-tuonnin . Esim., const xapi = require('xapi') muutettu tuomaan xapi kohteesta 'xapi'
    • vaadi.main
  2. moduuli, mukaan lukien:
    • moduuli.viennissä - on uudelleenrakentamista standardiin ECMAScript-vientiin
    • module.name - tulee korvata seuraavilla : _main_module_name()

Miten tämä on otettu käyttöön ja pois käytöstä?

Nämä muutokset tulevat voimaan, kun xConfiguration Macros EvaluateTranspiled muuttuu todesta epätodeksi . Asetus on ollut käytössä jo pitkään, ja muutos otetaan käyttöön muuttamalla uusien versioiden oletusarvoksi Tosi . Arvo epätosi -arvoksi.

Jos makrot katkeavat tämän muutoksen yhteydessä, vaihda taakse (xConfiguration Macros EvaluateTranspiled: True) on lyhytaikainen korjaus, jotta ne toimisivat aiempaan tapaan. Huomaa kuitenkin, että tämä on vain väliaikainen ratkaisu: tämä vaihto poistetaan siirtymäajan jälkeen.

Vastaavasti vanhoissa RoomOS-versioissa tämä muutos voidaan testata päivittämättä säätämällä asetukseksi Epätosi.

Huomautus: Jos laitteelle tallennetaan makro, kun vaihto on epätosi , ja myöhemmin päätät TURN takaisin Tosi-tilaan, makrojen palauttaminen makroeditoriin saattaa olla tarpeen.

Milloin nämä muutokset tulevat voimaan?

EvaluateTranspiled-vaihto-asetuksen oletusarvoksi muutettiin Epätosi (False ) alkaen huoneestaOS toukokuu 2025 (11.28), mikä tarkoittaa, että laitteet vaihtavat oletusarvoisesti päivityksen yhteydessä. Samassa versiossa siirtovaihe, kun makroja tallennetaan XAPI:n kautta, on oletusarvon mukaan pois käytöstä. Jos siirto vaaditaan XAPI:n kautta, transpile-komentoasetuksen on oltava nimenomaisesti tosi.

Alkaen RoomOS-heinäkuusta 2025 (11.30) diagnostiikka näkyy, kun asetukseksi on valittu Tosi. Se toimii edelleen kuten aiemmin.

Jatkossa vaihto poistetaan kokonaan ja laite toimii kuin sen arvo olisi Epätosi. Aiomme toteuttaa tämän muutoksen marraskuussa 2025. Tämä päivämäärä voi muuttua, koska näemme, kuinka moni asiakkaistamme pystyy päivittämään makronsa, mutta ennakointi mitataan kuukausina, ei vuosina. Tarkat päivämäärät julkaistaan tässä ja asianomaisten RoomOS-versioiden julkaisuissa.

Kaikki asiakkaat, jotka huolimatta yrityksistämme ilmoittaa vaihdoksista ja tiedottaa niistä, näkevät makronsa epäonnistuvan, kun muutokset ovat pysyvästi käytössä RoomOS:ssa, voivat edelleen käyttää (enintään) 6 kuukauden viivästettyä ohjelmistopäivitystä, joka toimitetaan Ohjauskeskuksen kautta pilvirekisteröityille laitteille muutoksen viivästyttämiseksi.

Miksi tämä on tarpeen? Tekniset tiedot

Muutoksen tärkein liikkeellepanija on se, että olemme päivittäneet JavaScript-moottorimme käyttämään QuickJS-moduulia, joka toimii modernina, päivitettynä JavaScript-ajonaikana sulautetuille järjestelmille. Sen jälkeen, koska sitä ei enää tarvita modernin JavaScript-moottorin kanssa, poistamme nyt JavaScriptin transpilaatiotuen. Kaiken koodin ylittämisen lisävaiheen poistaminen vähentää latausaikaa koodin käyttöönotossa ja suorittamisessa sekä vähentää alustan läpitunkemista.

JavaScript-moottorikytkintä hallitaan xConfiguration Macros QuickJSEngine- kytkimellä : Ei käytössä . Tämä muutos otettiin käyttöön RoomOS-joulukuussa 2023 (11.11), ja aiomme poistaa tämän määrityksen tai vaihtaa samalla tavalla kuin EvaluateTranspiled.

Teemme nämä muutokset varmistaaksemme, että RoomOS toimii mahdollisimman hyvin ja että voimme auttaa sinua skaalaamaan JavaScript-alanumeroiden käyttöönottoa tehokkaalla ja turvallisella tavalla.

Lue lisää makroista numerossa roomos.cisco.com.