SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Template.engine.concept2012
Template.engine.concept2012Template.engine.concept2012
Template.engine.concept2012
Hristo Proynov
 
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
 

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

En vedette

Stainless NZ - Summer 2016
Stainless NZ - Summer 2016Stainless NZ - Summer 2016
Stainless NZ - Summer 2016
Deon Nieuwoudt
 
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
 

En vedette (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
 

Similaire à WebsiteStructure

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

Similaire à 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
 

Plus 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 – INS0
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
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
 

Plus 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
 

Dernier

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
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

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