SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

jAPS 2 0 - Presentation Layer Comparison
jAPS 2 0 - Presentation Layer ComparisonjAPS 2 0 - Presentation Layer Comparison
jAPS 2 0 - Presentation Layer ComparisonWilliam Ghelfi
 
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...Peter Martin
 
Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014Troubleshooting Joomla! problems - Joomladay Germany 2014
Troubleshooting Joomla! problems - Joomladay Germany 2014Peter Martin
 
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!Meagan Hanes
 
Security and Performance - Italian WordPress Conference
Security and Performance - Italian WordPress ConferenceSecurity and Performance - Italian WordPress Conference
Security and Performance - Italian WordPress ConferenceMaurizio Pelizzone
 
Joomla english for the work group
Joomla english for the work groupJoomla english for the work group
Joomla english for the work groupVicent Selfa
 
Getting started with HTML & CSS
Getting started with HTML & CSSGetting started with HTML & CSS
Getting started with HTML & CSSBen Eveloff
 
PHPMatsuri site with Croogo
PHPMatsuri site with CroogoPHPMatsuri site with Croogo
PHPMatsuri site with Croogoichikaway
 
Wcmtl top-10-multisite
Wcmtl top-10-multisiteWcmtl top-10-multisite
Wcmtl top-10-multisiteAndrea Rennick
 
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 toolsKrishna T
 
Rapid Development With CakePHP
Rapid Development With CakePHPRapid Development With CakePHP
Rapid Development With CakePHPEdureka!
 
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]Maurizio Pelizzone
 
Webpage & Multimedia Design- class01
Webpage & Multimedia Design- class01Webpage & Multimedia Design- class01
Webpage & Multimedia Design- class01hellosoon_world
 
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-13Melodie Laylor
 

What's hot (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
 

Similar to TomatoCMS Workshop at Hue-Aptech IT center, 2010

A Holistic View of Website Performance
A Holistic View of Website PerformanceA Holistic View of Website Performance
A Holistic View of Website PerformanceRene Churchill
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website OptimizationGerard Sychay
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019Anam Ahmed
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewDave Bost
 
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 ThilmanyChristian 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_javascriptTimothy Oxley
 
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 17msz
 
IMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLAIMS Learning Tools Interoperability @ UCLA
IMS Learning Tools Interoperability @ UCLACharles Severance
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend FirefoxGraham King
 
Word press bg 16x9 draft 16
Word press bg 16x9 draft 16Word press bg 16x9 draft 16
Word press bg 16x9 draft 16msz
 
Php My Sql Security 2007
Php My Sql Security 2007Php My Sql Security 2007
Php My Sql Security 2007Aung Khant
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101Mathew Beane
 

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

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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