SlideShare uma empresa Scribd logo
1 de 31
Creating website with TomatoCMS www.tomatocms.com TomatoCMS Workshop, Hue, Vietnam 12/12/2010 1
Table of Content What will we cover? Introduction to TomatoCMS Install Guide Create simple website Custom layout and skin Questions TomatoCMS Workshop, Hue, Vietnam 12/12/2010 2
Listeners Who is this for? Web developers Front-end developers Who care about web technologies Who care about CMSes Assumption: You know about PHP, HTML, CSS, JavaScript TomatoCMS Workshop, Hue, Vietnam 12/12/2010 3
About me Full name: Nguyễn Hữu Phước 2007: Senior developer, Bammboo Team 2007 – 2008: Lead developer, Visky Team 2009 – present:  Founder and lead developer of TomatoCMS core@tomatocms.com http://twitter.com/phuoc69 http://facebook.com/phuoc69 (84) 123 213 8486 TomatoCMS Workshop, Hue, Vietnam 12/12/2010 4
1. Introduction What is TomatoCMS? CMS – Content Management System Free and Open Source (GPL v2) Can be used to create: online newspaper blog online gallery portfolio website etc. TomatoCMS Workshop, Hue, Vietnam 12/12/2010 5
1. Introduction Award and Events 1st runner-up of Most Promising Open Source Project Award 2010 by Pack Publishing House (UK) 10th Open Source Software Festival 2010 (OSSFest) 29th Sep 2010 – 01st Oct 2010, Bangkok, Thailand Free and Open Source Software Asia 2010 (FossAsia) 12th Nov 2010 – 14th Nov 2010, Ho Chi Minh city, Vietnam And now: TomatoCMS Workshop 12th Dec 2010, Hue city, Vietnam TomatoCMS Workshop, Hue, Vietnam 12/12/2010 6
1. Introduction At OSSFest 2010 TomatoCMS Workshop, Hue, Vietnam 12/12/2010 7
1. Introduction At FossAsia 2010 TomatoCMS Workshop, Hue, Vietnam 12/12/2010 8
1. Introduction Community It has been translated into many languages: English, Vietnamese, Thai, Chinese, Arabic, Iranian, Russian, Dutch, Bulgarian, German, Polish, Portuguese Official website – www.tomatocms.com- has been translated into 16 languages Official forum: forum.tomatocms.com TomatoCMS Workshop, Hue, Vietnam 12/12/2010 9
1. Introduction (cont.) What are the key features? Many CMSes: Joomla, Drupal, Wordpress, … Reinvent the wheel? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 10
1. Introduction (cont.) What are the key features? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 11
1. Introduction (cont.) What are the key features? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 12
1. Introduction (cont.) Are there anything else? Multiple lingual websites: I18N: Now available in Bulgarian , Chinese, Dutch, English, German, Polish, Portuguese, Russian, Thai, and Vietnamese RTL languages Localization SEO meta tags friendly  and customizable URL sitemap builder Google Analytic, Google Web Master intergrated 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 13
1. Introduction (cont.) Are there anything else? High performance database replication (master / slave) cache (File / Memcached / Export to HTML) cache individual widget / entire page compress CSS, Javascript, HTML   High security permission system based on ACL architecture SQL injection free CSRF protection 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 14
1. Introduction (cont.) What is core platform? Zend Framework 1.10 http://framework.zend.com jQuery 1.3.2 http://jquery.com 960 Grid System  http://960.gs 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 15
1. Introduction (cont.) More about platform Well-designed architect Follows MVC, OOP Supports hook, plugin Modular architecture with more than 10 built-in modules Supports template/theme 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 16
1. Introduction (cont.) Does it run on my environment? Operating system:  Windows, Linux,  MacOS Databases:  MySQL 5, PostgreSQL 8, MS SQL Server 2005 Browsers:  Chrome, Firefox, Safari, IE 7/8  We are not IE6’s friend  All-in-one installers:  XAMPP, WAMP, MAMP Shared hosting? Yes! 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 17
2. Install Guide Installer: Dependent installers of Apache, MySQL, PHP Or all-in-one installers: WAMP, MAMP Guide: Install TomatoCMS with WAMP Using Install Wizard Download WAMP Install WAMP Create database with phpMyAdmin Download TomatoCMS Use Install Wizard TomatoCMS Workshop, Hue, Vietnam 12/12/2010 18
2. Install Guide (cont.) Guide: Install TomatoCMS with WAMP Install manually Download WAMP Install WAMP Use phpMyAdmin to create database/user Use phpMyAdmin to import sample data  Website in the sub-directory:         /install/ tomatocms_sample_db_mysql.sql Website in the web-root directory: /install/tomatocms_sample_db_mysql_virtualhost.sql 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 19
2. Install Guide (cont.) Guide: Install TomatoCMS with WAMP Config manually /tomatocms/application/config/application.ini [db] ... [web] ... url.base = "http://localhost/tomatocms/index.php" url.static = "http://localhost/tomatocms” ... [install] date = "2010-12-12 10:00:00" version = "2.0.8" 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 20
2. Install Guide (cont.) Run under the sub-directory: URL: http://localhost/tomatocms/ TomatoCMS directory: ApacheInstalledDir/htdocs/tomatocms       or     WAMPInstalledDir/www/tomatocms Run under the root directory: URL: http://localhost(:port) Virtual Host configuration ApacheInstalledDir/conf/httpd.conf Listen 80 NameVirtualHost *:80 <VirtualHost *:80>     DocumentRoot "C:/tomatocms" <Directory "C:/tomatocms">        AllowOverride All         Options -Indexes +FollowSymLinks         Order allow,deny         Allow from all     </Directory> </VirtualHost> 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 21
3. Create Simple Website Do the administation actions! Sign in to the back-end http://localhost/tomatocms/index.php/admin (sub-directory based) or  http://localhost/admin (root based) Try to use: News module: Create new article Multimedia module: Upload images Menu module: Add more item to the menu 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 22
3. Create Simple Website Layout structure Template directory: /application/templates/default/layouts Layout file: XML Understand concepts: container, widget 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 23
3. Create Simple Website Container concept <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE layout SYSTEM "http://schemas.tomatocms.com/dtd/layout.dtd"> <layout> <container cols="12">     <container cols="5" position="first">                    </container>         <container cols="3">                    </container>         <container cols="4" position="last">                    </container>     </container>     <container cols="12">         <container cols="8" position="first">                     </container>         <container cols="4" position="last">                    </container>     </container> </layout> 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 24
3. Create Simple Website Widget concept <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE layout SYSTEM "http://schemas.tomatocms.com/dtd/layout.dtd"> <layout>     <container cols="12">     <container cols="5" position="first">  <widget module="news" name="hotest" load="php"></widget>         </container>         <container cols="3"> <widget module="news" name="newest" load="php"></widget>         </container>         <container cols="4" position="last"> <widget module="ad" name="zone" load="php"></widget>     <widget module="news" name="searchbox" load="php"></widget>         </container>     </container> </layout> 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 25
3. Create Simple Website How to change the layout Try to change the layout: Add containers Add widgets 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 26
3. Create Simple Website How to develop new widget? Widget directory:  /application/modules/ModuleName/widgets/WidgetName Files: Information: about.xml Configuration: config.phtml Languages: lang.en_US.ini, lang.vi_VN.ini, etc Ouput: show.phtml Controller: Widget.php Develop new widget (based on what students want) 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 27
3. Create Simple Website How to change the look and feel? Each template can have many skins Skin directory: /skins/TemplateName/SkinName Skin file: /skins/TemplateName/SkinName/default.css Naming convention for widget classes: t_ModuleName_WidgetName Try to change the CSS styles and see what happen! 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 28
Follow us Social networks: Twitter:          www.twitter.com/tomatocms Facebook:      www.facebook.com/tomato.cms Websites: Live demo:     demo.tomatocms.com Community:  forum.tomatocms.com 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 29
Questions? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 30
Thank you! 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 31

Mais conteúdo relacionado

Mais procurados

PHPMatsuri site with Croogo
PHPMatsuri site with CroogoPHPMatsuri site with Croogo
PHPMatsuri site with Croogo
ichikaway
 
Wcmtl top-10-multisite
Wcmtl top-10-multisiteWcmtl top-10-multisite
Wcmtl top-10-multisite
Andrea Rennick
 

Mais procurados (20)

jAPS 2 0 - Presentation Layer Comparison
jAPS 2 0 - Presentation Layer ComparisonjAPS 2 0 - Presentation Layer Comparison
jAPS 2 0 - Presentation Layer Comparison
 
Screencasting Matrix
Screencasting MatrixScreencasting Matrix
Screencasting Matrix
 
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
 
Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014
 
Giving back to WordPress - no code needed!
Giving back to WordPress - no code needed!Giving back to WordPress - no code needed!
Giving back to WordPress - no code needed!
 
Readme
ReadmeReadme
Readme
 
Wordpress for Dummies
Wordpress for DummiesWordpress for Dummies
Wordpress for Dummies
 
Security and Performance - Italian WordPress Conference
Security and Performance - Italian WordPress ConferenceSecurity and Performance - Italian WordPress Conference
Security and Performance - Italian WordPress Conference
 
Joomla english for the work group
Joomla english for the work groupJoomla english for the work group
Joomla english for the work group
 
Getting started with HTML & CSS
Getting started with HTML & CSSGetting started with HTML & CSS
Getting started with HTML & CSS
 
PHPMatsuri site with Croogo
PHPMatsuri site with CroogoPHPMatsuri site with Croogo
PHPMatsuri site with Croogo
 
Joomla Manual in Compatible with XAMPP
Joomla Manual in Compatible with XAMPPJoomla Manual in Compatible with XAMPP
Joomla Manual in Compatible with XAMPP
 
Flash vs. HTML5
Flash vs. HTML5Flash vs. HTML5
Flash vs. HTML5
 
Wcmtl top-10-multisite
Wcmtl top-10-multisiteWcmtl top-10-multisite
Wcmtl top-10-multisite
 
Virtual TechDays 2011 - Hack your way with IE9 F12 Developer tools
Virtual TechDays 2011 - Hack your way with IE9 F12 Developer toolsVirtual TechDays 2011 - Hack your way with IE9 F12 Developer tools
Virtual TechDays 2011 - Hack your way with IE9 F12 Developer tools
 
Rapid Development With CakePHP
Rapid Development With CakePHPRapid Development With CakePHP
Rapid Development With CakePHP
 
Disruptive code
Disruptive codeDisruptive code
Disruptive code
 
Wordpress: «l’abc per gli sviluppatori» - PHP.TO.START [2012]
 Wordpress: «l’abc per gli sviluppatori» - PHP.TO.START [2012] Wordpress: «l’abc per gli sviluppatori» - PHP.TO.START [2012]
Wordpress: «l’abc per gli sviluppatori» - PHP.TO.START [2012]
 
Webpage & Multimedia Design- class01
Webpage & Multimedia Design- class01Webpage & Multimedia Design- class01
Webpage & Multimedia Design- class01
 
Word camp raleigh presentation 11 23-13
Word camp raleigh presentation 11 23-13Word camp raleigh presentation 11 23-13
Word camp raleigh presentation 11 23-13
 

Semelhante a TomatoCMS Workshop at Hue-Aptech IT center, 2010

Php My Sql Security 2007
Php My Sql Security 2007Php My Sql Security 2007
Php My Sql Security 2007
Aung Khant
 

Semelhante a TomatoCMS Workshop at Hue-Aptech IT center, 2010 (20)

WordCamp Denmark Keynote
WordCamp Denmark KeynoteWordCamp Denmark Keynote
WordCamp Denmark Keynote
 
A Holistic View of Website Performance
A Holistic View of Website PerformanceA Holistic View of Website Performance
A Holistic View of Website Performance
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website Optimization
 
PHP
PHPPHP
PHP
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer Overview
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Testable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascriptTestable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascript
 
HTTPS and HTTP/2
HTTPS and HTTP/2HTTPS and HTTP/2
HTTPS and HTTP/2
 
Web Publishing & WordPress Introduction 16x9 draft 17
Web Publishing & WordPress Introduction 16x9 draft 17Web Publishing & WordPress Introduction 16x9 draft 17
Web Publishing & WordPress Introduction 16x9 draft 17
 
IMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLAIMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLA
 
Presentation (PPT)
Presentation (PPT)Presentation (PPT)
Presentation (PPT)
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend Firefox
 
Alcim wp training 26 may
Alcim wp training 26 mayAlcim wp training 26 may
Alcim wp training 26 may
 
Word press bg 16x9 draft 16
Word press bg 16x9 draft 16Word press bg 16x9 draft 16
Word press bg 16x9 draft 16
 
Introducing YUI
Introducing YUIIntroducing YUI
Introducing YUI
 
Php My Sql Security 2007
Php My Sql Security 2007Php My Sql Security 2007
Php My Sql Security 2007
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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...
 
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, ...
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

TomatoCMS Workshop at Hue-Aptech IT center, 2010

  • 1. Creating website with TomatoCMS www.tomatocms.com TomatoCMS Workshop, Hue, Vietnam 12/12/2010 1
  • 2. Table of Content What will we cover? Introduction to TomatoCMS Install Guide Create simple website Custom layout and skin Questions TomatoCMS Workshop, Hue, Vietnam 12/12/2010 2
  • 3. Listeners Who is this for? Web developers Front-end developers Who care about web technologies Who care about CMSes Assumption: You know about PHP, HTML, CSS, JavaScript TomatoCMS Workshop, Hue, Vietnam 12/12/2010 3
  • 4. About me Full name: Nguyễn Hữu Phước 2007: Senior developer, Bammboo Team 2007 – 2008: Lead developer, Visky Team 2009 – present: Founder and lead developer of TomatoCMS core@tomatocms.com http://twitter.com/phuoc69 http://facebook.com/phuoc69 (84) 123 213 8486 TomatoCMS Workshop, Hue, Vietnam 12/12/2010 4
  • 5. 1. Introduction What is TomatoCMS? CMS – Content Management System Free and Open Source (GPL v2) Can be used to create: online newspaper blog online gallery portfolio website etc. TomatoCMS Workshop, Hue, Vietnam 12/12/2010 5
  • 6. 1. Introduction Award and Events 1st runner-up of Most Promising Open Source Project Award 2010 by Pack Publishing House (UK) 10th Open Source Software Festival 2010 (OSSFest) 29th Sep 2010 – 01st Oct 2010, Bangkok, Thailand Free and Open Source Software Asia 2010 (FossAsia) 12th Nov 2010 – 14th Nov 2010, Ho Chi Minh city, Vietnam And now: TomatoCMS Workshop 12th Dec 2010, Hue city, Vietnam TomatoCMS Workshop, Hue, Vietnam 12/12/2010 6
  • 7. 1. Introduction At OSSFest 2010 TomatoCMS Workshop, Hue, Vietnam 12/12/2010 7
  • 8. 1. Introduction At FossAsia 2010 TomatoCMS Workshop, Hue, Vietnam 12/12/2010 8
  • 9. 1. Introduction Community It has been translated into many languages: English, Vietnamese, Thai, Chinese, Arabic, Iranian, Russian, Dutch, Bulgarian, German, Polish, Portuguese Official website – www.tomatocms.com- has been translated into 16 languages Official forum: forum.tomatocms.com TomatoCMS Workshop, Hue, Vietnam 12/12/2010 9
  • 10. 1. Introduction (cont.) What are the key features? Many CMSes: Joomla, Drupal, Wordpress, … Reinvent the wheel? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 10
  • 11. 1. Introduction (cont.) What are the key features? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 11
  • 12. 1. Introduction (cont.) What are the key features? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 12
  • 13. 1. Introduction (cont.) Are there anything else? Multiple lingual websites: I18N: Now available in Bulgarian , Chinese, Dutch, English, German, Polish, Portuguese, Russian, Thai, and Vietnamese RTL languages Localization SEO meta tags friendly and customizable URL sitemap builder Google Analytic, Google Web Master intergrated 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 13
  • 14. 1. Introduction (cont.) Are there anything else? High performance database replication (master / slave) cache (File / Memcached / Export to HTML) cache individual widget / entire page compress CSS, Javascript, HTML High security permission system based on ACL architecture SQL injection free CSRF protection 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 14
  • 15. 1. Introduction (cont.) What is core platform? Zend Framework 1.10 http://framework.zend.com jQuery 1.3.2 http://jquery.com 960 Grid System http://960.gs 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 15
  • 16. 1. Introduction (cont.) More about platform Well-designed architect Follows MVC, OOP Supports hook, plugin Modular architecture with more than 10 built-in modules Supports template/theme 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 16
  • 17. 1. Introduction (cont.) Does it run on my environment? Operating system: Windows, Linux, MacOS Databases: MySQL 5, PostgreSQL 8, MS SQL Server 2005 Browsers: Chrome, Firefox, Safari, IE 7/8 We are not IE6’s friend  All-in-one installers: XAMPP, WAMP, MAMP Shared hosting? Yes! 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 17
  • 18. 2. Install Guide Installer: Dependent installers of Apache, MySQL, PHP Or all-in-one installers: WAMP, MAMP Guide: Install TomatoCMS with WAMP Using Install Wizard Download WAMP Install WAMP Create database with phpMyAdmin Download TomatoCMS Use Install Wizard TomatoCMS Workshop, Hue, Vietnam 12/12/2010 18
  • 19. 2. Install Guide (cont.) Guide: Install TomatoCMS with WAMP Install manually Download WAMP Install WAMP Use phpMyAdmin to create database/user Use phpMyAdmin to import sample data Website in the sub-directory: /install/ tomatocms_sample_db_mysql.sql Website in the web-root directory: /install/tomatocms_sample_db_mysql_virtualhost.sql 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 19
  • 20. 2. Install Guide (cont.) Guide: Install TomatoCMS with WAMP Config manually /tomatocms/application/config/application.ini [db] ... [web] ... url.base = "http://localhost/tomatocms/index.php" url.static = "http://localhost/tomatocms” ... [install] date = "2010-12-12 10:00:00" version = "2.0.8" 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 20
  • 21. 2. Install Guide (cont.) Run under the sub-directory: URL: http://localhost/tomatocms/ TomatoCMS directory: ApacheInstalledDir/htdocs/tomatocms or WAMPInstalledDir/www/tomatocms Run under the root directory: URL: http://localhost(:port) Virtual Host configuration ApacheInstalledDir/conf/httpd.conf Listen 80 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/tomatocms" <Directory "C:/tomatocms"> AllowOverride All Options -Indexes +FollowSymLinks Order allow,deny Allow from all </Directory> </VirtualHost> 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 21
  • 22. 3. Create Simple Website Do the administation actions! Sign in to the back-end http://localhost/tomatocms/index.php/admin (sub-directory based) or http://localhost/admin (root based) Try to use: News module: Create new article Multimedia module: Upload images Menu module: Add more item to the menu 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 22
  • 23. 3. Create Simple Website Layout structure Template directory: /application/templates/default/layouts Layout file: XML Understand concepts: container, widget 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 23
  • 24. 3. Create Simple Website Container concept <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE layout SYSTEM "http://schemas.tomatocms.com/dtd/layout.dtd"> <layout> <container cols="12"> <container cols="5" position="first"> </container> <container cols="3"> </container> <container cols="4" position="last"> </container> </container> <container cols="12"> <container cols="8" position="first"> </container> <container cols="4" position="last"> </container> </container> </layout> 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 24
  • 25. 3. Create Simple Website Widget concept <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE layout SYSTEM "http://schemas.tomatocms.com/dtd/layout.dtd"> <layout> <container cols="12"> <container cols="5" position="first"> <widget module="news" name="hotest" load="php"></widget> </container> <container cols="3"> <widget module="news" name="newest" load="php"></widget> </container> <container cols="4" position="last"> <widget module="ad" name="zone" load="php"></widget> <widget module="news" name="searchbox" load="php"></widget> </container> </container> </layout> 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 25
  • 26. 3. Create Simple Website How to change the layout Try to change the layout: Add containers Add widgets 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 26
  • 27. 3. Create Simple Website How to develop new widget? Widget directory: /application/modules/ModuleName/widgets/WidgetName Files: Information: about.xml Configuration: config.phtml Languages: lang.en_US.ini, lang.vi_VN.ini, etc Ouput: show.phtml Controller: Widget.php Develop new widget (based on what students want) 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 27
  • 28. 3. Create Simple Website How to change the look and feel? Each template can have many skins Skin directory: /skins/TemplateName/SkinName Skin file: /skins/TemplateName/SkinName/default.css Naming convention for widget classes: t_ModuleName_WidgetName Try to change the CSS styles and see what happen! 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 28
  • 29. Follow us Social networks: Twitter: www.twitter.com/tomatocms Facebook: www.facebook.com/tomato.cms Websites: Live demo: demo.tomatocms.com Community: forum.tomatocms.com 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 29
  • 30. Questions? 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 30
  • 31. Thank you! 12/12/2010 TomatoCMS Workshop, Hue, Vietnam 31