Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
Upcoming SlideShare
Loading in...5
×
 

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development

on

  • 870 views

 

Statistics

Views

Total Views
870
Views on SlideShare
857
Embed Views
13

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 13

http://www.zarafa.com 12
http://www.zarafaserver.de 1

Accessibility

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development Presentation Transcript

  • WebApp development introductionThe WebApp team
  • 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
  • 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 Mail Bid = 1 Attachment Container Calendar Bid = -1 Attachment 3rd-party plugin Bid = 2
  • Integrations: Add buttons with insertion points
  • 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 }]}
  • 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
  • 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; }}?>
  • 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 framework is on the roadmap
  • 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