RoomOS

list-menu피드백이 있습니까?
임베디드 시스템을 위한 최신 업데이트된 JavaScript 런타임 역할을 하는 QuickJS를 사용하도록 JavaScript 엔진을 업데이트했습니다. 이러한 움직임의 일환으로, 이제 플랫폼에서 JavaScript 트랜스파일(transpilation)에 대한 지원을 제거할 계획입니다.

RoomOS 매크로의 JavaScript 코드 변경 내용

RoomOS에서 매크로를 실행하는 시스템을 업데이트했으며 이러한 업데이트의 결과로 매크로에서 일부 JavaScript 규칙 및 함수를 더 이상 사용할 수 없습니다. 특히 CommonJS 관련 기능은 더 이상 사용할 수 없습니다. 재작성이 필요한 코드의 몇 가지 일반적인 예는 다음과 같습니다.

  1. require()를 포함합니다.
    • require('xapi') - 표준 ECMAScript 임포트로 다시 작성해야 합니다. 예를 들어, const xapi = require('xapi') 가 'xapi'에서 xapi를 가져오도록 변경되었습니다.
    • require.main
  2. 다음을 포함한 모듈:
    • module.exports- 표준 ECMAScript 내보내기로 다시 작성해야 합니다.
    • module.name -는 _main_module_name()로 바꿔야 합니다.

이 기능은 어떻게 켜고 끄나요?

이러한 변경 내용은 xConfiguration Macros EvaluateTranspiled가 True 에서 False 전환되면 적용됩니다 . 이 설정은 오랫동안 존재해 왔으며 새 릴리스의 기본값을 True 에서 False 로 변경하여 변경 내용을 롤아웃합니다.

이 변경으로 인해 매크로가 중단되는 경우 토글을 명시적으로 다시 설정(xConfiguration Macros EvaluateTranspiled: True)하는 것은 이전과 같이 작동하도록 하는 단기 수정 사항입니다. 그러나 이는 일시적인 해결책일 뿐입니다. 이 토글 은 전환 기간이 지나면 사라집니다 .

마찬가지로 이전 RoomOS 버전에서는 토글을 False 로 설정하여 업그레이드하지 않고도 이 변경 사항을 테스트할 수 있습니다.

참고: 토글 이 False 인 동안 매크로가 장치에 저장되어 있고 나중에 토글을 다시 True TURN하기로 결정한 경우 매크로 편집기에서 해당 매크로를 다시 저장해야 할 수 있습니다.

이러한 변경 사항은 언제부터 적용됩니까?

EvaluateTranspiled 토글의 기본값은 RoomOS May 2025 (11.28) 부터 False 변경되었으며, 이는 업그레이드 시 장치가 기본적으로 전환됨을 의미합니다. 동일한 버전에서 XAPI를 통해 매크로를 저장할 때 트랜스파일레이션 단계는 기본적으로 꺼져 있습니다. XAPI를 통해 변환이 필요한 경우 transpile 명령 옵션을 명시적으로 true로 설정해야 합니다.

RoomOS 7월 2025 (11.30) 부터 토글이 참 으로설정되면 진단이 표시됩니다. 이전과 같이 계속 작동합니다.

앞으로 토글이 완전히 제거되고 장치가 False 설정된 것처럼 작동합니다. 이 변경 사항은 2026 년 6월에출시될 예정입니다. 이 날짜는 얼마나 많은 고객이 매크로를 업데이트할 수 있는지 확인함에 따라 변경될 수 있지만 타임라인은 몇 년이 아닌 몇 달 단위로 측정됩니다. 정확한 날짜는 여기와 관련 RoomOS 릴리스의 릴리스 노트에 게시됩니다.

변경 사항을 알리고 알리기 위해 최선을 다했음에도 불구하고 변경 사항이 RoomOS에 영구적으로 적용될 때 매크로가 실패하는 것을 보는 고객은 클라우드 등록된 장치에 대해 Control Hub를 통해 제공되는 (최대) 6개월 지연 소프트웨어 업데이트를 사용하여 변경을 지연할 수 있습니다.

왜 이것이 필요한가요? 기술적 세부 사항

이 변경의 주요 동인은 임베디드 시스템을 위한 최신 업데이트된 JavaScript 런타임 역할을 하는 QuickJS를 사용하도록 JavaScript 엔진을 업데이트했기 때문입니다. 그 후, 최신 JavaScript 엔진에서는 더 이상 필요하지 않으므로 이제 JavaScript 트랜스파일(transpilation)에 대한 지원을 제거합니다. 모든 코드를 트랜스파일하는 추가 단계를 제거하면 코드를 배포하고 실행할 때 로드 시간이 줄어들고 플랫폼의 복잡성이 줄어듭니다.

JavaScript 엔진 스위치는 xConfiguration 매크로에 의해 제어됩니다. QuickJSEngine: Off 가 On 으로변경되었습니다. 이 변경 사항은 RoomOS 12월 2023 (11.11)에서 출시되었으며 EvaluateTranspiled와 동일한 타임라인에서 이 구성 토글을 제거할 계획입니다.

RoomOS가 최대한의 성능을 발휘할 수 있도록 이러한 변경을 수행하고 있으며, 효율적이고 안전한 방식으로 JavaScript 확장 배포를 확장할 수 있도록 지원합니다.

roomos.cisco.com 에서 매크로에 대해 자세히 알아보세요.

이 문서가 도움이 되었습니까?
이 문서가 도움이 되었습니까?