custom development with novell teaming

59
Custom Development with Novell® Teaming Peter Hurley Software Engineer Consultant Novell, Inc. [email protected]

Upload: novell

Post on 07-Nov-2014

8.554 views

Category:

Documents


7 download

DESCRIPTION

Novell Teaming offers excellent functionality out of the box. It also offers limitless possibilities for customization based on your organization's needs. Attend this session to learn how easily you can create custom branding elements for your Novell Teaming environment—and how you can create extensions from Novell Teaming to other applications. You'll receive step-by-step instructions on the process from Novell Teaming engineers and experts.

TRANSCRIPT

Page 1: Custom Development with Novell Teaming

Custom Development with Novell® Teaming

Peter HurleySoftware Engineer ConsultantNovell, [email protected]

Page 2: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.2

Customizing Your Novell® Teaming Site

• Basic customizations– No coding required

• Custom JSPs– Simple modifications using JSPs and JSTL

• Remote applications– Integration with other applications

• Extensions– Extending the teaming code

• Configuration files• Language translations

Page 3: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.3

Basic Customizations (Quick Review)

• Standard out-of-the-box operations– No coding necessary

• Customization options– Branding

– Forms and views

– Landing pages

– Work-flows

– Templates

– Accessories

Page 4: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.4

Branding (Example)

Page 5: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.5

Branding (How to Add Branding)

Page 6: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.6

Branding (How to Set Branding on the Log-in Page)

• If you are willing to show the top workspace to the world...

– Add “guest” as visitor to the top workspace

– Then, add “guest” visitor access to the guest workspace

• If not...

– Add “guest” access to the guest workspace

– Then, add the desired branding to the guest workspace

Page 7: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.7

Branding (Tips)

• Anyone can add branding to their own work-spaces and folders

– Inherited by all work-spaces and folders below it

• You can add graphics and text

• Put company branding on the top workspace

– Sets the branding for the whole site (unless overridden below here)

Page 8: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.8

Branding (Default Starting Page)

• Setting a landing page as the default starting page– Create a landing page (using the top workspace is good)– Make sure everyone has read access to this page

> Add “Guest” as visitor if you want this to be available before logging in

– Create a simple URL for this landing page> Click “Manage/Configure”, then create the simple URL

– Edit the config file: webapps/teaming/WEB-INF/web.xml> Change the “landingPagePath” value to be your simple URL

<context-param>

<param-name>landingPagePath</param-name>

<param-value>/ssf/a/</param-value>

</context-param>

Page 9: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.9

Forms and Views (Example)

Page 10: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.10

Forms and Views (Summary)

• Form and view designer– Create site wide designs– Create designs that are local to a folder or workspace

• Create new entry types– Add new form elements

> Radio buttons> Select boxes> Text

– Entry data is searchable– “Configure” folders to allow the new entry type

Use this to add additional user profile attributes

Page 11: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.11

Additional User Profile Attributes(Areas of Expertise)

Page 12: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.12

Form and View (Extend the User Profile)

Page 13: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.13

Form and View (Extend the User Profile)

Page 14: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.14

Landing Pages (Examples)

Page 15: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.15

Landing Pages (Examples)

Page 16: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.16

Landing Pages (How to Create a Landing Page)

Page 17: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.17

Landing Pages

• Provides a nice introduction to your workspace

• Cleaner layout, easier to understand

• Dynamically updated with the latest information

– Content is pulled from other folders and entries

• Easy to create and manage

– Multiple people feeding information onto the landing page

Page 18: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.18

Work-flows

• Business processes• Content management

• Parallel processing• Filtered data

Orientation

Add User Profile to eDirectory™

Add E-mail Account

Contact Payroll

New Employee

Prepare Office

Turn on Phone

Tasks Completed

Process Completed

FacilitiesHR IT

Page 19: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.19

Accessories (Example)

Page 20: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.20

Accessories (Example)

• Add additional content to work-spaces and folders

– Search results

– Blog and wiki summaries

– Merged calendars

– Task lists

– External web pages (using an iframe)

– Remote applications

Page 21: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.21

Templates

• User workspace configuration

– Default folders and accessories

– Default access controls

• Predefined project work-spaces

– Common layout for each project

– This can be done with Export/Import, too

Page 22: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.22

Templates (Change User Workspace Default)

Page 23: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.23

Templates (Change User Work-space Default)

Page 24: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.24

Custom JSPs

• Custom forms and views

• Custom landing pages

• Custom JSP call-outs

• CSS, colors and images

Page 25: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.25

Custom JSPs in Forms and Views

Page 26: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.26

Custom JSP (W-4 Form - custom_jsps/samples/w4)

Page 27: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.27

Custom JSPs in Forms and Views

Page 28: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.28

Custom JSP on a Landing Page

Page 29: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.29

Custom JSPs on Landing Pages

• webapps/ssf/WEB-INF/jsp/custom_jsps/samples

Page 30: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.30

Custom JSP Call-outs

• Built-in hooks for adding custom code– Head, CSS, sidebar, search results, mobile head– webapps/ssf/WEB-INF/jsp/custom_jsps

ss_call_out_head.jspss_call_out_css_init.jspss_call_out_sidebar_top.jspss_call_out_sidebar_middle.jspss_call_out_sidebar_bottom.jspss_call_out_mobile_head.jspss_call_out_servlet_head.jspss_call_out_find_search_results.jsp

Page 31: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.31

Add a Custom Toolbar Item (Example)

• How to add a new link to the footer toolbarss_call_out_head.jsp

Page 32: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.32

Changing Teaming CSS and Colors

ss_call_out_css_init.jsp

Page 33: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.33

Remote Applications

• Integration of external applications with teaming

– Data from external application is shown on teaming pages

• Multi-level security model

• Runs on a separate server (e.g., PHP)

– Can run under the same Tomcat used by teaming

• Integrated with teaming web services

Page 34: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.34

Remote Application (Example)

Page 35: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.35

Remote Application Security Model

• Administrator controlled– Administrator specifies who can use it– Administrator specifies the maximum set of rights it can use

• Workspace owner selects the remote application(s) to be shown

• Security token created for web services calls– Tokens valid through the current user's login session– Token limited to that user's session– Work-flow tokens valid for one execution of the

remote application

Page 36: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.36

Remote Application Calling Sequence

1. User views a page2. Teaming calls the remote application

HTTP Posta) User Idb) Folder Idc) Application Idd) Security token

3. Remote application calls teaming via web servicesa) Uses security token to login as current userb) Retrieves any desired information from teaming

4. Remote application returns HTML to be displayed

Page 37: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.37

Remote Application Examples

• The Kablink Source Kit has many examples

– http://community.kablink.org/teaming/community

– Follow the link to the source code in SourceForge

– trunk/ssf/samples/remoteapp/...

> Hello World

> Twitter

> Google Wave

> Add Entry

> Task List

Page 38: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.38

Extensions

• What is an extension?• Managing and packaging an extension• Examples

– New entry types– Landing page extensions– Workflow call-outs– Virus checker

• Kablink sample extensions:– http://community.kablink.org/teaming/extensions

> News Feed (show static HTML pages in a landing page)

> Landing page survey

> Flow Player Video Entry

> Twitter

Page 39: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.39

What Is an Extension?

• A packaged add-on to teaming

– New entry types or work-flows

– New templates

– Work-flow call-out code

• Enabled by the site administrator

• Zone specific

• Cannot be used to “extend” controllers or modules

Page 40: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.40

Managing Extensions

• Go to the “Site Administration” menu• Click on “Manage Extensions”

Page 41: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.41

Extensions Packaging

install.xml

Page 42: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.42

Workflow Call-out Extension

• Post a teaming entry to Twitter– When work-flow state is moved to “Twitter”, a Tweet is posted– The current user is the author of the Tweet– Entry title is sent as the Tweet text– A TinyURL is added that points back to the teaming entry

Page 43: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.43

Twitter Work-flow

Page 44: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.44

Workflow Call-Out Code

Page 45: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.45

Landing Page Extension

• Four new landing page options

– Entry including author, date, description and replies

– Folder including entry author, date, description and replies

– Folder list including entry author and date

– Survey (or a list of surveys)

• Easily customized to display other entry attributes

– e.g., task priority, status and percentage completed

• http://community.kablink.org/teaming/extensions

Page 46: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.46

Landing Page Extension (Example)

Page 47: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.47

Landing Page Extension (Example)

Page 48: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.48

Configuration File Customizations

• ssf.properties– Enable/disable RSS– Disallow sending mail to “All Users”– Add/delete folder and workspace icons– Set the default lines per page– Add new mobile devices– Add “edit-in-place” editors– Make export/import available to everyone– Change quota algorithm from “Strict” to “Lenient”– Define new accessories

• Put changes in ssf-ext.properties

Page 49: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.49

ssf-ext.properties(webapps/ssf/WEB-INF/classes/config/ssf-ext.properties)

Page 50: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.50

How to Define a New Accessory

• Define the new accessory – ssf-ext.properties

• Add JSPs – configure and view (custom_jsps/weather)

• Extend the workspace controller if setup needed

Page 51: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.51

Weather Accessory

• Configuration jsp (weather_config.jsp)

• View jsp (weather_view.jsp)– ${ssDashboard.dashboard.components[ssComponentId.data.zip}

Page 52: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.52

Weather Accessory

Page 53: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.53

Security Customizations

• ssf.properties

– Extend the XSS checking algorithms

– Enable/disable Web Services

– Enable/disable remote applications

– Disallow login via the login form

Page 54: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.54

Language Translations

• Modify an existing translation– ssf/WEB-INF/messages/messages-ext_de.properties– navigation.findTeams=Teams finden

• Add a new translation– ssf-ext.properties

> i18n.locale.support=en,da,de,es,fr,hu_HU,it,ja_JP,nl,pl,pt_BR,ru_RU,sv,zh_CN,zh_TW,el

– webapps/WEB-INF/messages/messages_el.properties

Page 55: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.55

What Happens on Upgrades?

• Not overwritten– Custom JSPs in ssf/WEB-INF/jsp/custom_jsps

– Extensions or Remote Applications

– ssf-ext.properties

– zone-ext.cfg.xml

– ssf/messages/message-ext_de.properties

• Overwritten– ssf/css, ssf/images, ssf/js

– New language files(e.g., ssf/messages/messages_el.properties)

Page 56: Custom Development with Novell Teaming

© Novell, Inc. All rights reserved.56

Resources

• http://kablink.org or http://community.kablink.org– Teaming Library

> Extensions> Customizations

– Discussion Forum (General Information)

• Novell® Teaming 2.1 Administration Guide– http://www.novell.com/documentation– Documentation includes:

> Enabling custom JSPs to be used on your teaming site> Using remote applications on your teaming site> Adding software extensions to your teaming site

Page 57: Custom Development with Novell Teaming

Questions and Answers

Page 58: Custom Development with Novell Teaming
Page 59: Custom Development with Novell Teaming

Unpublished Work of Novell, Inc. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc. Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. Novell, Inc. makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell. Further, Novell, Inc. reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.