• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
 

Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM

on

  • 15,770 views

What are Google Gadgets? What are their benefits to the Enterprise? ...

What are Google Gadgets? What are their benefits to the Enterprise?
How do you develop Google Gadgets? What are WebScripts, and how do they help you integrate Google Gadgets with your Alfresco content repository? Open Source ECM, Java based. www.alfresco.com/about/ondemand <-- View recorded webinar here.

These questions and more are answered in this webinar.

Statistics

Views

Total Views
15,770
Views on SlideShare
15,682
Embed Views
88

Actions

Likes
10
Downloads
490
Comments
0

6 Embeds 88

http://www.slideshare.net 57
http://upanalademo.blogspot.com 23
http://upanalademo.blogspot.mx 5
http://redmine.ntis.us.to 1
http://translate.googleusercontent.com 1
http://www.health.medicbd.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Presentation Transcript

  • Enterprise Google Gadgets Luis Sala Senior Director of Solutions Engineering www.alfresco.com
  • Introductions
    • Luis Sala, Senior Director of Solutions Engineering
    • Former Chief Solutions Architect at Epicentric
    • and Principal SE at Vignette
  • Agenda
    • About Google Gadgets
    • Developing Gadgets
    • Web Script Overview
    • Alfresco Gadgets for the Enterprise
    • Bonus: Google OneBox Integration
    • Quick Demonstration
    • Q & A
  • What are Google Gadgets?
    • Embeddable UI components that offer varying functionality.
    • Lightweight.
    • Until recently, focused on the mass market.
    • Google promoting gadgets for the enterprise.
  • What are the Benefits?
    • Easy to build.
    • Many Sites
      • Including Google Apps for the Enterprise
    • Wide Reach
      • Millions of users!
  • Google for the Enterprise
    • Google Search Appliance
      • Includes Google OneBox
    • Google Apps
      • iGoogle Start Page
      • Mail
      • Sites (Wiki)
      • Docs, Spreadsheets and Presentations
      • Calendar
      • IM
  • Google Apps
  • Developing Gadgets
    • Gadgets require a Module Descriptor
    • Certain Google JavaScript libraries
      • Retrieve preferences.
      • Customize the gadget UI.
    • Inline HTML
    • Externally hosted web application
      • Invoked via an IFRAME.
      • Still has access to preferences via the JavaScript libraries.
  • Hello World Gadget
    • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
    • <Module>
    • <ModulePrefs title=&quot;hello world example&quot; />
    • <Content type=&quot;html&quot;> <![CDATA[
      • Hello, world!
    • ]]> </Content>
    • </Module>
    Inline Gadget…
  • IFRAME Gadget <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <Module> <ModulePrefs title=&quot;hello world example&quot; /> <Content type=&quot;url&quot; href=&quot;http://www.example.com/hello.php&quot;/> </Module>
  • Storing User Preferences <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <Module> <ModulePrefs title=&quot;hello world example&quot; /> <UserPref name=&quot;mychoice&quot; display_name=&quot;List Params?&quot; datatype=&quot;bool&quot;/> <UserPref name=&quot;myname&quot; display_name=&quot;Name&quot; required=&quot;true&quot;/> <UserPref name=&quot;mycolor&quot; display_name=&quot;Color&quot; default_value=&quot;Blue&quot; datatype=&quot;enum”> <EnumValue value=&quot;Red&quot;/> <EnumValue value=&quot;Blue&quot;/> <EnumValue value=&quot;Green&quot;/> </UserPref> </Module>
  • Developer Tools Developer Gadget: Google Gadget Editor:
  • Open for Business
  • What are Web Scripts? Web Scripting
    • Agile Script-Driven MVC
    • Multiple uses
      • Roll your own API
      • Create new UI components
      • Create portlets/widgets
      • Expose WCM/AVM features
    • Script-based implementation
      • Server-side JavaScript
      • Freemarker
    • Limited only by your imagination
      • Integration: Create a mashup
      • Search: Exposed to other systems.
      • Rich Internet Applications
      • Cross-language
      • Cross-platform
    JavaScript (Controller) Freemarker (View) Alfresco Repository (Model) Consumer / Client
  • Components of a Web Script
    • XML Descriptor
      • URI Templates
      • Authentication Requirements
      • Transactional Requirements
    • One or more server-side JavaScript files (Controller)
      • One for each HTTP method (GET, PUT, POST, etc.)
    • One or more Freemarker templates (View)
      • One for each HTTP method and desired output type (HTML, XML, JSON, etc.)
  • Two types of Web Scripts…
    • Data Web Script
      • RESTstyle / RESTful URL
      • Returns structured data:
        • XML
        • JSON
        • CSV
    • UI Web Script
      • Renders self-contained UI.
      • Can leverage Data Web Scripts.
  • Web Scripts as Gadgets
    • Virtually any Web Script can be a gadget by using its URL.
    • http:// HOST : PORT /alfresco/wcs/ SCRIPT
    • Developers have many choices:
      • HTML
      • AJAX
      • JavaScript
      • JSON
      • Any combination of the above.
    JavaScript (Controller) Freemarker (View) Alfresco Repository (Model) iGoogle HTML AJAX JSON
  • Alfresco Gadgets
    • Search
    • Space Browser
    • Tasks
  • Alfresco Gadgets
  • Space Browser Gadget
    • User Preferences
    • Upload
    • Download
    • Space Creation
    • Delete
  • Folder Gadget Definition <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <Module> <ModulePrefs title=&quot;Alfresco Browser&quot; description=&quot;Alfresco Document and Folder Browser&quot; author=&quot;Alfresco Software&quot; scrolling=&quot;true&quot; height=&quot;350&quot;> </ModulePrefs> <UserPref name=&quot;path&quot; display_name=&quot;Starting Folder&quot; required=&quot;false&quot; /> <UserPref name=&quot;sortby&quot; display_name=&quot;Sort By&quot; default_value=&quot;Name&quot; datatype=&quot;enum&quot; > <EnumValue value=&quot;Name&quot; /> <EnumValue value=&quot;Date&quot; /> <EnumValue value=&quot;Size&quot; /> </UserPref> <Content type=&quot;url” href=&quot;http:// HOST : PORT /alfresco/wcservice/aggadget/folder/?dummy=1&quot; /> </Module>
  • Hello World Gadget - Descriptor
    • hello.get.desc.xml
    • <webscript> <shortname>Hello World Google Gadget</shortname>
    • <description>Sample demonstrating a simple Google Gadget</description>
    • <url>/goog/hello/</url> <url>/goog/hello</url>
    • <format default=&quot;html&quot;>argument</format>
    • <authentication>guest</authentication>
    • <transaction>required</transaction>
    • </webscript>
  • Hello World Gadget - JavaScript
    • hello.get.js
    • // Get &quot;name&quot; parameter as supplied by iGoogle
    • var name = args[&quot;up_name&quot;];
    • if (name == undefined) {
    • name = &quot;Name Not Set&quot;
    • }
    • // Pass &quot;name&quot; to Freemarker template via the model
    • model.name = name;
  • Hello World Gadget - Freemarker
    • hello.get.html.ftl
    • <html>
    • <head>
    • <title>Alfresco Google Gadget</title>
    • </head>
    • <body>
    • <h1> Hello ${name} </h1>
    • </body>
    • </html>
  • Hello World Gadget – Module
    • hello.get.xml.ftl
    • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
    • <Module>
    • <ModulePrefs title=&quot;hello world example&quot; />
    • <UserPref name=&quot;name&quot; display_name=&quot;Your Name&quot; default_value=&quot;Not Set&quot;/>
    • <Content type=&quot;url&quot; href=&quot;http:// HOST : PORT /alfresco/wcs/goog/hello?guest=true&quot;/>
    • </Module>
  • Google Search Appliance Integration
    • Simple and fast integration with Google OneBox
      • http://www.google.com/enterprise/gsa/onebox.html
  • Google OneBox Integration
    • Customizable Formatting.
  • Google OneBox Web Script <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <OneBoxResults> <resultCode>${resultCode}</resultCode> <Diagnostics>${diagnostics}</Diagnostics> <provider>${provider}</provider> <title> <urlText>${numResults} results found in Alfresco</urlText> <urlLink>${alfBaseUrl}${url.serviceContext}/api/search/keyword.html?q=${query}&amp;ticket=${ticket}</urlLink> </title> <IMAGE_SOURCE>${alfBaseUrl}${url.context}/images/logo/AlfrescoLogo32.png</IMAGE_SOURCE> <#if results?exists> <#list results as result> <MODULE_RESULT> <U>${alfBaseUrl}${url.context}/navigate/showDocDetails/workspace/SpacesStore/${result.id}?ticket=${ticket}</U> <title><#if result.title?exists>${result.title}<#else>${result.properties.name}</#if></title> <Field name=&quot;description&quot;><#if result.description?exists> - ${result.description?substring(0, 25)}...</#if></Field> <Field name=&quot;path&quot;>${result.displayPath}</Field> <Field name=&quot;owner&quot;>${result.properties.creator}</Field> <Field name=&quot;modified&quot;>${result.properties.modified?datetime}</Field> <Field name=&quot;size&quot;>${result.size} bytes</Field> </MODULE_RESULT> </#list> </#if> </OneBoxResults>
    • DEMO
  • Q&A and Resources 03.04.08
    • Any Questions?
    • Resources:
      • wiki .alfresco.com/wiki/Google_Gadgets
      • code.google.com/apis/gadgets/
      • code.google.com/enterprise/
    • Join the Content Community
      • alfresco.com
    • Participate in the Developer Challenge
      • alfresco.com/partners/programme/webscripts/
    • Join the Alfresco Facebook Group
      • facebook .com/group.php?gid=6063383762
  • Upcoming Presentations
    • Upcoming “Built in 60” Presentations:
      • Building a Simple Wiki
      • Mac Dashboard Widgets
      • Digital Asset Management
      • Facebook Integration
      • Video Transcoders
    • Other Upcoming Webinars:
      • April 24: Open Source Barometer
      • April 29: Benchmarking with Unisys
      • May 7: Unisys ECM Best Practices
    03.04.08
  • End
  • Shapes & Colors Normal Text
    • Bullet
      • Sub-Bullet
    Normal Text Normal Text