SlideShare a Scribd company logo
Website Structure
Website Structure
Status quo
● Header includes way too many files, is unstructured,

general & specific in one
● Body contains a mixture of JS code, content and form

(inline CSS commands)
● Chaos




Goal
● One general header

● Site specific header in the site's jsp file

● Clear separation of code, content and form in separate

files
Javascript
Status quo
● Prototype framework

● Scriptaculous framework

● Crowdsound – whatever it is

● Ext JS - framework

● Manual JS files

● Manual inline JS




Goal
● If possible, only Ext JS framework

● No inline JS (only separate JS files)
CSS
Status quo
● CSS of JS frameworks

● YAML CSS framework

● Dozens of manual CSS files

● Inline CSS commands in HTML body




Goal
● Get rid of most manual CSS,

● all inline CSS and

● YAML framework
New Version
Header

Header    General imports     common/headGeneral.jsp


                              widgets/widget1.jsp
              Widgets         widgets/widget2.jsp
                              ...


                              scripts/user-scripts/
          Site's Javascript   sitename.js
Content
            Site's CSS        css/sitename.css
Content
[ Graphical Header ]
[ Navigation ]

<!-- ### Community Map ### -->
<div id="comm_mapColumn" class="comm_Column">
    <div id="search_container" class="widgetContainer"></div>
    <div id="map_container" class="widgetContainer"></div>
</div>

<!-- ### Community Details ### -->
<div id="comm_detailsColumn" class="comm_Column">
    <div id="metrics_container" class="widgetContainer"></div>
    <div id="members_container" class="widgetContainer"></div>
</div>

[ Footer ]
Ext JS
● Javascript framework
● Allows look & feel of a desktop application

● Elements: windows, panels, tabs, tables, forms, etc.

● Ajax: HTTP Request, JSON, XMLReader, etc.

● Only problem: It's complex




Official Examples:
http://extjs.com/deploy/dev/examples/samples.html

Table Tutorial:
http://extjs.com/learn/Tutorial:Grid_PHP_SQL_Part1

Various Examples:
http://examples.extjs.eu/
Widgets & Communication
Widgets
Status quo
● Widget panel is defined by inline JS

● The rendering functions for most widgets

are in scripts/parser.js
● No simply way to include a widget

● Widgets in widgets/ not being used

● Widgets use different JS frameworks




Goal
● All widget functions in one widget file

● All widget files in widgets/

● All widgets use Ext JS
Widget-Server Communication
                  Architecture: REST
                  Method:       HTTP Request
                  Data Format: XML file
Manual
Like in widgets/metrics.jsp
Manual request for each different version of the Internet
Explorer plus a request for all other browsers.

With Prototype
Example home.jsp,
The HTTP request seems to be the only use of this library.

With Ext JS
Very similar to Prototype. I added a sample implementation:
widgets/metrics-new.jsp
Widget-Widget Communication

Client-side: only Javascript

Architecture
(see paper I sent you)
● Event based model

● Widgets add event listeners

● On event: widget sends messages to its

subscribers

More Related Content

What's hot

Building Templates for Joomla
Building Templates for JoomlaBuilding Templates for Joomla
Building Templates for Joomla
JoomlaDay Australia
 
Web Development
Web DevelopmentWeb Development
Web Development
Shivakrishna Gannu
 
Flash And Drupal
Flash And DrupalFlash And Drupal
Flash And Drupal
Peter Arato
 
Javascript DOM
Javascript DOMJavascript DOM
Javascript DOM
Yoeung Vibol
 
Javascript inside Browser (DOM)
Javascript inside Browser (DOM)Javascript inside Browser (DOM)
Javascript inside Browser (DOM)
Vlad Mysla
 
Event loop in browser
Event loop in browserEvent loop in browser
Event loop in browser
valuebound
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5
madhurpgarg
 
Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap
Rakesh Jha
 
Browserify
BrowserifyBrowserify
Browserify
davidchubbs
 
Requirejs
RequirejsRequirejs
Requirejs
Jason Lotito
 
Requirejs
RequirejsRequirejs
Requirejs
sioked
 
BBUI
BBUIBBUI
Jquery for post a form
Jquery for post a formJquery for post a form
Jquery for post a form
Rakesh Kumar
 
Introduction to jQuery Mobile
Introduction to jQuery MobileIntroduction to jQuery Mobile
Introduction to jQuery Mobile
ejlp12
 
Template.engine.concept2012
Template.engine.concept2012Template.engine.concept2012
Template.engine.concept2012
Hristo Proynov
 
jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5
Todd Anderson
 
Extended Document Rendering
Extended Document RenderingExtended Document Rendering
Extended Document Rendering
Pokeshot/// SMZ
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and Modernizr
Jussi Pohjolainen
 
JQuery
JQueryJQuery

What's hot (19)

Building Templates for Joomla
Building Templates for JoomlaBuilding Templates for Joomla
Building Templates for Joomla
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Flash And Drupal
Flash And DrupalFlash And Drupal
Flash And Drupal
 
Javascript DOM
Javascript DOMJavascript DOM
Javascript DOM
 
Javascript inside Browser (DOM)
Javascript inside Browser (DOM)Javascript inside Browser (DOM)
Javascript inside Browser (DOM)
 
Event loop in browser
Event loop in browserEvent loop in browser
Event loop in browser
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5
 
Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap
 
Browserify
BrowserifyBrowserify
Browserify
 
Requirejs
RequirejsRequirejs
Requirejs
 
Requirejs
RequirejsRequirejs
Requirejs
 
BBUI
BBUIBBUI
BBUI
 
Jquery for post a form
Jquery for post a formJquery for post a form
Jquery for post a form
 
Introduction to jQuery Mobile
Introduction to jQuery MobileIntroduction to jQuery Mobile
Introduction to jQuery Mobile
 
Template.engine.concept2012
Template.engine.concept2012Template.engine.concept2012
Template.engine.concept2012
 
jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5
 
Extended Document Rendering
Extended Document RenderingExtended Document Rendering
Extended Document Rendering
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and Modernizr
 
JQuery
JQueryJQuery
JQuery
 

Viewers also liked

Case Solution for Empire Company Limited: The Oshawa Group Limited Proposal
Case Solution for Empire Company Limited: The Oshawa Group Limited ProposalCase Solution for Empire Company Limited: The Oshawa Group Limited Proposal
Case Solution for Empire Company Limited: The Oshawa Group Limited Proposal
casesolutions12
 
Hermell Products Mini Product Catalog for Health and Wellness
Hermell Products Mini Product Catalog for Health and WellnessHermell Products Mini Product Catalog for Health and Wellness
Hermell Products Mini Product Catalog for Health and Wellness
Allie McConnell
 
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
ProfessorPrincipiante
 
Case Solution for eHarvest.com
Case Solution for eHarvest.comCase Solution for eHarvest.com
Case Solution for eHarvest.com
casesolutions12
 
Stainless NZ - Summer 2016
Stainless NZ - Summer 2016Stainless NZ - Summer 2016
Stainless NZ - Summer 2016Deon Nieuwoudt
 
Quest ir presentation v7
Quest ir presentation v7Quest ir presentation v7
Quest ir presentation v7
qrhc
 
cuidados del agua
cuidados del aguacuidados del agua
cuidados del agua
Krizty Letich
 
Experiencia Vivencial
Experiencia VivencialExperiencia Vivencial
Experiencia Vivencial
Ple remedio solano
 
Pricing product-pricing-strategies-111207031117-phpapp01
Pricing product-pricing-strategies-111207031117-phpapp01Pricing product-pricing-strategies-111207031117-phpapp01
Pricing product-pricing-strategies-111207031117-phpapp01
shruti ora
 
Pest Awareness for You
Pest Awareness for YouPest Awareness for You
Pest Awareness for You
Viresh Karkera
 
Herramientas para medir la calidad
Herramientas para medir la calidadHerramientas para medir la calidad
Herramientas para medir la calidad
Yesenia Casanova
 
C q 1
C q 1C q 1
Herrera gregory
Herrera gregoryHerrera gregory
Herrera gregory
Gregory Herrera
 
Social Media Toolbox
Social Media ToolboxSocial Media Toolbox
Social Media Toolbox
Matt Cauthron
 

Viewers also liked (15)

Case Solution for Empire Company Limited: The Oshawa Group Limited Proposal
Case Solution for Empire Company Limited: The Oshawa Group Limited ProposalCase Solution for Empire Company Limited: The Oshawa Group Limited Proposal
Case Solution for Empire Company Limited: The Oshawa Group Limited Proposal
 
Aanbeveling
AanbevelingAanbeveling
Aanbeveling
 
Hermell Products Mini Product Catalog for Health and Wellness
Hermell Products Mini Product Catalog for Health and WellnessHermell Products Mini Product Catalog for Health and Wellness
Hermell Products Mini Product Catalog for Health and Wellness
 
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
 
Case Solution for eHarvest.com
Case Solution for eHarvest.comCase Solution for eHarvest.com
Case Solution for eHarvest.com
 
Stainless NZ - Summer 2016
Stainless NZ - Summer 2016Stainless NZ - Summer 2016
Stainless NZ - Summer 2016
 
Quest ir presentation v7
Quest ir presentation v7Quest ir presentation v7
Quest ir presentation v7
 
cuidados del agua
cuidados del aguacuidados del agua
cuidados del agua
 
Experiencia Vivencial
Experiencia VivencialExperiencia Vivencial
Experiencia Vivencial
 
Pricing product-pricing-strategies-111207031117-phpapp01
Pricing product-pricing-strategies-111207031117-phpapp01Pricing product-pricing-strategies-111207031117-phpapp01
Pricing product-pricing-strategies-111207031117-phpapp01
 
Pest Awareness for You
Pest Awareness for YouPest Awareness for You
Pest Awareness for You
 
Herramientas para medir la calidad
Herramientas para medir la calidadHerramientas para medir la calidad
Herramientas para medir la calidad
 
C q 1
C q 1C q 1
C q 1
 
Herrera gregory
Herrera gregoryHerrera gregory
Herrera gregory
 
Social Media Toolbox
Social Media ToolboxSocial Media Toolbox
Social Media Toolbox
 

Similar to WebsiteStructure

Building Rich Internet Applications with Ext JS
Building Rich Internet Applications  with Ext JSBuilding Rich Internet Applications  with Ext JS
Building Rich Internet Applications with Ext JS
Mats Bryntse
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
cherukumilli2
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers work
Neoito
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest services
Ioan Eugen Stan
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web Applications
Andrew Ferrier
 
Ext JS Introduction
Ext JS IntroductionExt JS Introduction
Ext JS Introduction
Anand Dayalan
 
Performance (browser)
Performance (browser)Performance (browser)
Performance (browser)
aquarius070287
 
WebMatrix 100-level presentation
WebMatrix 100-level presentationWebMatrix 100-level presentation
WebMatrix 100-level presentation
Alice Pang
 
Treinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDTTreinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDT
allanbezerra
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
Alive Kuo
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
David Ličen
 
Odoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS FrameworkOdoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS Framework
ElínAnna Jónasdóttir
 
The Dojo Build System
The Dojo Build SystemThe Dojo Build System
The Dojo Build System
klipstein
 
E2D3 ver. 0.2 Development Instructions
E2D3 ver. 0.2 Development InstructionsE2D3 ver. 0.2 Development Instructions
E2D3 ver. 0.2 Development Instructions
E2D3.org
 
Creating Custom Templates for Joomla! 2.5
Creating Custom Templates for Joomla! 2.5Creating Custom Templates for Joomla! 2.5
Creating Custom Templates for Joomla! 2.5
Don Cranford
 
Developing components and extensions for ext js
Developing components and extensions for ext jsDeveloping components and extensions for ext js
Developing components and extensions for ext js
Mats Bryntse
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
Yakov Fain
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
Frank La Vigne
 
Jab12 - Joomla! architecture revealed
Jab12 - Joomla! architecture revealedJab12 - Joomla! architecture revealed
Jab12 - Joomla! architecture revealed
Ofer Cohen
 
Writing Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget ServerWriting Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget Server
WSO2
 

Similar to WebsiteStructure (20)

Building Rich Internet Applications with Ext JS
Building Rich Internet Applications  with Ext JSBuilding Rich Internet Applications  with Ext JS
Building Rich Internet Applications with Ext JS
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers work
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest services
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web Applications
 
Ext JS Introduction
Ext JS IntroductionExt JS Introduction
Ext JS Introduction
 
Performance (browser)
Performance (browser)Performance (browser)
Performance (browser)
 
WebMatrix 100-level presentation
WebMatrix 100-level presentationWebMatrix 100-level presentation
WebMatrix 100-level presentation
 
Treinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDTTreinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDT
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
 
Odoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS FrameworkOdoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS Framework
 
The Dojo Build System
The Dojo Build SystemThe Dojo Build System
The Dojo Build System
 
E2D3 ver. 0.2 Development Instructions
E2D3 ver. 0.2 Development InstructionsE2D3 ver. 0.2 Development Instructions
E2D3 ver. 0.2 Development Instructions
 
Creating Custom Templates for Joomla! 2.5
Creating Custom Templates for Joomla! 2.5Creating Custom Templates for Joomla! 2.5
Creating Custom Templates for Joomla! 2.5
 
Developing components and extensions for ext js
Developing components and extensions for ext jsDeveloping components and extensions for ext js
Developing components and extensions for ext js
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
 
Jab12 - Joomla! architecture revealed
Jab12 - Joomla! architecture revealedJab12 - Joomla! architecture revealed
Jab12 - Joomla! architecture revealed
 
Writing Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget ServerWriting Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget Server
 

More from tutorialsruby

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
CSS
CSSCSS
CSS
CSSCSS
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 

More from tutorialsruby (20)

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
CSS
CSSCSS
CSS
 
CSS
CSSCSS
CSS
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 

Recently uploaded

Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 

Recently uploaded (20)

Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 

WebsiteStructure

  • 2. Website Structure Status quo ● Header includes way too many files, is unstructured, general & specific in one ● Body contains a mixture of JS code, content and form (inline CSS commands) ● Chaos Goal ● One general header ● Site specific header in the site's jsp file ● Clear separation of code, content and form in separate files
  • 3. Javascript Status quo ● Prototype framework ● Scriptaculous framework ● Crowdsound – whatever it is ● Ext JS - framework ● Manual JS files ● Manual inline JS Goal ● If possible, only Ext JS framework ● No inline JS (only separate JS files)
  • 4. CSS Status quo ● CSS of JS frameworks ● YAML CSS framework ● Dozens of manual CSS files ● Inline CSS commands in HTML body Goal ● Get rid of most manual CSS, ● all inline CSS and ● YAML framework
  • 6. Header Header General imports common/headGeneral.jsp widgets/widget1.jsp Widgets widgets/widget2.jsp ... scripts/user-scripts/ Site's Javascript sitename.js Content Site's CSS css/sitename.css
  • 7. Content [ Graphical Header ] [ Navigation ] <!-- ### Community Map ### --> <div id="comm_mapColumn" class="comm_Column"> <div id="search_container" class="widgetContainer"></div> <div id="map_container" class="widgetContainer"></div> </div> <!-- ### Community Details ### --> <div id="comm_detailsColumn" class="comm_Column"> <div id="metrics_container" class="widgetContainer"></div> <div id="members_container" class="widgetContainer"></div> </div> [ Footer ]
  • 8. Ext JS ● Javascript framework ● Allows look & feel of a desktop application ● Elements: windows, panels, tabs, tables, forms, etc. ● Ajax: HTTP Request, JSON, XMLReader, etc. ● Only problem: It's complex Official Examples: http://extjs.com/deploy/dev/examples/samples.html Table Tutorial: http://extjs.com/learn/Tutorial:Grid_PHP_SQL_Part1 Various Examples: http://examples.extjs.eu/
  • 10. Widgets Status quo ● Widget panel is defined by inline JS ● The rendering functions for most widgets are in scripts/parser.js ● No simply way to include a widget ● Widgets in widgets/ not being used ● Widgets use different JS frameworks Goal ● All widget functions in one widget file ● All widget files in widgets/ ● All widgets use Ext JS
  • 11. Widget-Server Communication Architecture: REST Method: HTTP Request Data Format: XML file Manual Like in widgets/metrics.jsp Manual request for each different version of the Internet Explorer plus a request for all other browsers. With Prototype Example home.jsp, The HTTP request seems to be the only use of this library. With Ext JS Very similar to Prototype. I added a sample implementation: widgets/metrics-new.jsp
  • 12. Widget-Widget Communication Client-side: only Javascript Architecture (see paper I sent you) ● Event based model ● Widgets add event listeners ● On event: widget sends messages to its subscribers