Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Tìm hiểu về file config.xml trong extension Opera

      Tony Stark

      Giới tính : Nam

      Tuổi : 31

      Đến từ : Cần thơ

      Ngày Tham gia : 10/01/2012

      Tổng số bài gửi : 750

      #1

       Sat Mar 03, 2012 10:48 am

      Quản Trị Mạng - Trong bài viết trước, chúng tôi đã hướng dẫn và giới thiệu với các bạn một số bước cơ bản để tạo [You must be registered and logged in to see this link.] hoặc W3C Widget cho trình duyệt Chrome,
      nhưng trong quá trình làm thì chúng ta bắt buộc phải tạo file
      config.xml – trong đó có chứa toàn bộ các thông tin cần thiết để hệ
      thống nhận diện phiên bản chính xác của extension, tác giả, điều khoản thỏa thuận sử dụng... Có thể hiểu nôm na rằng nó tương tự như phần About của
      bất kỳ trang web nào. Trong bài viết dưới đây, chúng tôi giới thiệu chi
      tiết với các bạn về những bước thực hiện cách tạo file config.xml hoàn chỉnh.

      Tạo file config.xml:


      Trước tiên, các bạn hãy mở NotePad và lưu thành file config.xml, thay đổi chế độ Encoding thành UTF-8, vì chế độ này cho phép bạn sử dụng bất kỳ ký tự đặc biệt nào bên trong. File config.xml đơn giản nhất là:




      Tuy nhiên, với tên domain cố định thì các bạn có thể tạo được nhiều
      hơn 1 extension, và cơ chế nhận diện từng extension qua tham số ID, ví
      dụ như dưới đây:


      id="http://example.org/disco">



      Lưu ý rằng những thông số ở đây không hề bắt buộc, nghĩa là extension
      vẫn hoạt động bình thường nếu không có ID, ngay cả trên hệ thống local.
      Khi submit thì extension của bạn sẽ được lưu trữ tại [You must be registered and logged in to see this link.], và hệ thống sẽ tạo hoặc thay thế ID với phần mở rộng tương ứng trên website của Opera.

      Đối với 1 extension thì chắc chắn nó sẽ phải trải qua nhiều giai đoạn
      phát triển khác nhau, và việc cần làm ở đây là gán thông số phiên bản
      để người dùng biết được đâu là phiên bản mới nhất của extension. Chúng
      ta có thể chèn số thứ tự, chuỗi ký tự hoặc kết hợp:

      id="http://example.org/disco"
      version="1.0">

      Bên cạnh đó, các bạn còn có thể tự điều chỉnh giá trị width height trong phần , đơn vị đo là pixel, và lưu ý rằng thông số này chỉ liên quan tới Widget. Ví dụ như sau:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">

      Thông tin trong phần sẽ chỉ định tên
      của người, tác giả có liên quan đến extension, cũng như cách hiển thị
      khi được sử dụng trực tuyến. Cũng tương tự như phiên bản, phần thông tin
      này có thể ngắn hoặc dài tùy ý, ví dụ: The Saturday Night Disco Machine được rút gọn thành Disco:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      Lưu ý rằng chúng ta có thể tạo extension đa ngôn ngữ, chẳng hạn như English, Japanese, French... Được thực hiện bằng cách thêm nhiều thẻ vào trong file config.xml với thuộc tính xml:lang được chỉ định rõ ràng:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine
      La boîte de nuit disco du samedi

      Tìm kiếm phần giá trị ngôn ngữ Subtag phù hợp tại [You must be registered and logged in to see this link.], sau đó nhập giá trị này bằng chữ thường. 1 điểm nữa cần lưu ý là chỉ định phần Version
      mặc định, qua đó nếu trình duyệt không tìm thấy phiên bản thì sẽ hiển
      thị thông tin mặc định đó. Có thể làm được việc đó bằng cách bỏ qua
      thuộc tính ngôn ngữ trong đó, ví dụ: nếu French version là mặc định thì chúng ta phả xóa bỏ phần xml:lang="fr". Lưu ý rằng chúng ta cũng có thể sử dụng thuộc tính xml:lang để chỉ định chế độ đa ngôn ngữ cho Widget , , hoặc .

      Xác định mục đích sử dụng:


      Các bạn có thể gán thêm đoạn thông tin Description nhằm mô tả tính năng và mục đích sử dụng của ứng dụng, add on, bằng cách thêm phần vào bên trong:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine
      This Widget will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.


      Tiếp theo, người sử dụng có thể sẽ muốn biết tên tác giả đã tạo ra ứng dụng hoặc add on đó. Sử dụng phần để chỉ định thông tin đó, kết nối tới trang chủ của tác giả, địa chỉ email... Như ví dụ dưới đây thì tác giả chính là Tony Manero:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero


      Bên cạnh đó, phần sẽ đề cập tới phần
      điều khoản thỏa thuận sử dụng, tác giả có cho phép copy, chỉnh sửa hoặc
      thay đổi, thêm bớt chức năng của extension hay không... Việc chỉ định
      đường dẫn kết nối tới trang cá nhân của tác giả là tùy chọn, thay vào đó
      thì chỉ cần nhập nội dung cần thiết dưới dạng text vào bên trong thẻ , ví dụ như sau:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero


      Licensed under the MIT license


      Tiếp theo, phần icon – biểu tượng của ứng dụng hiển thị trên trình duyệt sau khi được cài đặt. Trong file config.xml
      chúng ta có thể đặt đường dẫn tới file ảnh nào đó, icon phải được đặt
      bên trong gói extension. Các bạn có thể chỉ định nhiều định dạng và kích
      cỡ icon khác nhau. Tuy nhiên, nếu icon không có kích thước bên trong,
      chẳng hạn như file SVG thì hãy thiết lập thông số kích thước, bao gồm
      width và height. Nếu áp dụng trên file PNG, GIF, JPEG
      thì sẽ không có tác dụng, vì extension sẽ lấy kích thước bên trong làm
      chuẩn. Ví dụ, nếu bạn đặt tất cả icon trong thư mục img/ trong gói
      extension thì chỉ định đường dẫn trong file config.xml như sau:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero


      Licensed under the MIT license




      Còn biểu tượng của nút bấm chức năng trong trình duyệt Chrome có kích
      thước chuẩn là 18 x 18, tất cả các bức ảnh to hoặc nhỏ hơn đều được
      chia lại tỉ lệ cho phù hợp.



      File khởi đầu mà extension sử dụng khi tải file index.html, nhưng nếu muốn sử dụng file khác thì thay đổi phần bên trong. Lưu ý rằng chúng ta có thể chỉ định rõ ràng định dạng mimetype của file (ví dụ text/html, application/xhtml+xml) và chế độ Encoding mặc định, khuyến cáo ở đây là html utf-8:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero


      Licensed under the MIT license





      Thiết lập Preference mặc định:


      Thực tế, việc này được thực hiện bằng cách điều chỉnh thành phần .
      Mỗi phần đều phải chứa tên và giá trị khởi tạo mặc định, được lưu trữ
      trong thuộc tính name và value, hoặc khóa phần giá trị này bằng cách
      thêm tùy chọn readonly="true". Những thông số này được tổng quát bằng thuộc tính widget.preferences:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero


      Licensed under the MIT license




      value="beegees"/>
      value="cheesy"
      readonly="true"/>

      Với extension Speed Dial:


      Nếu muốn tạo extension Speed Dial thì cần phải chú ý tới một vài điều sau, thiết lập thuộc tính viewmodes trong thẻ thành minimized.Bên cạnh đó, thay đổi thẻ với thuộc tính name thành opera:speeddial, khởi tạo giá trị phù hợp cho required. Cuối cùng, gán thêm thẻ với thuộc tính name thành url, còn value thành đường dẫn URL mà extension Speed Dial sẽ trỏ tới. Ví dụ như sau:

      id=http://example.org/disco"
      version="1.0" viewmodes="minimized">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero





      Thiết lập chế độ chia sẻ cookies:


      Về cơ chế hoạt động thì extension thường xuyên làm việc trong môi
      trường riêng biệt với cookies đi kèm. Tuy nhiên, trong 1 số trường hợp
      đặc biệt thì có thể chúng ta sẽ muốn extension chia sẻ cookies với nội
      dung của trình duyệt đang hiển thị và ứng dụng web. Để thực hiện, các
      bạn hãy gán thêm thẻ với thuộc tính name thành opera:sharecookies và giá trị phù hợp dành cho phần required. Sau đó, thêm thẻ với giá trị origin là đường dẫn URL của website muốn chia sẻ cookies. Còn nếu muốn truy cập tới subdomain của website đó thì chỉ cần thêm thuộc tính subdomains tới phần và thiết lập giá trị thành true. Ví dụ:

      id="http://example.org/disco"
      version="1.0">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero






      Chính sách bảo mật:


      Cuối cùng là công đoạn khai báo các chính sách quyền truy cập đối với
      từng thành phần trong widget, và widget sẽ không thể hoạt động nếu
      thiếu thông tin này. Ở bên trên, chúng ta đã xác định được domain trong
      phần ID, và tại đây các bạn cần kiểm tra đầy đủ domain chính cũng như
      subdomain có liên quan. Ví dụ như sau:

      id="http://example.org/disco"
      version="1.0"
      width="600"
      height="400">
      The Saturday Night Disco Machine

      This extension will help you to select all
      the movements you need to know to be the King of Disco.
      You can select a specific steps sequence and view the
      associated video.

      email="tony@example.org">
      Tony Manero


      Licensed under the MIT license




      value="beegees"/>
      value="cheesy"
      readonly="true"/>


      Sau khi hoàn tất file config.xml, hãy kiểm tra lại toàn bộ các thiết
      lập, thông số cũng như điều kiện tối thiểu một lần nữa để đảm bảo rằng
      extension sẽ hoạt động ổn định.


      • config.xml nằm trong thư mục gốc của extension.
      • config.xml được viết bằng chữ thường.
      • config.xml là file text thông thường.
      • Thành phần cơ bản là widget.
      • Phần widget có thuộc tính xmlns="http://www.w3.org/ns/widgets"
      • Giá trị true và false phải được biết bằng chữ thường.
      • Giá trị language được viết bằng chữ thường.
      • config.xml được lưu dưới chế độ encode utf-8.
      • Với extension Speed Dial, thẻ có giá trị viewmodes minimized, đồng thời file config.xml có chứa thẻ với giá trị thuộc tính phù hợp.
      • Nếu chia sẻ cookies thì file config.xml phải chứa thẻ với giá trị phù hợp.
      • File config.xml có chứa các thành phần dùng để chỉ định khả năng truy cập đi kèm với chính sách – policy được thiết lập rõ ràng.

      Bên cạnh đó, các bạn có thể tìm hiểu thêm một số khái niệm có liên quan tại đây:


      Chúc các bạn thành công!