הוצאה משימוש ב-RoomOS
שינויים בקוד JavaScript בפקודות מאקרו של RoomOS
עדכנו את המכונות המפעילות את פקודות המאקרו ב- RoomOS, וכתוצאה מעדכונים אלה, חלק מהמוסכמות והפונקציות של JavaScript לא יהיו זמינות עוד לפקודות המאקרו. בפרט, פונקציות הקשורות ל- CommonJS אינן זמינות עוד. כמה דוגמאות נפוצות לקוד הזקוק לשכתוב הן:
לדרוש()
, כולל:require('xapi')
- זקוק לשכתוב לייבוא ECMAScriptהסטנדרטי
. לדוגמה,const xapi = require('xapi')
השתנה כדילייבא xapi מ- 'xapi'
require.main
מודול
, כולל:module.exports
- זקוק לשכתוב לייצוא ECMAScriptסטנדרטי
module.name
- צריך להיות מוחלף ב_main_module_name()
איך זה מופעל ונכבה?
שינויים אלה ייכנסו לתוקף לאחר שפקודות מאקרו של xConfiguration EvaluateTranspiled
יועברו מ - True
ל - False
. הגדרה זו קיימת מזה זמן רב והשינוי נפרס על-ידי שינוי ערך ברירת המחדל במהדורות חדשות מ - True
ל - False
.
אם פקודות מאקרו מתנתקות בעת שינוי זה, הגדרה מפורשת של המתג הדו-מצבי (xConfiguration Macros EvaluateTranspiled: True
) היא תיקון לטווח קצר כדי לגרום להן לפעול כבעבר. שים לב, עם זאת, כי זהו פתרון זמני בלבד: מתג זה ייעלם לאחר תקופת מעבר.
באופן דומה, בגרסאות ישנות יותר של RoomOS ניתן לבדוק שינוי זה מבלי לשדרג על ידי הגדרת המתג ל - False
.
הערה: אם מאקרו נשמר במכשיר כאשר המתג הדו-מצבי הוא False
ולאחר מכן תחליט TURN את המתג הדו-מצבי בחזרה ל - True
, ייתכן שיהיה צורך לשמור מחדש פקודות מאקרו אלה בעורך המאקרו.
מתי ייכנסו שינויים אלה לתוקף?
ערך ברירת המחדל של המתג הדו-מצבי EvaluateTranspiled
השתנה ל - False
החל מ - RoomOS May 2025 (11.28), מה שאומר שמכשירים יחליפו כברירת מחדל בעת השדרוג. באותה גירסה, שלב ההעתקה בעת שמירת פקודות מאקרו באמצעות XAPI מבוטל כברירת מחדל. אם נדרש לבצע טרנספילציה באמצעות XAPI, יש להגדיר במפורש את אפשרות הפקודה transpile כ- true.
החל מ - RoomOS July 2025 (11.30)אבחון יוצג כאשר המתג הדו-מצבי מוגדר כ - True
. זה עדיין יעבוד כמו קודם.
בהמשך, המתג הדו-מצבי יוסר לחלוטין וההתקן יתנהג כאילו הוגדר כ - False
. אנו שואפים לפרוס שינוי זה בנובמבר 2025. תאריך זה יכול להשתנות כאשר אנו רואים כמה מהלקוחות שלנו יכולים לעדכן את פקודות המאקרו שלהם, אך ציר הזמן נמדד בחודשים ולא בשנים. התאריכים המדויקים יפורסמו כאן ובהערות השחרור של מהדורות RoomOS הרלוונטיות.
כל לקוח אשר, למרות מיטב מאמצינו בניסיון להודיע ולהודיע על השינויים, רואה את פקודות המאקרו שלהם נכשלות כאשר השינויים נמצאים באופן קבוע ב- RoomOS, עדיין רשאי להשתמש בעדכון התוכנה המושהה (עד) 6 חודשים המסופק דרך מרכז הבקרה עבור מכשירים הרשומים בענן כדי לעכב את השינוי.
למה זה נחוץ? פרטים טכניים
המניע העיקרי לשינוי זה הוא שעדכנו את מנוע JavaScript שלנו לשימוש ב- QuickJS, המשמש כזמן ריצה מודרני ומעודכן של JavaScript עבור מערכות משובצות. לאחר מכן, מכיוון שאין בו עוד צורך במנוע JavaScript מודרני, אנו מסירים כעת את התמיכה בהעתקה של JavaScript. הסרת השלב הנוסף של העברת כל הקוד מפחיתה את זמן הטעינה בעת פריסה והפעלה של קוד וכן מפחיתה את המורכבות בפלטפורמה.
מתג מנוע JavaScript נשלט על-ידי פקודות מאקרו xConfiguration QuickJSEngine: כבוי
השתנה למצב מופעל
. שינוי זה הופץ ב- RoomOS December 2023 (11.11), ואנו מתכננים להסיר מתג תצורה זה באותו ציר זמן כמו EvaluateTranspiled
.
אנו מבצעים שינויים אלה כדי להבטיח ביצועים מקסימליים של RoomOS, וכי אנו יכולים לעזור לך להגדיל את הפריסה של הרחבות JavaScript בצורה יעילה ומאובטחת.
קרא עוד אודות פקודות מאקרו ב- roomos.cisco.com.