WebApp development introductionThe WebApp team
What will we discussOverview of the client architectureIntegrations on the client: plugins vs. widgetsIntegrations on the ...
WebApp Client Architecture
Integrations: Different kinds of addonsWidgetsPlugins
Integrations: Widgets
Integrations: Widgets
Integrations: When wanting more... plugins
Integrations: Two ways to integrateBidding systemInsertion points
Integrations: Bidding for image attachments
Integrations: Bidding for image attachments                                         AttachmentClick on attachment   Open  ...
Integrations: Add buttons with insertion points
Integrations: Example of insertion pointsinit : function(){    ...    this.registerInsertionPoint(previewpanel.toolbar.rig...
Server integrationsThe server-side of the WebApp is written in PHPThe client interacts with modules on the serverThere are...
Integrations: Example of server hook<?phpclass Pluginexample extends Plugin {  function Pluginexample(){}  function init()...
The anatomy of a WebApp pluginA closer look at the folder structure and manifest
Examples
Possibilities for themingMajority of the WebApp is styled using CSSAt the moment limited theming can be doneA theming fram...
Documentation, manual and forumDocumentation   http://developer.zarafa.com/webapp/Manual   http://developer.zarafa.com/web...
Upcoming SlideShare
Loading in …5
×

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development

869 views
792 views

Published on

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
869
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development

  1. 1. WebApp development introductionThe WebApp team
  2. 2. What will we discussOverview of the client architectureIntegrations on the client: plugins vs. widgetsIntegrations on the server: moduleThe anatomy of a WebApp pluginExamplesPossibilities for themingDocumentation, manual & forum
  3. 3. WebApp Client Architecture
  4. 4. Integrations: Different kinds of addonsWidgetsPlugins
  5. 5. Integrations: Widgets
  6. 6. Integrations: Widgets
  7. 7. Integrations: When wanting more... plugins
  8. 8. Integrations: Two ways to integrateBidding systemInsertion points
  9. 9. Integrations: Bidding for image attachments
  10. 10. Integrations: Bidding for image attachments AttachmentClick on attachment Open Mail Bid = 1 Attachment Container Calendar Bid = -1 Attachment 3rd-party plugin Bid = 2
  11. 11. Integrations: Add buttons with insertion points
  12. 12. Integrations: Example of insertion pointsinit : function(){ ... this.registerInsertionPoint(previewpanel.toolbar.right, this.createPreviewPanelBtn, this); ...}createPreviewPanelBtn : function(insert){ return [{ xtype : menuitem, overflowText : _(Spreed Button), iconCls : icon_spreed_setup, handler : this.onPreviewBtn, scope : this }]}
  13. 13. Server integrationsThe server-side of the WebApp is written in PHPThe client interacts with modules on the serverThere are three ways to extend the server Write your own module Use the insertion points/hooks on the server Add default settings
  14. 14. Integrations: Example of server hook<?phpclass Pluginexample extends Plugin { function Pluginexample(){} function init(){ $this->registerHook(server.core.properties.addressbookitem.mailuser); } function execute($eventID, &$data){ switch($eventID){ case server.core.properties.addressbookitem.mailuser: $this->addABObjectProps($data); break; } } function addABObjectProps(&$data) { $data[properties][propname] = "PT_TSTRING:PSETID_Address:0x9999"; $data[properties][propname2] = PR_PROPERTY_DEFINITION; }}?>
  15. 15. The anatomy of a WebApp pluginA closer look at the folder structure and manifest
  16. 16. Examples
  17. 17. Possibilities for themingMajority of the WebApp is styled using CSSAt the moment limited theming can be doneA theming framework is on the roadmap
  18. 18. Documentation, manual and forumDocumentation http://developer.zarafa.com/webapp/Manual http://developer.zarafa.com/webapp/manual.pdfForum https://forums.zarafa.comReleases on https://community.zarafa.com

×