#SummitNow The Share Widget Library 13 th November 2013 Dave Draper

Slides:



Advertisements
Similar presentations
Creating and Managing Sites Module 7. Overview Creating Standard Sites Customizing Look and Feel Saving Sites as Templates.
Advertisements

1/7 ITApplications XML Module Session 8: Introduction to Programming with XML.
Extreme User Interfaces for Alfresco Kevin Dorr Sr. Solutions Engineer Americas Channel.
XML: Managing Data Exchange Stylesheets. Lesson Contents CSS The basic XSL file XSL transforms Templates Sort Numbering Parameters and Variables Datatypes.
Latest Share Customization Techniques Dave Draper
Chapter 16 Dynamic HTML and Animation The Web Warrior Guide to Web Design Technologies.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Chapter 6 DOJO TOOLKITS. Objectives Discuss XML DOM Discuss JSON Discuss Ajax Response in XML, HTML, JSON, and Other Data Type.
Presented by…. Group 2 1. Programming language 2Introduction.
Branding and designing capabilities with the Design Manager MALIN DE SILVA SHAREPOINT SPECIALIST EXILESOFT, SRI LANKA.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Publications, design sets, web pages
Christopher Paolini Computational Science Research Center College of Engineering San Diego State University Computational Science 670 Fall 2009 Monday.
Drupal Training Syllabus Chaitanya Lakshmi
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
18 People Surveyed HTML (HyperText Markup Language) HTML “tags” Describes structure Building blocks Headings, paragraphs, lists, links, images, quotes,
CSS/Photoshop Layouts – Quiz #7 Lecture Code:
I NTRO TO CSS IAT100 Spring I NTRO TO CSS Covered in this lesson: Overview What is CSS? Why to use CSS? CSS for Skinning your Website Structure.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
ITCS373: Internet Technology Week 3: Introduction to CSS Dr. Faisal Al-Qaed.
The Document Object Model. The Web B.D, A.D. They aren’t web pages, they’re document objects A web browser interprets structured information. A server.
Enabling High-Quality Printing in Web Applications
Web Applications BIS4430 – unit 8. Learning Objectives Explain the uses of web application frameworks Relate the client-side, server-side architecture.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Session I Chapter 1 - Introduction to Web Development
DemocracyApps, Inc. Community Budget Explorer A Technical Overview.
Ajax. –Asynchronous JavaScript and XML –Umbrella term for technologies that often: Use client-side scripting for layout and formatting Use less than full.
Advanced Web Development Instructor: Thomas Bombach.
Chapter 2 The Mechanism behind Extensions. How “Extensions” are implemented.
Introduction to CSS. Why CSS? CSS Provides Efficiency in Design and Updates CSS relatively easy to use Can give you more flexibility and control Faster.
Web Technologies Lecture 2 HTML and CSS. HTML Hyper Text Markup Language – Describes web documents – Made up of nested HTML markup tags – Tags are the.
Microsoft ® Official Course Developing a Publishing Site for Web Content Microsoft SharePoint 2013 SharePoint Practice.
ICM – API Server & Forms Gary Ratcliffe.
Unit 2, Lesson 7 Creating Web Pages and Web Documents.
AJAX. Overview of Ajax Ajax is not an API or a programming language Ajax aims to provide more responsive web applications In normal request/response HTTP.
1 Brian Remmington Alfresco Product Architect. 2 A demonstration The Web Quick Start model Overview of the features in the repository tier Overview of.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Web Components Polymer. Agenda I want bootstrap : 3 Today.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Dave Salinas. What is XML? XML stands for eXtensible Markup Language Markup language, like HTML HTML was designed to display data, whereas XML was designed.
Document Object Model Nasrullah. DOM When a page is loaded,browser creates a Document Object Model of the Page.
Enterra Web GIS Embedded Flash System. Application Features 1. Dynamic data loading and caching Minimum data transfer on startup Additional data transfer.
PRESENTED BY GRADUATE DESIGN GROUP 2 MEREDITH, JENNIFER, CAMMAY AND DIANE How to build a web site in Dreamweaver.
Craig Pelkie Copyright © 2015, Craig Pelkie ALL RIGHTS RESERVED Use RPG to Mobilize your IBM i.
Dynamic UI Generation with Alfresco Share and Aikau
Testing Your Alfresco Add-ons Michael Suzuki Software Engineer.
#SummitNow Alfresco 4.2 Share Development Workshop November 6, 2013 Kevin Dorr, Sr. Solutions Engineer, Alfresco US.
Customizing Share Document Previews Will Abson Senior Integrations Engineer and Share Extras Project Lead
© 2014 IBM Corporation iWidget Development IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 45 minutes.
Share Enhancements David Webster. Introduction Me: David Webster Alfresco Engineer Joined April 2010 UI The Session: Share Enhancements:
Extreme User Interfaces for Alfresco Kevin Dorr Sr. Solutions Engineer Americas Channel.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
INTRODUCTION ABOUT DIV Most websites have put their content in multiple columns. Multiple columns are created by using or elements. The div element is.
Google Maps API v3: Built First for Mobile Susannah Raub Google June 24, 2010.
The Share Widget Library
Getting Started with Alfresco Development
Google Web Toolkit Tutorial
AJAX and REST.
AJAX.
Types of Spatial Data Sites
Types of Spatial Data Sites
ASP.NET MVC Web Development
DR. JOHN ABRAHAM PROFESSOR UTPA
Class 4: Building Interactive Web Pages
Web Programming and Design
Creating dynamic/interactive web pages
Presentation transcript:

#SummitNow The Share Widget Library 13 th November 2013 Dave Draper

#SummitNow A Brief History… Alfresco Surf used in Share 3.0, 3.1 & 3.2 Alfresco Surf becomes Spring Surf (first used in Share 3.3) Initial extensibility features added in 4.0 Dynamic configuration added for 4.1 WebScript refactor for Share 4.2

#SummitNow Share Customization Information

#SummitNow The Annual Spring Surf Question…

#SummitNow Why Change?

#SummitNow What’s Changed?

#SummitNow Introducing the new “Widget Library”

#SummitNow What is a Widget? JavaScript HTML CSS i18n

#SummitNow Old Widget Granularity

#SummitNow New Widget Granularity

#SummitNow Page Models

#SummitNow JSON Structure Example The widget to instantiate The instantiation arguments ID of the definition in the model ID of the root element in the resulting DOM Assigns to a variable of the enclosing widget Used by the enclosing widget Passed as an argument during instantiation

#SummitNow Single WebScript Pages

#SummitNow Page XML Template XML WEBSCRIPT Template Page model WebScript Updated Surf Object Hierarchy

#SummitNow URL Tokens

#SummitNow /{pageid}/ws/{webscript} /{pageid}/p/{pagename} Matches document name /Data Dictionary/ShareResources/Pages Matches URL in WebScript Descriptor

#SummitNow

#SummitNow How Does it Work?

#SummitNow What is AMD? “Asynchronous module definition (AMD) is a JavaScript API for defining modules such that the module and its dependencies can be asynchronously loaded. It is useful in improving the performance of websites by bypassing synchronous loading of modules along with the rest of the site content. In addition to loading multiple JavaScript files at runtime, AMD can be used during development to keep JavaScript files encapsulated in many different files. This is similar to other programming languages, for example java, which support keywords such as import, package, and class for this purpose. It is then possible to concatenate and minify all the source JavaScript into one small file used for production deployment.” - Wikipedia “It is then possible to concatenate and minify all the source JavaScript into one small file used for production deployment”

#SummitNow

#SummitNow Surf Page Model JavaScript Modules JavaScript Bootstrap CSS Resource (includes i18n object) (includes HTML fragments) (can includes Base64 encoded images)

#SummitNow Dynamic Dependency Analysis

#SummitNow Dependency Example A A B B C C E E D D Requesting A results in B, C, D & E being loaded C is only loaded once (despite being depended on twice)

#SummitNow JavaScript “bootstrap” resource JavaScript dependency layer CSS dependencies Image Sprite * Resource Goals

#SummitNow What About Performance?

#SummitNow Decoupling

#SummitNow

Why Dojo?

#SummitNow (but it’s not just Dojo)

#SummitNow (and it’s better than just AMD)

#SummitNow What Widgets are Available?

#SummitNow Menu Widgets

#SummitNow Form Widgets NOT JUST DOJO

#SummitNow Layout Widgets NOT JUST DOJO

#SummitNow Document Widgets

#SummitNow HTML5 Previewer NOT JUST DOJO

#SummitNow Where are the Widgets?

#SummitNow tomcat/webapps/share/js/alfresco (server) slingshot/source/web/js/alfresco (SVN)

#SummitNow Where is this in Share 4.2?

#SummitNow

What Does This Mean for Customization?

#SummitNow alfresco/menus/AlfMenuBar alfresco/menus/AlfMenuBarItem third/party/MenuBarItem

#SummitNow

#SummitNow CSS Theme Tokens

#SummitNow.alfresco-dialog-AlfDialog.dijitDialog { border: $theme-border-1; border-radius: 6px 6px 6px 6px; box-shadow: $theme-box-shadow; font-family: $theme-font-family-2; font-size: $theme-font-size-1; }.alfresco-dialog-AlfDialog.dijitDialog { border: $theme-border-1; border-radius: 6px 6px 6px 6px; box-shadow: $theme-box-shadow; font-family: $theme-font-family-2; font-size: $theme-font-size-1; }

#SummitNow Light Theme theme.lightTheme Open Sans Condensed,Arial,sans-serif Open Sans,Arial,sans-serif Open Sans Bold,Arial,sans-serif 13px #333 #ccc Light Theme theme.lightTheme Open Sans Condensed,Arial,sans-serif Open Sans,Arial,sans-serif Open Sans Bold,Arial,sans-serif 13px #333 #ccc share/WEB-INF/classes/alfresco/site-data/themes/lightTheme.xml

#SummitNow So, What’s Next?

#SummitNow What Does This Mean For You?

#SummitNow Any Questions?

#SummitNow