140 likes | 249 Views
Y! Mail Application Development Platform. Open Hack day 14 th Feb 2009. Agenda. An Introduction Application Scope Becoming a OpenMail hacker What is a View? Application Configuration Building your first OpenMail application Available APIs Reference. Introduction.
E N D
Y! Mail Application Development Platform Open Hack day 14th Feb 2009
Agenda • An Introduction • Application Scope • Becoming a OpenMail hacker • What is a View? • Application Configuration • Building your first OpenMail application • Available APIs • Reference
Introduction • It is a platform for developing applications that can work on top of users Inbox • Also called Yahoo! Mail Development Platform • Can convert 'Inbox' to a ’More Smarter Inbox' through applications providing rich functionality • Ability to share applications with others
Application Scope • Accessing Mail Features • Application can get access to user’s e-mail content (on a manual drag-drop basis only) • Application can trigger a new mail 'Compose' ( but cannot automatically send a mail) • Accessing Yahoo! Calender • Application can ’Add a new event’ • Accessing user’s data on Yahoo! Network • Either using YQL or individual Yahoo! Property level webservice (e.g Mail, Answers etc) • Application Rendering Options • Tabbed View and Dialog View • Application Space • Each application gets a storage space of 5 mb for application components ( js, css, images etc) • Only available with ’All new Yahoo! Mail’ (not with Yahoo! Mail Classic)
Becoming a OpenMail Hacker • Collect a OpenMail hacker ID(one per team) and test Yahoo! IDs from us • Login to the test Yahoo! ID • Register all your test Yahoo! ID under the hacker ID by logging into http://om1.mail.vip.mud.yahoo.com/openmail/dev_activate.php • Start you development at http://om1.mail.vip.mud.yahoo.com/openmail/devtool.php
What is a View? Each page of an open Mail Application is called a view A view is simply HTML that can be rendered inside the Mail UI An application can be collection of one/more views
Application Configuration • XML based application Config • For outlining application launch methods • E.g clicking on application, drag of a message on application etc • For configuring which and what type (Tabbed/Dialog) of view to trigger upon application launch
Building your first OpenMail application • Login to the developer tool and create a new Application • Goto 'Views' tab and create a new view, say 'HelloMail' • Add some HTML to display 'Hello Mail' and save it • Login to mail with the test Yahoo! ID • Click on 'Add' near Applications section and add your application
Available APIs • Web Services • Request are sent through Adobe Flash • Requests have a crossdomain.xml file configured to accept '*.yimg.com' domains • Use openmail.Application.callWebService method to make the call • More info at http://om0001.mail.mud.yahoo.com/om/docs/OpenapiPublic/Application.html • For generating Views • openmail.Application.openView() • openmail.Application.closeView() • More info at http://om0001.mail.mud.yahoo.com/om/docs/OpenapiPublic/Application.html
Available APIs contd... • Interacting with Mail • openmail.Mail.compose() - used to compose a new mail • openmail.Mail.search() - this method will initiate a keyword search inside mail • More info at http://om0001.mail.mud.yahoo.com/om/docs/OpenapiPublic/Mail.html • Accessing Application Data • openmail.Application.setData() – persistently stores the given key-value pair object in the application space • Openmail.Application.getData() – retrieve the values of the keys from the application space • More info at http://om0001.mail.mud.yahoo.com/om/docs/OpenapiPublic/Application.html
Available APIs contd... • Miscellaneous APIs • AuthService Class is available for making authorized web service calls. • Supports OAuth (2 and 3 legged) and BBAuth • openmail.Calendar.addEvent() method for adding a new event in Yahoo! Calender • For detailed information refer http://om0001.mail.mud.yahoo.com/om/docs/OpenapiPublic/
References • Open Mail Dev Tool - http://om1.mail.vip.mud.yahoo.com/openmail/devtool.php • API Documentation - http://om0001.mail.mud.yahoo.com/om/docs/OpenapiPublic/ • Complete Open Mail Documentation http://openhack2009.pbwiki.com/f/YMDP-documentation-020409.pdf • Registering test Yahoo! ID with hacker accounts http://om1.mail.vip.mud.yahoo.com/openmail/dev_activate.php • Other Yahoo! APIs http://developer.yahoo.com