SlideShare ist ein Scribd-Unternehmen logo
1 von 12
DEFINE { Mysite, {
VIEW: { Ext JS },
MODEL: { Drupal },
STORE: { Drupal },
TITLE: “
”}};
// @Presenter: Eugene Heng
Theming
Drupal with
Sencha Ext JS
Sencha Ext JS
• JavaScript application framework for building interactive web
applications
• Improve user interaction for your website by providing attractive
graphical interface.
• Complement to core Drupal Theming: some of the graphical Interfaces
(“widgets”) are not provided by Drupal core.
• From same organisation creating Sencha Touch.
GUI in Sencha Ext JS
• http://www.sencha.com/products/extjs/examples/
Ext JS includes a set of GUI-based form controls (or "widgets") for use within web applications:
• text field and textarea input controls
• date fields with a pop-up date-picker
• numeric fields
• list box and combo boxes
• radio and checkbox controls
• html editor control
• grid control (with both read-only and edit modes, sortable data, lockable and draggable
columns, and a variety of other features)
• tree control
• tab panels
• toolbars
• desktop application-style menus
• region panels to allow a form to be divided into multiple sub-sections
• sliders
• vector graphics charts
- “Ext JS” from Wikipedia
Sencha Model-View-Controller (MVC) File
Structure
• Model – View – Controller (MVC)
Framework
• View: Graphical UI
• Model: Data Structure
• Store: Data Source
• Controller: Logic
• http://docs.sencha.com/extjs/4.2.1/
#!/guide/application_architecture
Common Setup for Drupal with Ext JS
• Ext JS as Client Side Frontend providing the GUI
• Drupal as Server Backend supplying the content
• Drupal page can be embedded within Ext JS Panel as HTML
page.
Drupal
Site
nodes.json
Dir
file
file
file
file
B
A
C
My Drupal
page
mysite.php
Request content
Request page
Ext JS code
Ext JS <-> Drupal, using services module
Services
Module
MySQL
Controllers JS
?
Store 1 JS
Model JS
REST
(JSON)
Views
JS
Content
Type 1
Content
Type 2
CT1.json
?
Store 2 JS
B
A
C
Dir
file
file
file
file
Custom
Module
CT2.json
Data 1
Data 2
Model 1 JS
Model 2 JS
Ext Module
EXT
Module
MySQL
Controllers JS
?
Store 1 JS
Model JS
REST
(JSON)
Views
JS
Content
Type 1
Content
Type 2
CT1.json
?
Store 2 JS
B
A
C
Dir
file
file
file
file
Custom
Module
CT2.json
Data 1
Data 2
Model 1 JS
Model 2 JS
Ext Module Functionalities
• Loading of the Ext JS library files.
• Automatic generation of JS code for Ext Model and Store definitions.
• A RESTful services API providing Create, Read, Update and Delete
(CRUD) operations for all Models and Stores.
• Generation of MVC JS files according to JS files structure declared in
custom module.
File Layout for Ext Module
• Custom Module
• Ext JS File Layout
/
Demo
Questions
• Do I need Ext JS on my Drupal site?
• Is Drupal Ext Module necessary for my site?
• How easy will it be to integrate Ext JS on my Drupal site?
• I am a Drupal developer, what other tools do I require?
What is Next?
Extend Ext module to support Sencha Touch code
generation.
Other possible extension: Integrated with Services
API?

Weitere ähnliche Inhalte

Was ist angesagt?

Next Generation UI
Next Generation UINext Generation UI
Next Generation UI
vmalinouski
 

Was ist angesagt? (18)

Introduction to GXC-CMS
Introduction to GXC-CMSIntroduction to GXC-CMS
Introduction to GXC-CMS
 
Mobile Offline First
Mobile Offline FirstMobile Offline First
Mobile Offline First
 
Mongo db1
Mongo db1Mongo db1
Mongo db1
 
Tech talk-live-alfresco-drupal
Tech talk-live-alfresco-drupalTech talk-live-alfresco-drupal
Tech talk-live-alfresco-drupal
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
Next Generation UI
Next Generation UINext Generation UI
Next Generation UI
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke Presentation
 
SQL vs MongoDB
SQL vs MongoDBSQL vs MongoDB
SQL vs MongoDB
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Introduction à DocumentDB
Introduction à DocumentDBIntroduction à DocumentDB
Introduction à DocumentDB
 
MongoDB by Emroz sardar.
MongoDB by Emroz sardar.MongoDB by Emroz sardar.
MongoDB by Emroz sardar.
 
Site building using Drupal 8
Site building using Drupal 8Site building using Drupal 8
Site building using Drupal 8
 
Big data and polyglot solutions
Big data and polyglot solutionsBig data and polyglot solutions
Big data and polyglot solutions
 
Languages and tools for web programming
Languages and tools for web  programmingLanguages and tools for web  programming
Languages and tools for web programming
 
Sitebuildingdrupal 8
Sitebuildingdrupal 8Sitebuildingdrupal 8
Sitebuildingdrupal 8
 
Features: safely deploying your site
Features: safely deploying your siteFeatures: safely deploying your site
Features: safely deploying your site
 
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o DesenvolvedorMicrosoft Azure: Opção de Nuvem para Todo o Desenvolvedor
Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor
 
Drupal 7 unleashed
Drupal 7 unleashedDrupal 7 unleashed
Drupal 7 unleashed
 

Ähnlich wie Implemeting Sencha Ext JS in Drupal

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
 
Extjs3.4 Migration Notes
Extjs3.4 Migration NotesExtjs3.4 Migration Notes
Extjs3.4 Migration Notes
SimoAmi
 

Ähnlich wie Implemeting Sencha Ext JS in Drupal (20)

Treinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDTTreinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDT
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
 
WebsiteStructure
WebsiteStructureWebsiteStructure
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
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web Applications
 
Extjs3.4 Migration Notes
Extjs3.4 Migration NotesExtjs3.4 Migration Notes
Extjs3.4 Migration Notes
 
Webcenter Sites Google Gadget Development Techniques
Webcenter Sites Google Gadget Development TechniquesWebcenter Sites Google Gadget Development Techniques
Webcenter Sites Google Gadget Development Techniques
 
Introduction to ExtJS and its new features
Introduction to ExtJS and its new featuresIntroduction to ExtJS and its new features
Introduction to ExtJS and its new features
 
Ext Js introduction and new features in Ext Js 6
Ext Js introduction and new features in Ext Js 6Ext Js introduction and new features in Ext Js 6
Ext Js introduction and new features in Ext Js 6
 
Ajax toolkit-framework
Ajax toolkit-frameworkAjax toolkit-framework
Ajax toolkit-framework
 
Prashant Patel
Prashant PatelPrashant Patel
Prashant Patel
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
SharePoint Framework, React, and Office UI sps Silicon Valley
SharePoint Framework, React, and Office UI sps Silicon ValleySharePoint Framework, React, and Office UI sps Silicon Valley
SharePoint Framework, React, and Office UI sps Silicon Valley
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
 
Mihai_Nuta
Mihai_NutaMihai_Nuta
Mihai_Nuta
 
Query editor for multi databases
Query editor for multi databasesQuery editor for multi databases
Query editor for multi databases
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 
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...
 
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
 
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
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
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)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
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
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Implemeting Sencha Ext JS in Drupal

  • 1. DEFINE { Mysite, { VIEW: { Ext JS }, MODEL: { Drupal }, STORE: { Drupal }, TITLE: “ ”}}; // @Presenter: Eugene Heng Theming Drupal with Sencha Ext JS
  • 2. Sencha Ext JS • JavaScript application framework for building interactive web applications • Improve user interaction for your website by providing attractive graphical interface. • Complement to core Drupal Theming: some of the graphical Interfaces (“widgets”) are not provided by Drupal core. • From same organisation creating Sencha Touch.
  • 3. GUI in Sencha Ext JS • http://www.sencha.com/products/extjs/examples/ Ext JS includes a set of GUI-based form controls (or "widgets") for use within web applications: • text field and textarea input controls • date fields with a pop-up date-picker • numeric fields • list box and combo boxes • radio and checkbox controls • html editor control • grid control (with both read-only and edit modes, sortable data, lockable and draggable columns, and a variety of other features) • tree control • tab panels • toolbars • desktop application-style menus • region panels to allow a form to be divided into multiple sub-sections • sliders • vector graphics charts - “Ext JS” from Wikipedia
  • 4. Sencha Model-View-Controller (MVC) File Structure • Model – View – Controller (MVC) Framework • View: Graphical UI • Model: Data Structure • Store: Data Source • Controller: Logic • http://docs.sencha.com/extjs/4.2.1/ #!/guide/application_architecture
  • 5. Common Setup for Drupal with Ext JS • Ext JS as Client Side Frontend providing the GUI • Drupal as Server Backend supplying the content • Drupal page can be embedded within Ext JS Panel as HTML page. Drupal Site nodes.json Dir file file file file B A C My Drupal page mysite.php Request content Request page Ext JS code
  • 6. Ext JS <-> Drupal, using services module Services Module MySQL Controllers JS ? Store 1 JS Model JS REST (JSON) Views JS Content Type 1 Content Type 2 CT1.json ? Store 2 JS B A C Dir file file file file Custom Module CT2.json Data 1 Data 2 Model 1 JS Model 2 JS
  • 7. Ext Module EXT Module MySQL Controllers JS ? Store 1 JS Model JS REST (JSON) Views JS Content Type 1 Content Type 2 CT1.json ? Store 2 JS B A C Dir file file file file Custom Module CT2.json Data 1 Data 2 Model 1 JS Model 2 JS
  • 8. Ext Module Functionalities • Loading of the Ext JS library files. • Automatic generation of JS code for Ext Model and Store definitions. • A RESTful services API providing Create, Read, Update and Delete (CRUD) operations for all Models and Stores. • Generation of MVC JS files according to JS files structure declared in custom module.
  • 9. File Layout for Ext Module • Custom Module • Ext JS File Layout /
  • 10. Demo
  • 11. Questions • Do I need Ext JS on my Drupal site? • Is Drupal Ext Module necessary for my site? • How easy will it be to integrate Ext JS on my Drupal site? • I am a Drupal developer, what other tools do I require?
  • 12. What is Next? Extend Ext module to support Sencha Touch code generation. Other possible extension: Integrated with Services API?