Prepilatie op RoomOS
Wijzigingen in de JavaScript-code in RoomOS-macro's
We hebben de machines waarop de macro's op RoomOS worden uitgevoerd, bijgewerkt en als gevolg van deze updates zijn enkele JavaScript-conventies en functies niet meer beschikbaar voor de macro's. Met name zijn de commonJS-gerelateerde functies niet meer beschikbaar. Enkele voorbeelden van code die moeten worden herschreven zijn:
vereisen()
, waaronder:require('xapi'):
er moet opnieuw worden geschreven voor de standaard ECMAScript-import. bijv.,
const xapi = require('xapi')
is gewijzigd om xapi teimporteren van 'xapi'
require.main
module
, inclusief:module.exports
- moet worden overschreven naar de standaard ECMAScript-exportmodule.name
- moet worden vervangendoor_main_module_name()
Hoe wordt dit in- en uitgeschakeld?
Deze wijzigingen worden van kracht wanneer XConfiguratie macros EvaluerenOmpiling
wordt omgeleid van Waar
naar Onwaar
. Deze instelling is al langere tijd aanwezig en de wijziging wordt uitgerold door de standaardwaarde in nieuwe versies te wijzigen van Waar
.
Als macro's bij deze wijziging worden onderbroken, is het expliciet terugschakelen (xConfiguration Macros EvaluateTranspiled: Waar
) een kortetermijnfix waarmee u ze zoals voorheen kunt laten werken. Bedenk echter dat dit slechts een tijdelijke oplossing is: deze wisseltoets verdwijnt na een overgangsperiode.
Op oudere RoomOS-versies kan deze wijziging ook worden getest zonder de upgrade bij te voeren door de optie in te stellen op Onwaar
.
Opmerking: als een macro is opgeslagen op het apparaat terwijl de knop Onwaar is
en u later besluit TURN de optie Waar in te schakelen, moet u deze macro's mogelijk opnieuw
opslaan in de macroeditor.
Wanneer worden deze wijzigingen van kracht?
De standaardwaarde van de wisselknop Evaluerendoorgeschakeld
in Onwaar
vanaf RoomOS May 2025 (11.28), wat betekent dat apparaten bij de upgrade standaard overschakelen. In dezelfde versie is de transpilatiestap bij het opslaan van macro's via XAPI standaard uitgeschakeld. Als transpilatie via de XAPI vereist is, moet de transpile-opdrachtoptie expliciet worden ingesteld op waar.
Vanaf RoomOS juli 2025 (11.30) wordt er een diagnose weergegeven wanneer de optie is ingesteld op Waar
. Het zal nog steeds werken zoals voorheen.
Als u vooruit gaat, wordt de wisselstand helemaal verwijderd en zal het apparaat zich gedragen alsof het is ingesteld op Onwaar
. Wij streven ernaar deze wijziging in november 2025 uit te rollen. Deze datum kan veranderen omdat we zien hoeveel van onze klanten hun macro's kunnen bijwerken, maar de tijdlijn wordt gemeten in maanden, geen jaren. De exacte datums worden hier gepubliceerd en in de release-notities van de relevante RoomOS-releases.
Alle klanten die, ondanks al onze inspanningen om de wijzigingen te melden en te informeren, zien dat hun macro's mislukken wanneer de wijzigingen permanent van kracht zijn in RoomOS, kunnen nog steeds de (maximaal) 6 maanden uitgestelde software-update gebruiken die via Control Hub voor cloud-geregistreerde apparaten wordt geleverd om de wijziging te vertragen.
Waarom is dat nodig? Technische gegevens
Het belangrijkste stuurprogramma voor deze wijziging is dat we onze JavaScript-engine hebben bijgewerkt voor het gebruik van QuickJS, die fungeert als een moderne, bijgewerkte JavaScript runtime voor embedded systemen. Daarna, omdat het niet meer nodig is met een moderne JavaScript engine, verwijderen we de ondersteuning voor transpilatie van JavaScript. Wanneer u de extra stap van het transpileren van alle code verwijdert, wordt de laadtijd bij het implementeren en uitvoeren van code verminderd en wordt het platform minder gecompliceerd.
De JavaScript-engineschakelaar wordt bestuurd door xConfiguratie Macros QuickJSEngine: uit
gezet in aan . Deze wijziging werd uitgerold in RoomOS December 2023 (11.11) en we zijn van plan om deze configuratie in te schakelen op dezelfde tijdlijn als
EvaluerenVerwijderen
.
We voeren deze wijzigingen aan om RoomOS maximaal te laten werken en u kunnen helpen de implementatie van JavaScript-toestelnummers op een efficiënte en veilige manier op te schalen.
Lees meer over macro's op roomos.cisco.com.