SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

Destaque (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
 

Semelhante a Zend Lab

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
 

Semelhante a Zend Lab (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
 
Introduction to Mangento
Introduction to Mangento Introduction to Mangento
Introduction to Mangento
 
Mangento
MangentoMangento
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
 

Último

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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, ...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
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 DiscoveryTrustArc
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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 WoodJuan lago vázquez
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Zend Lab

  • 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