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

PPTX
Implemeting Sencha Ext JS in Drupal
PDF
Langkah Menjadi Seorang Front-end Web Developer - Dimas Maulana Dwi Saputra
PDF
Toutch Jquery Mobile
PDF
Require js and Magento2
PDF
Modern Javascript
PDF
Lightning Talk: Making JS better with Browserify
PPTX
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
PDF
Implemeting Sencha Ext JS in Drupal
Langkah Menjadi Seorang Front-end Web Developer - Dimas Maulana Dwi Saputra
Toutch Jquery Mobile
Require js and Magento2
Modern Javascript
Lightning Talk: Making JS better with Browserify
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012

What's hot (19)

PPTX
Building Templates for Joomla
PPTX
Web Development
PDF
Flash And Drupal
PDF
Javascript DOM
PPTX
Javascript inside Browser (DOM)
PPTX
Event loop in browser
PPT
jQuery Mobile with HTML5
PDF
Advanced JQuery Mobile tutorial with Phonegap
PDF
Browserify
PDF
Requirejs
KEY
Requirejs
PPTX
PDF
Jquery for post a form
PPTX
Introduction to jQuery Mobile
PPTX
Template.engine.concept2012
PDF
jQuery Mobile: Progressive Enhancement with HTML5
PDF
Extended Document Rendering
PDF
Short intro to JQuery and Modernizr
PPTX
Building Templates for Joomla
Web Development
Flash And Drupal
Javascript DOM
Javascript inside Browser (DOM)
Event loop in browser
jQuery Mobile with HTML5
Advanced JQuery Mobile tutorial with Phonegap
Browserify
Requirejs
Requirejs
Jquery for post a form
Introduction to jQuery Mobile
Template.engine.concept2012
jQuery Mobile: Progressive Enhancement with HTML5
Extended Document Rendering
Short intro to JQuery and Modernizr
Ad

Viewers also liked (15)

DOCX
Case Solution for Empire Company Limited: The Oshawa Group Limited Proposal
PDF
Aanbeveling
PDF
Hermell Products Mini Product Catalog for Health and Wellness
PDF
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
DOCX
Case Solution for eHarvest.com
PDF
Stainless NZ - Summer 2016
PDF
Quest ir presentation v7
DOCX
cuidados del agua
DOCX
Experiencia Vivencial
PPT
Pricing product-pricing-strategies-111207031117-phpapp01
PDF
Pest Awareness for You
PDF
Herramientas para medir la calidad
DOCX
Herrera gregory
PPT
Social Media Toolbox
Case Solution for Empire Company Limited: The Oshawa Group Limited Proposal
Aanbeveling
Hermell Products Mini Product Catalog for Health and Wellness
PROCESSOS DE ENSINO E DE APRENDIZAGEM: FORMANDO PROFESSORES EM UM PROGRAMA ES...
Case Solution for eHarvest.com
Stainless NZ - Summer 2016
Quest ir presentation v7
cuidados del agua
Experiencia Vivencial
Pricing product-pricing-strategies-111207031117-phpapp01
Pest Awareness for You
Herramientas para medir la calidad
Herrera gregory
Social Media Toolbox
Ad

Similar to WebsiteStructure (20)

PPTX
Google web toolkit web conference presenation
PPT
Decoding the Web
PPTX
Women Who Code, Ground Floor
ODP
Widget Platform
KEY
Next Generation UI
PDF
Crash Course HTML/Rails Slides
ODP
Web 2 0 Technologies
PPT
N tier web applications
KEY
Agile toolkit present 2012
PPTX
"Python web development combines the simplicity of the language with powerful...
PDF
Easy as pie creating widgets for ibm connections
PPTX
Intro to web dev
PDF
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
PDF
What's this jQuery? Where it came from, and how it will drive innovation
PDF
Making Of PHP Based Web Application
PPT
Building Web Interfaces
PDF
Finding harmony in web development
PDF
Gwt Presentation
PDF
Firefox extension Development
PDF
Web Projects: From Theory To Practice
Google web toolkit web conference presenation
Decoding the Web
Women Who Code, Ground Floor
Widget Platform
Next Generation UI
Crash Course HTML/Rails Slides
Web 2 0 Technologies
N tier web applications
Agile toolkit present 2012
"Python web development combines the simplicity of the language with powerful...
Easy as pie creating widgets for ibm connections
Intro to web dev
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
What's this jQuery? Where it came from, and how it will drive innovation
Making Of PHP Based Web Application
Building Web Interfaces
Finding harmony in web development
Gwt Presentation
Firefox extension Development
Web Projects: From Theory To Practice

More from tutorialsruby (20)

PDF
&lt;img src="../i/r_14.png" />
PDF
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
PDF
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
PDF
&lt;img src="../i/r_14.png" />
PDF
&lt;img src="../i/r_14.png" />
PDF
Standardization and Knowledge Transfer – INS0
PDF
xhtml_basics
PDF
xhtml_basics
PDF
xhtml-documentation
PDF
xhtml-documentation
PDF
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
PDF
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
PDF
HowTo_CSS
PDF
HowTo_CSS
PDF
BloggingWithStyle_2008
PDF
BloggingWithStyle_2008
PDF
cascadingstylesheets
PDF
cascadingstylesheets
&lt;img src="../i/r_14.png" />
TopStyle Help &amp; &lt;b>Tutorial&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" />
Standardization and Knowledge Transfer – INS0
xhtml_basics
xhtml_basics
xhtml-documentation
xhtml-documentation
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
HowTo_CSS
HowTo_CSS
BloggingWithStyle_2008
BloggingWithStyle_2008
cascadingstylesheets
cascadingstylesheets

Recently uploaded (20)

PDF
Getting started with AI Agents and Multi-Agent Systems
PPT
What is a Computer? Input Devices /output devices
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
The various Industrial Revolutions .pptx
PDF
CloudStack 4.21: First Look Webinar slides
PPT
Geologic Time for studying geology for geologist
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
DOCX
search engine optimization ppt fir known well about this
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
Getting started with AI Agents and Multi-Agent Systems
What is a Computer? Input Devices /output devices
Credit Without Borders: AI and Financial Inclusion in Bangladesh
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Zenith AI: Advanced Artificial Intelligence
Benefits of Physical activity for teenagers.pptx
Custom Battery Pack Design Considerations for Performance and Safety
1 - Historical Antecedents, Social Consideration.pdf
Hindi spoken digit analysis for native and non-native speakers
Module 1.ppt Iot fundamentals and Architecture
Consumable AI The What, Why & How for Small Teams.pdf
The various Industrial Revolutions .pptx
CloudStack 4.21: First Look Webinar slides
Geologic Time for studying geology for geologist
The influence of sentiment analysis in enhancing early warning system model f...
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
search engine optimization ppt fir known well about this
Microsoft Excel 365/2024 Beginner's training
OpenACC and Open Hackathons Monthly Highlights July 2025

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