The New Architecture for Collaboration Brent McConnell David LaPalomento.

28
The New Architecture for Collaboration Brent McConnell David LaPalomento

Transcript of The New Architecture for Collaboration Brent McConnell David LaPalomento.

The New Architecture for Collaboration

Brent McConnellDavid LaPalomento

  Understand

  Find / Reuse

  Tacit => Explicit

Collaboration Cycle

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)

  Understand

  Find / Reuse

  Tacit => Explicit

Collaboration Cycle

Discovery

• Finding the needle in the haystack• Search

o Wisdom of the Crowdo Indexed Search

• Shared• Recommendation

o Intelligent systems

  Understand

  Find / Reuse

  Tacit => Explicit

Collaboration Cycle

Discuss

• Information is being processed and better understoodo IMo Emailo Discussion Forums

• Communication or other publications may be required

  Understand

  Find / Reuse

  Tacit => Explicit

Collaboration Cycle

Add Value

• Adding your perspective• Wisdom of the Crowd• Tags• Rating• Comment• Review

  Understand

  Find / Reuse

  Tacit => Explicit

Collaboration Cycle

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 objectso Searchableo Trackableo Sharableo Persistent

• Simple, distributable deploymento Java .war file

Getting Started

• Model-View-Controller Paradigmo Definitions and templates make up Kablink's modelo 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 representationso Form: object creation

•  OSCON Sessiono Start Timeo End Timeo Titleo Speakers

Model: Definitions (cont.)

• Use Form & View Designer to create your definitiono Customize the default form, entry and summary

views

Model: Definitions (cont.)

• Export the completed definitionso The deployer will find them anywhere

but they probably end up in the WEB-INF 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 Javascripto Flasho Imageso Et cetera

• Reference them via <blink:url /> in your JSP

Remote Applications

• Integrate existing web-tools• Utilize existing development expertise

o Web frameworkso Programming languages

• Integrated security model o Remote Application is registered as a principal in

systemo Can apply ACL to a specific remote applicationo Lesser of user or application permissions are applied

• 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 URLo User info in posto Respond with HTML fragment

Model: SOAP

• Use SOAP calls to manipulate other kablink objectso http://example.com/ssr/ws 

folder_addEntrydefinition_getDefinitions  profile_getGroups

Examples

• VideoEntry• Twitter