160 likes | 255 Vues
Developing Plugins for SameTime Connect 7.5. Jian Min JIANG jiangjm@cn.ibm.com Lotus ISV Technical Enablement China Software Development Lab. UI Extensions: Main Window. Branding Area. Tools Menu. Action Bar. Telephony. Live Names. “ Mini Apps”. Status bar.
E N D
Developing Plugins for SameTime Connect 7.5 Jian Min JIANG jiangjm@cn.ibm.com Lotus ISV Technical Enablement China Software Development Lab
UI Extensions: Main Window Branding Area Tools Menu Action Bar Telephony Live Names “Mini Apps” Status bar
UI Extensions: Chat Window Tools Menu Action Bar Telephony Branding Area Send area actions Status bar
More examples of UI extensions • Extend menus and toolbars in other windows (e.g., n-way chat participant list) • Extend Sametime’s system tray menu choices, as shown to right (“BluePages”) • Extend Preferences UI using standard Eclipse API • Add branding areas to login dialog, Contact List, and chat window • Add actions to a contact’s pop-up menu • Reuse business card BluePages and Voice Suite are internal IBM plug-ins
Extending Sametime Connect - Steps • Have an idea? • Approach 1: Choose the appropriate UI extension • Approach 2: Choose the appropriate event override • Alternatives to Extending Sametime Connect • Code • Test • Deploy
Approach 1: Choose the appropriate UI extension Actions: Main menu, person/group context menu, toolbars Areas: Mini app, chat area, n-way list area, pop-up add-on Information extension: Person status, n-way list columns Approach 2: Choose the appropriate event override Transform chat messages (e.g., translation or keyword substitution) React to location changes, coordinate with other applications Automated responses (e.g., DND in presentation mode) Extending Sametime Connect - Approaches These approaches can be combined as needed.
Extending Sametime Connect - Alternatives • Don’t extend the client • Convenience can turn to clutter • Extend your own application instead • Extend your web application using Sametime Links Toolkit* • Extend your Java application using Sametime Java Toolkit* • Extend your RCP application using Livenames • Extend your Notes 8 application • Other options are on the horizon • Reuse of Sametime Connect views in Expeditor** * ST Links is unchanged; ST Java TK AWT-based UI elements are deprecated ** You can extend Sametime Connect 7.5’s UI; future versions will allow reuse of its views in your rich client application.
Extending Sametime Connect – UI Elements actionSet ext. point* viewActions ext. point* Group, Person popupMenus ext. point* (GroupSelection) (from System tray) nWayListExtentionext. point MyBusinessCard(Person) Person (from n-way chat) popupMenus ext. point* (PersonSection) chatAction ext. point miniApp ext. point (AbstractMiniApp) (from chat window) * Standard Eclipse UI extension points
Extending Sametime Connect – Code, Test, Deploy • Code • Familiar to Eclipse developers (plug-ins, SWT, JFace) • Eclipse IDE wizards simplify code and debug • Test • Launch directly from Eclipse IDE or connect to running client • Expeditor Toolkit automates creation of Launch configuration, includes properly configured J9 runtime environment • Development-time Deployment • Run directly from Eclipse’s PDE (Plug-in Development Environment), or • Copy to installation’s plugins directory and restart with -clean option • Production Deployment • When complete, create update site; optionally require installation at client startup • Delivery is either via “pull” from users with Update Manager, or “push” from server from enterprise-wide update site
Sample plug-in: Branding • Extension Point • com.ibm.collaboration.realtime.ui.stbranding • Options • Image • URL • Eclipse Widget • Any controls or combinations, but the size is limited • Extend STBrandingArea • Implementation of createControl public Control createControl(Composite parent) {……. }
Login Window <plugin> <extension point="com.ibm.collaboration.realtime.ui.stbranding"> <!-- image banner above login --> <stbranding id="com.ibm.collaboration.realtime.sample.branding.login" name="login dialog branding" targetView="com.ibm.collaboration.realtime.login"> <image file="images/login_branding.png"/> </stbranding> </extension> </plugin>
Chat Window <plugin> <extension point="com.ibm.collaboration.realtime.ui.stbranding"> <stbranding height="64" width="64" id="com.ibm.collaboration.realtime.sample.branding.chat" name="chat window branding" targetView="com.ibm.collaboration.realtime.chatwindow" valign="top"> <control class="com.ibm.collaboration.realtime.sample.branding.SampleSTBrandingArea"/> </stbranding> </extension> </plugin>
Contact List <plugin> <extension point="com.ibm.collaboration.realtime.ui.stbranding"> <stbranding height="128" id="com.ibm.collaboration.realtime.sample.branding.imhub" name="contact list branding" targetView="com.ibm.collaboration.realtime.imhub" valign="bottom"> <website url="http://www.ibm.com"/> </stbranding> </extension> </plugin>
SameTime Connect Client Customization: Splash <STconnect75>plugins\com.ibm.collaboration.realtime.application_2.0.0.jar splash.bmp <STconnect75>configuration\org.eclipse.osgi\splash.bmp