More Related Content Similar to Custom Development with Novell Teaming (20) Custom Development with Novell Teaming2. 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
2 © 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
3 © 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
6 © 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)
7 © 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>
8 © 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
10 © Novell, Inc. All rights reserved.
12. Form and View (Extend the User Profile)
12 © Novell, Inc. All rights reserved.
13. Form and View (Extend the User Profile)
13 © Novell, Inc. All rights reserved.
16. Landing Pages
(How to Create a Landing Page)
16 © 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
17 © Novell, Inc. All rights reserved.
18. Work-flows
• Business processes • Parallel processing
• Content management • Filtered data
HR Facilities IT
New Employee
Add E-mail
Orientation Prepare Office
Account
Add User Profile
Contact Payroll Turn on Phone to eDirectory™
Tasks Completed
Process Completed
18 © 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
20 © 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
21 © Novell, Inc. All rights reserved.
24. Custom JSPs
• Custom forms and views
• Custom landing pages
• Custom JSP call-outs
• CSS, colors and images
24 © Novell, Inc. All rights reserved.
25. Custom JSPs in Forms and Views
25 © Novell, Inc. All rights reserved.
26. Custom JSP
(W-4 Form - custom_jsps/samples/w4)
26 © Novell, Inc. All rights reserved.
27. Custom JSPs in Forms and Views
27 © Novell, Inc. All rights reserved.
28. Custom JSP on a Landing Page
28 © Novell, Inc. All rights reserved.
29. Custom JSPs on Landing Pages
• webapps/ssf/WEB-INF/jsp/custom_jsps/samples
29 © 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.jsp
ss_call_out_css_init.jsp
ss_call_out_sidebar_top.jsp
ss_call_out_sidebar_middle.jsp
ss_call_out_sidebar_bottom.jsp
ss_call_out_mobile_head.jsp
ss_call_out_servlet_head.jsp
ss_call_out_find_search_results.jsp
30 © Novell, Inc. All rights reserved.
31. Add a Custom Toolbar Item (Example)
• How to add a new link to the footer toolbar
ss_call_out_head.jsp
31 © 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
33 © 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
35 © Novell, Inc. All rights reserved.
36. Remote Application Calling Sequence
1. User views a page
2. Teaming calls the remote application
HTTP Post
a) User Id
b) Folder Id
c) Application Id
d) Security token
3. Remote application calls teaming via web services
a) Uses security token to login as current user
b) Retrieves any desired information from teaming
4. Remote application returns HTML to be displayed
36 © 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
37 © 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
38 © 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
39 © Novell, Inc. All rights reserved.
40. Managing Extensions
• Go to the “Site Administration” menu
• Click on “Manage Extensions”
40 © 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
42 © 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
45 © 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
48 © Novell, Inc. All rights reserved.
49. ssf-ext.properties
(webapps/ssf/WEB-INF/classes/config/ssf-ext.properties)
49 © 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
50 © Novell, Inc. All rights reserved.
51. Weather Accessory
• Configuration jsp (weather_config.jsp)
• View jsp (weather_view.jsp)
– ${ssDashboard.dashboard.components[ssComponentId.data.zip}
51 © 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
53 © 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
54 © 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)
55 © 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
56 © Novell, Inc. All rights reserved.
59. 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 Disclaimer
This 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.