Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development

1.153 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, Kunst & Fotos
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×