SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Zend Lab
leonguyen.com
Features
- Purpose: An open source Zend CMS
- GUI: Bootstrap + jQuery + Dojo
- Technology: Zend 2 + Node.js + NoSQL
Modules
- Content:
+ News, Media (Photo-Video|Infographic-Mindmap), Slide
+ Products-Cart, Vote-Survey-Chat, Form+App
- Channel:
+ Web, Tablet, Mobile, Email, SMS, Print
Design
- Logo & Icon
- Color scheme & Pattern
- Typography
- Elements
Layout - Responsive
Layout - Metro
Zend Core
Installation
- Download Zend Server Community Edition (include Zend
Framework 2.0) (http://framework.zend.com/downloads/latest)
Start Zend Server
- Go to http://localhost:10081/ZendServer
Generate a Trial License for Zend Server
- Go to http://www.zend.com/en/products/server/license
Config Zend Application
- Download Zend Skeleton Application (https://github.
com/zendframework/ZendSkeletonApplication)
New Environtment Variables
Config Windows Host
- Go to: C:WindowsSystem32driversetchosts
Config Zend Server Host
- Go to: C:Program FilesZendZendServeretcsites.d
- Make host file: 'vhost_zendcms.com.conf'
- Restart Zend Server
Start ZF2 Skeleton Application
- Go to: http://zendcms.com
Config Zend Module
- Download Zend Skeleton Module (https://github.
com/zendframework/ZendSkeletonModule)
Add Skeleton Module
- Go to: <Source Path>zendcmsmodule
- Extract to: 'ZendSkeletonModule'
Config application.config
- Go to: <Source Path>zendcmsconfig
- Edit file: 'application.config.php'
Config module.config
- Go to: <Source Path>zendcmsmoduleZendSkeletonModuleconfig
- Edit file: 'module.config.php'
Start Skeleton Module
- Go to: http://zendcms.com/skeleton
Zend MVC
- Programmer’s Reference Guide of Zend Framework 2: http://framework.zend.com/manual/2.
0/en/index.html#zendframeworkreference
MVC Diagram
DAO Design Pattern
Describe Album Module
- The application that we are going to build is a simple inventory system
to display which albums we own. The main page will list our collection
and allow us to add, edit and delete CDs.
Page Description
List of albums
This will display the list of albums and provide links to edit and delete them.
Also, a link to enable adding new albums will be provided.
Add new album This page will provide a form for adding a new album.
Edit album This page will provide a form for editing an album.
Delete album This page will confirm that we want to delete an album and then delete it.
Create directories
- Creating following directories.
Create Module.php
- Create 'Module.php' in the Album module.
Configuration
- Create a file 'module.config.php' under <Source
Path>zendcmsmoduleAlbumconfig
Config application.config
- Go to: <Source Path>zendcmsconfig
- Edit file: 'application.config.php'
Routing and controllers
- As we have four pages that all apply to albums, we will group them in
a single controller AlbumController within our Album module as four
actions
Page Controller Action
Home AlbumController index
Add new album AlbumController add
Edit album AlbumController edit
Delete album AlbumController delete
Add Router
- Modify 'module.
config.php' under
<Source
Path>zendcmsmodul
eAlbumconfig
Create the Controller
- Create controller class 'AlbumController.php' under <Source
Path>moduleAlbumsrcAlbumController
DB Schema
- Create SQL statements to create the album table.
Create the Model
- Create model class 'Album.php' under <Source
Path>moduleAlbumsrcAlbumModel
Create the Model Table
- Create model class
'AlbumTable.php' under
<Source
Path>moduleAlbumsrcAlbu
mModel
Using ServiceManager to configure the
table gateway and inject into the
AlbumTable
- Create 'Module.php'
in the Album module.
Config DB Driver
- Modify 'global.php' under <Source Path>configautoload
Config DB Credentials
- Modify 'local.php' under <Source Path>configautoload
Create the View
- Create view 'index.phtml' under <Source
Path>moduleAlbumviewalbumalbum
Open Album
- Go to: http://zendcms.com/album
Forms and Actions - Add album - Form
- Create view 'AlbumForm.php' under
<Source
Path>moduleAlbumsrcAlbumForm
Forms and Actions - Add album - Model
- Modify model class 'Album.php'
under <Source
Path>moduleAlbumsrcAlbumM
odel
Forms and Actions - Add album - Controller
- Modify controller class 'AlbumController.php' under <Source
Path>moduleAlbumsrcAlbumController
Forms and Actions - Add album - View
- Create view 'add.phtml' under <Source
Path>moduleAlbumviewalbumalbum
Forms and Actions - Add album - Open
- Go to: http://zendcms.com/album/add
Forms and Actions - Edit album - Controller
- Modify controller class
'AlbumController.php' under
<Source
Path>moduleAlbumsrcAlbumC
ontroller
Forms and Actions - Edit album - Model
- Modify model class 'Album.php' under <Source
Path>moduleAlbumsrcAlbumModel
Forms and Actions - Edit album - View
- Create view 'edit.phtml' under <Source
Path>moduleAlbumviewalbumalbum
Forms and Actions - Delete album - Controller
- Modify controller class
'AlbumController.php' under
<Source
Path>moduleAlbumsrcAlbumC
ontroller
Forms and Actions - Edit album - View
- Create view 'delete.phtml' under <Source
Path>moduleAlbumviewalbumalbum
Zend Authentication
Zfc [Base.User.Acl]
- Download (https://github.com/ZF-Commons/ZfcUser)
(https://github.com/ZF-Commons/ZfcBase)
(https://github.com/bjyoungblood/BjyAuthorize)
Add ZfcBase, ZfcUser, BjyAuthorize
- Go to: <Source Path>zendcmsvendor
- Extract to: 'ZfcUser', 'ZfcBase', 'BjyAuthorize'
Config application.config
- Go to: <Source Path>zendcmsconfig
- Edit file: 'application.config.php'
Make database.local
- Go to: <Source Path>zendcmsconfigautoload
- Create file: 'database.local.php'
Start url User
- Go to: http://zendcms.com/user/login
DB List
Star:
1) User (u)
2) Tag (t): Page, Menu, Category
3) Post (p): Article, Products, Banner
4) Meta (m): Media
5) Option (o): Configuration
Table List
1) u: uId, uName, uPass, uEmail, uDesc
2) t: tId, tName, tDesc
3) p: pId, uId, pTitle, pContent
4) m: mId, pId, mKey, mValue
5) o: oId, oKey, oValue
1) User (u)
CREATE TABLE `user` (
`uId` INT NOT NULL AUTO_INCREMENT ,
`uName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT
NULL ,
`uPass` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
,
`uEmail` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
,
`uDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
,
PRIMARY KEY ( `uId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
2) Tag (t)
CREATE TABLE `tag` (
`tId` INT NOT NULL AUTO_INCREMENT ,
`tName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`tDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY ( `tId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
3) Post (p)
CREATE TABLE `post` (
`pId` INT NOT NULL AUTO_INCREMENT ,
`uId` INT NOT NULL ,
`pTitle` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`pContent` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY ( `pId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
4) Meta (m)
CREATE TABLE `meta` (
`mId` INT NOT NULL AUTO_INCREMENT ,
`pId` INT NOT NULL ,
`mKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`mValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `mId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
5) Option (o)
CREATE TABLE `option` (
`oId` INT NOT NULL AUTO_INCREMENT ,
`oKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`oValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `oId` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
Login
Back-end
I) User Manager (Permission)
II) Tag Manager (Grid hierachy)
III) Layout Manager (Row added elements)
Star: 1) Header, 2) Content, 3) Footer, 4) Top, 5) Bottom
IV) Media Manager
V) Option Manager
Pyramid: Navigation (Circle -> Menu) -> Datatable (Search-Filter,
Action,Grid-Edit) -> Form (Main Input,Desc Grid) + Custom
Github
- Go to: https://github.com/leonguyen/zendcms

Weitere ähnliche Inhalte

Was ist angesagt?

Date difference[1]
Date difference[1]Date difference[1]
Date difference[1]shafiullas
 
Late South Amboy Man Honored at Memorial (The Suburban)
Late South Amboy Man Honored at Memorial (The Suburban)Late South Amboy Man Honored at Memorial (The Suburban)
Late South Amboy Man Honored at Memorial (The Suburban)Jacqueline Durett
 
Using Geeklog as a Web Application Framework
Using Geeklog as a Web Application FrameworkUsing Geeklog as a Web Application Framework
Using Geeklog as a Web Application FrameworkDirk Haun
 
Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2Sumy PHP User Grpoup
 
South Amboy Lays Out Plans for 2009 (The Suburban)
South Amboy Lays Out Plans for 2009 (The Suburban)South Amboy Lays Out Plans for 2009 (The Suburban)
South Amboy Lays Out Plans for 2009 (The Suburban)Jacqueline Durett
 
TwitterKitではじめる OAuthスピードクッキング
TwitterKitではじめる OAuthスピードクッキングTwitterKitではじめる OAuthスピードクッキング
TwitterKitではじめる OAuthスピードクッキングTakashi Nojima
 
Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2Sumy PHP User Grpoup
 
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel16.mysql stored procedures in laravel
16.mysql stored procedures in laravelRazvan Raducanu, PhD
 
2008-12-04 - Roller Rink Marks 50 Years
2008-12-04 - Roller Rink Marks 50 Years2008-12-04 - Roller Rink Marks 50 Years
2008-12-04 - Roller Rink Marks 50 YearsJacqueline Durett
 
zthere construction
zthere constructionzthere construction
zthere constructionzthere corp.
 
Joomla! Day UK 2009 .htaccess
Joomla! Day UK 2009 .htaccessJoomla! Day UK 2009 .htaccess
Joomla! Day UK 2009 .htaccessAndy Wallace
 
Mason - A Template system for us Perl programmers
Mason - A Template system for us Perl programmersMason - A Template system for us Perl programmers
Mason - A Template system for us Perl programmersJerome Eteve
 
Apostrophe
ApostropheApostrophe
Apostrophetompunk
 

Was ist angesagt? (20)

Mojolicious
MojoliciousMojolicious
Mojolicious
 
Date difference[1]
Date difference[1]Date difference[1]
Date difference[1]
 
Views notwithstanding
Views notwithstandingViews notwithstanding
Views notwithstanding
 
Late South Amboy Man Honored at Memorial (The Suburban)
Late South Amboy Man Honored at Memorial (The Suburban)Late South Amboy Man Honored at Memorial (The Suburban)
Late South Amboy Man Honored at Memorial (The Suburban)
 
Using Geeklog as a Web Application Framework
Using Geeklog as a Web Application FrameworkUsing Geeklog as a Web Application Framework
Using Geeklog as a Web Application Framework
 
Web Scraping
Web ScrapingWeb Scraping
Web Scraping
 
Seasion5
Seasion5Seasion5
Seasion5
 
Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2
 
South Amboy Lays Out Plans for 2009 (The Suburban)
South Amboy Lays Out Plans for 2009 (The Suburban)South Amboy Lays Out Plans for 2009 (The Suburban)
South Amboy Lays Out Plans for 2009 (The Suburban)
 
TwitterKitではじめる OAuthスピードクッキング
TwitterKitではじめる OAuthスピードクッキングTwitterKitではじめる OAuthスピードクッキング
TwitterKitではじめる OAuthスピードクッキング
 
Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2
 
Merb Router
Merb RouterMerb Router
Merb Router
 
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel16.mysql stored procedures in laravel
16.mysql stored procedures in laravel
 
2008-12-04 - Roller Rink Marks 50 Years
2008-12-04 - Roller Rink Marks 50 Years2008-12-04 - Roller Rink Marks 50 Years
2008-12-04 - Roller Rink Marks 50 Years
 
zthere construction
zthere constructionzthere construction
zthere construction
 
English
EnglishEnglish
English
 
Joomla! Day UK 2009 .htaccess
Joomla! Day UK 2009 .htaccessJoomla! Day UK 2009 .htaccess
Joomla! Day UK 2009 .htaccess
 
Mason - A Template system for us Perl programmers
Mason - A Template system for us Perl programmersMason - A Template system for us Perl programmers
Mason - A Template system for us Perl programmers
 
Silex Cheat Sheet
Silex Cheat SheetSilex Cheat Sheet
Silex Cheat Sheet
 
Apostrophe
ApostropheApostrophe
Apostrophe
 

Andere mochten auch

Andere mochten auch (16)

Spring Lab
Spring LabSpring Lab
Spring Lab
 
Mobile Resources
Mobile ResourcesMobile Resources
Mobile Resources
 
After Effect Lab
After Effect LabAfter Effect Lab
After Effect Lab
 
Android.AntiSpam Lab
Android.AntiSpam LabAndroid.AntiSpam Lab
Android.AntiSpam Lab
 
Design Collections
Design CollectionsDesign Collections
Design Collections
 
Android Lab
Android LabAndroid Lab
Android Lab
 
Laravel Lab
Laravel LabLaravel Lab
Laravel Lab
 
Ladou Corporate Presentation
Ladou Corporate PresentationLadou Corporate Presentation
Ladou Corporate Presentation
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Qualification - Diploma - SPILLAY
Qualification - Diploma - SPILLAYQualification - Diploma - SPILLAY
Qualification - Diploma - SPILLAY
 
Régimen Académico Primaria
Régimen Académico PrimariaRégimen Académico Primaria
Régimen Académico Primaria
 
EAM Solution brochure _English_7070
EAM Solution brochure _English_7070EAM Solution brochure _English_7070
EAM Solution brochure _English_7070
 
NSP防災の日行動委員会
NSP防災の日行動委員会NSP防災の日行動委員会
NSP防災の日行動委員会
 
Su dung tieng anh va cac khau ngu
Su dung tieng anh va cac khau nguSu dung tieng anh va cac khau ngu
Su dung tieng anh va cac khau ngu
 
Passarelli Bachelor Degree
Passarelli Bachelor DegreePassarelli Bachelor Degree
Passarelli Bachelor Degree
 
Lebanon roofing 888 778 0212
Lebanon roofing  888 778 0212Lebanon roofing  888 778 0212
Lebanon roofing 888 778 0212
 

Ähnlich wie Build a Zend CMS with MVC

CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
A multi submission importer for easyform
A multi submission importer for easyformA multi submission importer for easyform
A multi submission importer for easyformAnnette Lewis
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolGordon Forsythe
 
WordPress customizer for themes and more
WordPress customizer for themes and moreWordPress customizer for themes and more
WordPress customizer for themes and moreSantosh Kunwar
 
Sahana Eden - Introduction to the Code
Sahana Eden - Introduction to the CodeSahana Eden - Introduction to the Code
Sahana Eden - Introduction to the CodeAidIQ
 
Formatting With PowerShell
Formatting With PowerShell Formatting With PowerShell
Formatting With PowerShell Thomas Lee
 
Meteor + Ionic Introduction
Meteor + Ionic IntroductionMeteor + Ionic Introduction
Meteor + Ionic IntroductionLearningTech
 
Desenvolvimento web usando django
Desenvolvimento web usando djangoDesenvolvimento web usando django
Desenvolvimento web usando djangoyurimalheiros
 
CMake Tutorial
CMake TutorialCMake Tutorial
CMake TutorialFu Haiping
 
Introduction to Mangento
Introduction to Mangento Introduction to Mangento
Introduction to Mangento Ravi Mehrotra
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the FinishYehuda Katz
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overviewYehuda Katz
 

Ähnlich wie Build a Zend CMS with MVC (20)

Zend framework
Zend frameworkZend framework
Zend framework
 
Django crush course
Django crush course Django crush course
Django crush course
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
A multi submission importer for easyform
A multi submission importer for easyformA multi submission importer for easyform
A multi submission importer for easyform
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_Tool
 
WordPress customizer for themes and more
WordPress customizer for themes and moreWordPress customizer for themes and more
WordPress customizer for themes and more
 
Sahana Eden - Introduction to the Code
Sahana Eden - Introduction to the CodeSahana Eden - Introduction to the Code
Sahana Eden - Introduction to the Code
 
Formatting With PowerShell
Formatting With PowerShell Formatting With PowerShell
Formatting With PowerShell
 
Django
DjangoDjango
Django
 
Meteor + Ionic Introduction
Meteor + Ionic IntroductionMeteor + Ionic Introduction
Meteor + Ionic Introduction
 
Theme customization
Theme customizationTheme customization
Theme customization
 
Create Components in TomatoCMS
Create Components in TomatoCMSCreate Components in TomatoCMS
Create Components in TomatoCMS
 
Desenvolvimento web usando django
Desenvolvimento web usando djangoDesenvolvimento web usando django
Desenvolvimento web usando django
 
CMake Tutorial
CMake TutorialCMake Tutorial
CMake Tutorial
 
Mangento
MangentoMangento
Mangento
 
Introduction to Mangento
Introduction to Mangento Introduction to Mangento
Introduction to Mangento
 
Rails 3: Dashing to the Finish
Rails 3: Dashing to the FinishRails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
 
Rails::Engine
Rails::EngineRails::Engine
Rails::Engine
 
Redmine Betabeers SVQ
Redmine Betabeers SVQRedmine Betabeers SVQ
Redmine Betabeers SVQ
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 

Kürzlich hochgeladen

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 

Kürzlich hochgeladen (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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.
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 

Build a Zend CMS with MVC

  • 2. Features - Purpose: An open source Zend CMS - GUI: Bootstrap + jQuery + Dojo - Technology: Zend 2 + Node.js + NoSQL
  • 3. Modules - Content: + News, Media (Photo-Video|Infographic-Mindmap), Slide + Products-Cart, Vote-Survey-Chat, Form+App - Channel: + Web, Tablet, Mobile, Email, SMS, Print
  • 4. Design - Logo & Icon - Color scheme & Pattern - Typography - Elements
  • 8. Installation - Download Zend Server Community Edition (include Zend Framework 2.0) (http://framework.zend.com/downloads/latest)
  • 9. Start Zend Server - Go to http://localhost:10081/ZendServer
  • 10. Generate a Trial License for Zend Server - Go to http://www.zend.com/en/products/server/license
  • 11. Config Zend Application - Download Zend Skeleton Application (https://github. com/zendframework/ZendSkeletonApplication)
  • 13. Config Windows Host - Go to: C:WindowsSystem32driversetchosts
  • 14. Config Zend Server Host - Go to: C:Program FilesZendZendServeretcsites.d - Make host file: 'vhost_zendcms.com.conf' - Restart Zend Server
  • 15. Start ZF2 Skeleton Application - Go to: http://zendcms.com
  • 16. Config Zend Module - Download Zend Skeleton Module (https://github. com/zendframework/ZendSkeletonModule)
  • 17. Add Skeleton Module - Go to: <Source Path>zendcmsmodule - Extract to: 'ZendSkeletonModule'
  • 18. Config application.config - Go to: <Source Path>zendcmsconfig - Edit file: 'application.config.php'
  • 19. Config module.config - Go to: <Source Path>zendcmsmoduleZendSkeletonModuleconfig - Edit file: 'module.config.php'
  • 20. Start Skeleton Module - Go to: http://zendcms.com/skeleton
  • 21. Zend MVC - Programmer’s Reference Guide of Zend Framework 2: http://framework.zend.com/manual/2. 0/en/index.html#zendframeworkreference
  • 24. Describe Album Module - The application that we are going to build is a simple inventory system to display which albums we own. The main page will list our collection and allow us to add, edit and delete CDs. Page Description List of albums This will display the list of albums and provide links to edit and delete them. Also, a link to enable adding new albums will be provided. Add new album This page will provide a form for adding a new album. Edit album This page will provide a form for editing an album. Delete album This page will confirm that we want to delete an album and then delete it.
  • 25. Create directories - Creating following directories.
  • 26. Create Module.php - Create 'Module.php' in the Album module.
  • 27. Configuration - Create a file 'module.config.php' under <Source Path>zendcmsmoduleAlbumconfig
  • 28. Config application.config - Go to: <Source Path>zendcmsconfig - Edit file: 'application.config.php'
  • 29. Routing and controllers - As we have four pages that all apply to albums, we will group them in a single controller AlbumController within our Album module as four actions Page Controller Action Home AlbumController index Add new album AlbumController add Edit album AlbumController edit Delete album AlbumController delete
  • 30. Add Router - Modify 'module. config.php' under <Source Path>zendcmsmodul eAlbumconfig
  • 31. Create the Controller - Create controller class 'AlbumController.php' under <Source Path>moduleAlbumsrcAlbumController
  • 32. DB Schema - Create SQL statements to create the album table.
  • 33. Create the Model - Create model class 'Album.php' under <Source Path>moduleAlbumsrcAlbumModel
  • 34. Create the Model Table - Create model class 'AlbumTable.php' under <Source Path>moduleAlbumsrcAlbu mModel
  • 35. Using ServiceManager to configure the table gateway and inject into the AlbumTable - Create 'Module.php' in the Album module.
  • 36. Config DB Driver - Modify 'global.php' under <Source Path>configautoload
  • 37. Config DB Credentials - Modify 'local.php' under <Source Path>configautoload
  • 38. Create the View - Create view 'index.phtml' under <Source Path>moduleAlbumviewalbumalbum
  • 39. Open Album - Go to: http://zendcms.com/album
  • 40. Forms and Actions - Add album - Form - Create view 'AlbumForm.php' under <Source Path>moduleAlbumsrcAlbumForm
  • 41. Forms and Actions - Add album - Model - Modify model class 'Album.php' under <Source Path>moduleAlbumsrcAlbumM odel
  • 42. Forms and Actions - Add album - Controller - Modify controller class 'AlbumController.php' under <Source Path>moduleAlbumsrcAlbumController
  • 43. Forms and Actions - Add album - View - Create view 'add.phtml' under <Source Path>moduleAlbumviewalbumalbum
  • 44. Forms and Actions - Add album - Open - Go to: http://zendcms.com/album/add
  • 45. Forms and Actions - Edit album - Controller - Modify controller class 'AlbumController.php' under <Source Path>moduleAlbumsrcAlbumC ontroller
  • 46. Forms and Actions - Edit album - Model - Modify model class 'Album.php' under <Source Path>moduleAlbumsrcAlbumModel
  • 47. Forms and Actions - Edit album - View - Create view 'edit.phtml' under <Source Path>moduleAlbumviewalbumalbum
  • 48. Forms and Actions - Delete album - Controller - Modify controller class 'AlbumController.php' under <Source Path>moduleAlbumsrcAlbumC ontroller
  • 49. Forms and Actions - Edit album - View - Create view 'delete.phtml' under <Source Path>moduleAlbumviewalbumalbum
  • 51. Zfc [Base.User.Acl] - Download (https://github.com/ZF-Commons/ZfcUser) (https://github.com/ZF-Commons/ZfcBase) (https://github.com/bjyoungblood/BjyAuthorize)
  • 52. Add ZfcBase, ZfcUser, BjyAuthorize - Go to: <Source Path>zendcmsvendor - Extract to: 'ZfcUser', 'ZfcBase', 'BjyAuthorize'
  • 53. Config application.config - Go to: <Source Path>zendcmsconfig - Edit file: 'application.config.php'
  • 54. Make database.local - Go to: <Source Path>zendcmsconfigautoload - Create file: 'database.local.php'
  • 55. Start url User - Go to: http://zendcms.com/user/login
  • 56. DB List Star: 1) User (u) 2) Tag (t): Page, Menu, Category 3) Post (p): Article, Products, Banner 4) Meta (m): Media 5) Option (o): Configuration
  • 57. Table List 1) u: uId, uName, uPass, uEmail, uDesc 2) t: tId, tName, tDesc 3) p: pId, uId, pTitle, pContent 4) m: mId, pId, mKey, mValue 5) o: oId, oKey, oValue
  • 58. 1) User (u) CREATE TABLE `user` ( `uId` INT NOT NULL AUTO_INCREMENT , `uName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `uPass` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `uEmail` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `uDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY ( `uId` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 59. 2) Tag (t) CREATE TABLE `tag` ( `tId` INT NOT NULL AUTO_INCREMENT , `tName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `tDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY ( `tId` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 60. 3) Post (p) CREATE TABLE `post` ( `pId` INT NOT NULL AUTO_INCREMENT , `uId` INT NOT NULL , `pTitle` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `pContent` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY ( `pId` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 61. 4) Meta (m) CREATE TABLE `meta` ( `mId` INT NOT NULL AUTO_INCREMENT , `pId` INT NOT NULL , `mKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `mValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `mId` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 62. 5) Option (o) CREATE TABLE `option` ( `oId` INT NOT NULL AUTO_INCREMENT , `oKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `oValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `oId` ) ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 63. Login
  • 64. Back-end I) User Manager (Permission) II) Tag Manager (Grid hierachy) III) Layout Manager (Row added elements) Star: 1) Header, 2) Content, 3) Footer, 4) Top, 5) Bottom IV) Media Manager V) Option Manager Pyramid: Navigation (Circle -> Menu) -> Datatable (Search-Filter, Action,Grid-Edit) -> Form (Main Input,Desc Grid) + Custom
  • 65. Github - Go to: https://github.com/leonguyen/zendcms