SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Flash And Drupal
Flash And DrupalFlash And Drupal
Flash And DrupalPeter Arato
 
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 browservaluebound
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5madhurpgarg
 
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
 
Requirejs
RequirejsRequirejs
Requirejssioked
 
Jquery for post a form
Jquery for post a formJquery for post a form
Jquery for post a formRakesh Kumar
 
Introduction to jQuery Mobile
Introduction to jQuery MobileIntroduction to jQuery Mobile
Introduction to jQuery Mobileejlp12
 
Template.engine.concept2012
Template.engine.concept2012Template.engine.concept2012
Template.engine.concept2012Hristo Proynov
 
jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5Todd Anderson
 
Extended Document Rendering
Extended Document RenderingExtended Document Rendering
Extended Document RenderingPokeshot/// SMZ
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and ModernizrJussi Pohjolainen
 

Mais procurados (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
 

Destaque

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 Proposalcasesolutions12
 
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 WellnessAllie 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.comcasesolutions12
 
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 v7qrhc
 
Pricing product-pricing-strategies-111207031117-phpapp01
Pricing product-pricing-strategies-111207031117-phpapp01Pricing product-pricing-strategies-111207031117-phpapp01
Pricing product-pricing-strategies-111207031117-phpapp01shruti ora
 
Pest Awareness for You
Pest Awareness for YouPest Awareness for You
Pest Awareness for YouViresh Karkera
 
Herramientas para medir la calidad
Herramientas para medir la calidadHerramientas para medir la calidad
Herramientas para medir la calidadYesenia Casanova
 
Social Media Toolbox
Social Media ToolboxSocial Media Toolbox
Social Media ToolboxMatt Cauthron
 

Destaque (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
 

Semelhante a 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 JSMats Bryntse
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introductioncherukumilli2
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers workNeoito
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest servicesIoan Eugen Stan
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsAndrew Ferrier
 
WebMatrix 100-level presentation
WebMatrix 100-level presentationWebMatrix 100-level presentation
WebMatrix 100-level presentationAlice Pang
 
Treinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDTTreinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDTallanbezerra
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkAlive Kuo
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS IntrodructionDavid 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 FrameworkElínAnna Jónasdóttir
 
The Dojo Build System
The Dojo Build SystemThe Dojo Build System
The Dojo Build Systemklipstein
 
E2D3 ver. 0.2 Development Instructions
E2D3 ver. 0.2 Development InstructionsE2D3 ver. 0.2 Development Instructions
E2D3 ver. 0.2 Development InstructionsE2D3.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.5Don 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 jsMats Bryntse
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov 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 DevelopersFrank La Vigne
 
Jab12 - Joomla! architecture revealed
Jab12 - Joomla! architecture revealedJab12 - Joomla! architecture revealed
Jab12 - Joomla! architecture revealedOfer 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 ServerWSO2
 

Semelhante a 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
 

Mais de 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 – INS0tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheetstutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheetstutorialsruby
 

Mais de 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
 

Último

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

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