เกี่ยวกับการพัฒนาองค์ประกอบ

การพัฒนาองค์ประกอบที่คุณกำหนดเองช่วยให้คุณสามารถพัฒนาอีลิเมนต์แบบผสมที่สามารถรวมอยู่ในเพจของไซต์ โดยใช้เทคโนโลยีของเพจใดก็ได้ที่ต้องการ การทำงานนี้ช่วยให้คุณสามารถขยายลิสต์ขององค์ประกอบที่มีให้ใน Oracle Content Management ได้อย่างมีประสิทธิภาพ

รายการขององค์ประกอบที่รีจิสเตอร์ทั้งหมดจะเก็บอยู่ในแคตตาล็อกองค์ประกอบ ซึ่งเป็นโฟลเดอร์ใน Oracle Content Management ที่ประกอบด้วยรายการสำหรับองค์ประกอบที่รีจิสเตอร์ทั้งหมด

ห้ามใช้ชื่อต่อไปนี้สำหรับเทมเพลท ธีม องค์ประกอบ ไซต์ หรือเพจของไซต์: authsite, content, pages, scstemplate_*, _comps, _components, _compsdelivery, _idcservice , _sitescloud, _sitesclouddelivery, _themes, _themesdelivery แม้ว่าคุณสามารถใช้ชื่อต่อไปนี้สำหรับเพจของไซต์ แต่ห้ามใช้สำหรับเทมเพลท ธีม องค์ประกอบ หรือไซต์: documents, sites

ประเภทองค์ประกอบ

แคตตาล็อกองค์ประกอบรองรับองค์ประกอบประเภทเหล่านี้

  • องค์ประกอบในระบบ

  • องค์ประกอบในระบบที่แสดงผลในเฟรมแบบอินไลน์

  • องค์ประกอบระยะไกล

ประเภทขององค์ประกอบจะเก็บเป็นแอททริบิวส่วนขยาย "xScsAppType" ของโฟลเดอร์องค์ประกอบ ค่าที่ใช้ได้มีดังนี้

ประเภท คำอธิบาย

องค์ประกอบในระบบ

รายการที่อ้างอิงทั้งหมดเป็นที่คาดหมายว่าจะต้องอยู่ในระบบ

องค์ประกอบในระบบที่แสดงผลในเฟรมแบบอินไลน์

องค์ประกอบจะมาจากโดเมนเดียวกับ Oracle Content Management

องค์ประกอบระยะไกล

องค์ประกอบจะมาจากที่ตั้งระยะไกล

โครงสร้างไฟล์ขององค์ประกอบ

องค์ประกอบแต่ละประเภทจะมีชุดของไฟล์ต่างกันเมื่อสร้างในแคตตาล็อกองค์ประกอบ โดยขึ้นกับวิธีการใช้งานองค์ประกอบเหล่านั้น

องค์ประกอบในระบบ:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    assets
        settings.html
        render.js

องค์ประกอบในระบบที่ใช้เฟรมแบบอินไลน์:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    assets
        settings.html
        render.js
        js
            sites.min.js
            knockout.min.js
            jquery.min.js

องค์ประกอบระยะไกล:

/Components/component-name
    appinfo.json
    _folder_icon.jpg
    keys.json

เมตะดาต้าของโฟลเดอร์

ข้อมูลการรีจิสเตอร์องค์ประกอบจะเก็บอยู่ในเมตะดาต้าของโฟลเดอร์ คุณสมบัติต่อไปนี้ใช้เพื่อระบุองค์ประกอบและประเภทขององค์ประกอบโดยไม่ซ้ำกัน

คุณสมบัติ คำอธิบาย

ชื่อแอปพลิเคชัน

ชื่อโฟลเดอร์ซึ่งเป็นตัวกำหนดชื่อขององค์ประกอบ

คำอธิบายแอป

คำอธิบายโฟลเดอร์

GUID ของแอป

ทุกองค์ประกอบจะเชื่อมโยงกับ GUID และเก็บข้อมูลเป็นแอททริบิวส่วนขยาย xScsItemGUID GUID นี้สร้างโดยเซิร์ฟเวอร์เมื่อสร้างองค์ประกอบ

ประเภทแอป

คุณสมบัติจะเป็นตัวกำหนดประเภทขององค์ประกอบ โดยเก็บข้อมูลเป็นแอททริบิวส่วนขยาย xScsApType

หมายเหตุ:

คุณสมบัติ iconUrl ซึ่งเก็บข้อมูลเป็นแอททริบิวส่วนขยาย xScsAppIconUrl ได้เลิกใช้งานแล้ว

ไฟล์ appinfo.json

ไฟล์การรีจิสเตอร์ appinfo.json สำหรับแต่ละประเภทขององค์ประกอบมีเฉพาะข้อมูลที่ไม่มีอยู่ในเมตะดาต้าของโฟลเดอร์ คุณสมบัติขององค์ประกอบที่กำหนดในเมตะดาต้าของโฟลเดอร์ไม่ได้มีการสร้างสำเนาไว้ในไฟล์ appinfo.json

องค์ประกอบในระบบ:

{
        "settingsData":{
                "settingsHeight":80,
                "settingsRenderOption"; "dialog",
                "settingsWidth":300,
                "componentLayouts":[],
                "triggers":[],
                "actions":[]
        },
        "initialData":{
                "customSettingsData":[],
        }
}

องค์ประกอบในระบบที่แสดงผลในเฟรมแบบอินไลน์:

{
        "endpoints": {
              "settings": {
                      "height": "300",
                      "width": "400"
              }
        }
        "initialData": {
                "customSettingsData": {}
        }
}

องค์ประกอบระยะไกล:

{
        "endpoints": {
              "widget": {
                     "url": "http://www.externaldomain.com/app/render.html"
              }
              "settings": {
                      "url": "http://www.externaldomain.com/app/settings.html",
                      "height": "300",
                      "width": "400"
              }
        }
        "initialData": {
              "customSettingsData": {}
        }
}

ไม่มีค่า "url" ที่รีจิสเตอร์สำหรับองค์ประกอบในระบบ องค์ประกอบในระบบจะใช้ไฟล์บางอย่างที่สามารถแก้ไขได้สำหรับเนื้อหา แต่คุณไม่สามารถแก้ไขที่ตั้งหรือชื่อได้

  • องค์ประกอบในระบบจะใช้ไฟล์ assets/render.js และ assets/settings.html

  • องค์ประกอบในระบบที่แสดงผลในเฟรมแบบอินไลน์จะใช้ไฟล์ assets/render.html และ assets/settings.html

  • องค์ประกอบระยะไกลจะใช้ค่า "url" ใดก็ได้ที่ระบุไว้