Lập trình Yahoo Messenger Plug-in

Bài viết này thực hiện theo tiêu chí: ngắn gọn, đi vào ý chính, nhắm tới người đọc là Lập trình viên (sử dụng windows, biết sơ sơ về HTML và webapp)

Với các bản Yahoo Messsenger (YM) mới từ 8.1 trở lên, Yahoo cho phép chạy các ứng dụng con (plugin) trong YM.
Các bạn download SDK bằng cách: lên google, search từ khóa “YM plugin SDK”, download nó về (nhỏ thôi, khoảng hơn 1MB). Trong SDK ấy có file PDF mô tả chi tiết thông số kỹ thuật, và có các Plugin để Test. (nếu lười, mời down tại đây vậy)

Giải nén file Test.zip trong SDK, vào thư mục Plug-in trong thư mục cài đặt YM (Thường là ở đây C:\Program Files\Yahoo!\Messenger\Plugin). Bạn sẽ có các folder kiểu thế này:
C:\Program Files\Yahoo!\Messenger/Plugin/Test/ContentTab/test.yplugin
C:\Program Files\Yahoo!\Messenger/Plugin/Test/SidePanel/test.yplugin

Trong folder test.yplugin, file quan trọng nhất là MANIFEST/plugin.property. File này chứa các khai báo tham số của plugin cho Yahoo.

Để chạy thử một plugin, bạn vào YM, chọn menu Actions/Load a Plugin

Để bắt đầu chỉnh sửa plugin theo ý bạn, hãy mở file manifest (plugin.property):
Sửa giá trị “Location” trỏ tới file HTML của bạn.

Sau khi xong xuôi, test cẩn thận OK, mời bạn đưa plugin của mình cho Yahoo để nó xét duyệt, đưa lên danh sách chính thức hỗ trợ.

http://us-gallery.yahoo.com/messenger/

plugin.property bản tự giới thiệu của plugin cho YM
Bạn có thể hiểu đây là file config của Plugin đối với YM, ta có thể Comment bằng dấu # ở đầu dòng, config theo kiểu INI , kiểu key=value.
Không được để dấu trống ở đầu dòng, luôn viết từ đầu mỗi dòng.
Các giá trị Key Value có phân biệt hoa thường.
Mỗi dòng là một cặp KeyValue
Nếu bạn định dùng tiếng Việt trong các Value, nhớ dùng dạng UTF-8, và save file này dưới dạng UTF-8 (nhưng khi tôi thử thì không được, cứ save UTF-8 thì YM nó không load file manifest nữa)

Plugin của YM hoàn toàn là một trang web HTML (YM sử dụng một control Internet Explorer để chạy). Nên nếu bạn làm web với IE (kiểu ajax) thế nào thì làm với YM Plugin như thế.

Một số chú ý:
Dùng được setTimeout, setInterval (cho nên làm được các công việc kiểm tra theo định kỳ, định kỳ check status, định kỳ post lên loop.vn , …)
Dùng được các library javascript ngoài (tôi mới thử jquery, tuy nhiên phải bật chế độ ActiveX lên mới dùng được Jquery, vậy nên cũng phải tránh)
Dùng được cả Flash lẫn ActiveX (cái này lằng nhằng, tránh dùng, Dùng flash cũng là dùng ActiveX, phải đợi Yahoo verify rất lâu)

Mỗi lần chỉnh sửa file manifest (cái này chắc ít chỉnh thôi), muốn test lại, bạn dùng YM, đóng plugin (nhấn vào mũi tên nhỏ bên góc phải của nó, chọn Close) rồi lại chọn Menu Action/Load test plugin.
Nếu chỉnh code HTML javascript của Tab Plugin, bạn chỉ cần chuột phải vào cửa sổ plugin, chọn Refresh là được.