building joomla extensionswithflexintegration-101218211856-phpapp01
TRANSCRIPT
Xây dựng Joomla! Xây dựng Joomla! extensions tích hợp extensions tích hợp
Adobe FlexAdobe FlexCreated by: Bravebits LtdCreated by: Bravebits Ltd
GiớiGiới thiệuthiệu JoomlaJoomla CMS CMS vàvà hướnghướng dẫndẫn xâyxây dựngdựng JoomlaJoomla extensions extensions
NângNâng caocao tínhtính thânthân thiệnthiện bằngbằng cáchcách tíchtích hợphợp Adobe Flex Adobe Flex vàovào JoomlaJoomla Extension Extension
Source code Source code vàvà Demo Demo sửsử dụngdụng JSN JSN ImageShowImageShow extension extension
HỏiHỏi & & đápđáp
Khái quátKhái quát
Giới thiệu Joomla CMS và Giới thiệu Joomla CMS và hướng dẫn xây dựng Joomla hướng dẫn xây dựng Joomla
extensionsextensions
Joomla CMSJoomla CMS Joomla là một Open Source CMS Joomla là một Open Source CMS Viết bằng ngôn ngữ PHP và kết nối tới Viết bằng ngôn ngữ PHP và kết nối tới
database MySQL database MySQL Một trong 3 open source CMS phổ biến Một trong 3 open source CMS phổ biến
nhất: Wordpress, Joomla, Drupalnhất: Wordpress, Joomla, Drupal Đã có 22 triệu lượt download (Số liệu Đã có 22 triệu lượt download (Số liệu
12/2010).12/2010). Hơn 6000 extension trên JED (Joomla Hơn 6000 extension trên JED (Joomla
Extension Directory).Extension Directory).
Requirements for Joomla Requirements for Joomla 1.5.x1.5.x
Joomla ExtensionJoomla Extension Để tùy biến hoặc bổ sung tính năng cho Để tùy biến hoặc bổ sung tính năng cho
Joomla, cần cài đặt thêm các ExtensionJoomla, cần cài đặt thêm các Extension Các loại extension của JoomlaCác loại extension của Joomla
ComponentsComponents ModulesModules PluginsPlugins TemplatesTemplates Language packLanguage pack
MVC trên Joomla MVC trên Joomla componentcomponent
Trong Joomla, Trong Joomla, mô hình MVC mô hình MVC được hỗ trợ được hỗ trợ thông qua 3 lớp thông qua 3 lớp JModel, JView JModel, JView và Jcontroller. và Jcontroller.
MVC folder structure in MVC folder structure in ComponentComponent
Simple Component Simple Component Complex Component Complex Component
Nâng cao tính thân thiện bằng Nâng cao tính thân thiện bằng cách tích hợp Adobe Flex vào cách tích hợp Adobe Flex vào
Joomla ExtensionJoomla Extension
Giới thiệu về RIA và Flex Giới thiệu về RIA và Flex Rich Internet applications (RIA) là các ứng dụng trên Rich Internet applications (RIA) là các ứng dụng trên
web có đầy đủ các tính năng đặc trưng của các ứng web có đầy đủ các tính năng đặc trưng của các ứng dụng desktop truyền thống. Các RIA sẽ chuyển các quá dụng desktop truyền thống. Các RIA sẽ chuyển các quá trình xử lý dữ liệu từ giao diện người dùng tới các Web trình xử lý dữ liệu từ giao diện người dùng tới các Web client nhưng chúng sẽ giữ lại các dữ liệu trên máy chủ client nhưng chúng sẽ giữ lại các dữ liệu trên máy chủ ứng dụng (application server)ứng dụng (application server)
Flex (Adobe Flex) là công nghệ mới của hãng Adobe Flex (Adobe Flex) là công nghệ mới của hãng Adobe cung cấp công nghệ phát triển RIA chuyên nghiệp. Flex cung cấp công nghệ phát triển RIA chuyên nghiệp. Flex dựa trên Flash, dùng ngôn ngữ khai báo MXML dựa trên dựa trên Flash, dùng ngôn ngữ khai báo MXML dựa trên XML kết hợp với ActionScript, cung cấp sự tách biệt giữa XML kết hợp với ActionScript, cung cấp sự tách biệt giữa phần giao diện người dùng và phần luận lý ứng dụng rõ phần giao diện người dùng và phần luận lý ứng dụng rõ ràng hơn so Flash. ràng hơn so Flash.
Nâng cao tính thân thiện qua Nâng cao tính thân thiện qua FlexFlex
Usability: Tính thân thiện người dùngUsability: Tính thân thiện người dùng Ưu điểm của Flex:Ưu điểm của Flex:
Hỗ trợ trên các browser và platformHỗ trợ trên các browser và platform Tương tác với thông tin động không cần load Tương tác với thông tin động không cần load
lại tranglại trang Hỗ trợ thiết kế giao diện người dùng với tính Hỗ trợ thiết kế giao diện người dùng với tính
tương tác caotương tác cao Thời gian phát triển nhanhThời gian phát triển nhanh
Các phương thức tích hợp PHP và Các phương thức tích hợp PHP và FlexFlex
Flex client có thể kết nối với Server side bằng 2 phương thức: HTTP Flex client có thể kết nối với Server side bằng 2 phương thức: HTTP và Sockets và Sockets
Kết nối thông qua Sockets không phù hợp với JoomlaKết nối thông qua Sockets không phù hợp với Joomla Kết nối HTTP:Kết nối HTTP:
Sử dụng HTTPService component để send request ( POST hoặc GET) Sử dụng HTTPService component để send request ( POST hoặc GET) đến server. Dữ liệu trả về có định dạng là XML hoặc JSON.đến server. Dữ liệu trả về có định dạng là XML hoặc JSON.
FF lex sử dụng WebService components để kết nối với server thông qua lex sử dụng WebService components để kết nối với server thông qua webservice của server. Flex web service API hỗ trợ format: SOAP 1.1, webservice của server. Flex web service API hỗ trợ format: SOAP 1.1, XML Schema 1.0, WSDL 1.1 document-literal. XML Schema 1.0, WSDL 1.1 document-literal.
Remoting( or RPC)Remoting( or RPC) :Flex client sẽ gửi một request message tới :Flex client sẽ gửi một request message tới server để thực thi một function trên server. Sau khi thực thi xong thì server để thực thi một function trên server. Sau khi thực thi xong thì server sẽ trả kết quả về để Flex client tiếp tục xử lý.Flex sử dụng server sẽ trả kết quả về để Flex client tiếp tục xử lý.Flex sử dụng RemoteObject component kết hợp với third-party software(AmfPhp, RemoteObject component kết hợp với third-party software(AmfPhp, WebOrb, Zenamf, BlazeDS ) để community với PHP WebOrb, Zenamf, BlazeDS ) để community với PHP
Giới thiệu về JSONGiới thiệu về JSON Viết tắt của JavaScript Object Notation. Là một Viết tắt của JavaScript Object Notation. Là một
chuẩn để định dạng dữ liệu, tương tự XML chuẩn để định dạng dữ liệu, tương tự XML YAML…. YAML….
JSON chính là cách biểu diễn một đối tượng của JSON chính là cách biểu diễn một đối tượng của JavaScript và ActionScript.JavaScript và ActionScript.
Khi sử dụng JSON với JavaScript hay Khi sử dụng JSON với JavaScript hay ActionScript, có thể truy vấn trực tiếp giá trị theo ActionScript, có thể truy vấn trực tiếp giá trị theo tên (khóa) được định nghĩa trong JSON.tên (khóa) được định nghĩa trong JSON.
Dữ liệu JSON gọn nhẹ hơn vì không yêu cầu Dữ liệu JSON gọn nhẹ hơn vì không yêu cầu nhiều thẻ như XML.nhiều thẻ như XML.
Sử dụng JSON cho Joomla và Sử dụng JSON cho Joomla và FlexFlex
Flex trực tiếp call đến Joomla ComponentFlex trực tiếp call đến Joomla Component Joomla Component trả về dữ liệu dưới Joomla Component trả về dữ liệu dưới
dạng JSONdạng JSON Flex phân tích dữ liệu và hiển thị trên Flex phân tích dữ liệu và hiển thị trên
InterfaceInterface
Joomla Extension tích hợp Joomla Extension tích hợp FlexFlex
Source code và Demo sử Source code và Demo sử dụng JSN ImageShow dụng JSN ImageShow
extensionextension
Giới thiệu JSN ImageShowGiới thiệu JSN ImageShow Là một JSN Extension có chức năng quản Là một JSN Extension có chức năng quản
lý và trình diễn ảnh lý và trình diễn ảnh Sử dụng Flash để slide ảnhSử dụng Flash để slide ảnh Kết nối được với nhiều image sourceKết nối được với nhiều image source Cung cấp nhiều hiệu ứng hình ảnh đẹp Cung cấp nhiều hiệu ứng hình ảnh đẹp
mắtmắt Dễ sử dụng, cho phép back up và restore Dễ sử dụng, cho phép back up và restore
dữ liệu.dữ liệu.
PHP function giao t iếp với PHP function giao t iếp với FlexFlex
PHP function:PHP function:(load hình ảnh từ một showlist)(load hình ảnh từ một showlist)
JSON kết quả từ PHPJSON kết quả từ PHP
Flex sử dụng chuỗi JSONFlex sử dụng chuỗi JSON
Hỏi & ĐápHỏi & Đáp
THANK YOU!THANK YOU!