The New Architecture for
Collaboration
Brent McConnell
David LaPalomento
Collaboration Cycle
Tacit => Explicit
Find / Reuse
Understand
Publish
• Process by which information/knowledge is codified for
others
• Experience, education, wisdom, data transformed into
information
• Many forms
o Blog, Wiki, Document, Webpage
• Potential for collaboration (Collaboration Objects)
Collaboration Cycle
Tacit => Explicit
Find / Reuse
Understand
Discovery
• Finding the needle in the haystack
• Search
o Wisdom of the Crowd
o Indexed Search
• Shared
• Recommendation
o Intelligent systems
Collaboration Cycle
Tacit => Explicit
Find / Reuse
Understand
Discuss
• Information is being processed and better understood
o IM
o Email
o Discussion Forums
• Communication or other publications may be required
Collaboration Cycle
Tacit => Explicit
Find / Reuse
Understand
Add Value
•
•
•
•
•
•
Adding your perspective
Wisdom of the Crowd
Tags
Rating
Comment
Review
Collaboration Cycle
Tacit => Explicit
Find / Reuse
Understand
Extend
• Information is understood and has been extended into
your scenarios
• Information is now being reused and extended in new
ways
What is Collaboration
•
•
•
•
Working together with others to achieve a common goal
No hidden agendas
Requires open and trusting relationships between parties
Probably includes some form of "play" and must be
accepted
• Mandatory in the Knowledge Economy
Identify a Successful Project
• Find a Business Sponsor
• Solve an Important Problem
• Start Small
Implementing Collaboration
•
•
•
•
•
Communicate with the users
User training
Document successes
Balancing pre-population with organic growth
Creating incentives with recognition and reward => positive
reinforcement creates a grass-roots movement
• Providing users with ongoing support
• Learn from mistakes => Be flexible in the tool's evolution
Kablink Project
• Provides tools that meet the needs of the
Collaboration Cycle
– Publish – blogs, wikis, forums,
– Search – integrated search across everything, share
with others in system
– Discuss – survey, forums, comments
– Add value – tags, ratings, editorial comment
– Extend - create new business types, business
workflows (new this week :-)
Creating New Social Objects
• Extensions
• Remote Applications
Extensions
• Fully-integrated Kablink objects
o
o
o
o
Searchable
Trackable
Sharable
Persistent
• Simple, distributable deployment
o
Java .war file
Getting Started
• Model-View-Controller Paradigm
o
o
Definitions and templates make up Kablink's model
Kablink provides default controllers for all the objects
it manages
• Create a Java web application project
• Public resources at the .war root
• Place system resources (i.e. definitions and
templates) off of /WEB-INF
Model: Definitions
• Define the fields that create an object and its
representations
o Form: object creation
• OSCON Session
o Start Time
o End Time
o Title
o Speakers
Model: Definitions (cont.)
• Use Form & View Designer to create your
definition
o
Customize the default form, entry and summary
views
Model: Definitions (cont.)
• Export the completed definitions
o
The deployer will find them anywhere
but they probably end up in the WEBINF directory of your project
Model: Templates
• Hierarchies of objects
• Site Administration
> Form and View
Designers to create
templates
• Export completed
templates
View: JSPs
• Create a custom JSP to display more complex
objects
• <blink:url />: add the URL to a resource off
the root of your war as an attribute to the
contained XML element
• <blink:attachment />: add the URL of any
file attachment as an attribute to the contained
XML element
View: Enhancements
• Include additional client-side enhancements:
o
o
o
o
Javascript
Flash
Images
Et cetera
• Reference them via <blink:url /> in your
JSP
Remote Applications
• Integrate existing web-tools
• Utilize existing development expertise
o
o
Web frameworks
Programming languages
• Integrated security model
Remote Application is registered as a principal in
system
o Can apply ACL to a specific remote application
o Lesser of user or application permissions are applied
o
• Still under development
View: Callback
• Remote applications appear inline, like regular
objects
• Kablink calls to your application to provide a
view snippet
• Post to your URL
o
o
User info in post
Respond with HTML fragment
Model: SOAP
• Use SOAP calls to manipulate other kablink
objects
o http://example.com/ssr/ws
 folder_addEntry
 definition_getDefinitions
 profile_getGroups
Examples
• VideoEntry
• Twitter
Descargar

Document