SlideShare uma empresa Scribd logo
1 de 4
Development of Multiplatform CMS System with
              Zend Framework

                            S. Vuković*, M. Löberbauer**,Z. Čović *and M. Ivković***
               *Subotica Tech – College of Applied Sciences/Department of Informatics, Subotica, Serbia
                       ** Institute
                                  for System Software, Johannes Kepler University, Linz, Austria
       ***University of Novi Sad, Technical Faculty “Mihajlo Pupin”/Department of Informatics, Zrenjanin, Serbia

               sinisa@vukovic.co, loeberbauer@ase.jku.at, chole@vts.su.ac.rs, misa.ivkovic@gmail.com


Abstract –This paper presents the use of the Zend              familiar with the rules and conventions of the used
framework in the realization of a CMS system that can          framework.
generate multiplatform web content in a responsive web
design approach.Use of a framework can help developers         A. Zend Framework
tocreate better web applications, which are easier to              Zend Framework is an open source framework for the
maintain, faster to build, multifunctional and multiplatform   development of web applications and it is based on the
based. The Zend framework provides an implementation of        PHP programming language. It contains a group of tools
the MVC pattern.                                               for design and implementation. Each tool contains built-in
                                                               functions for input and validation of data, caching,
  I.    INTRODUCTION                                           security and so forth. Unlike other frameworks, Zend uses
    The emergence of the Internet has led to changes in        a so-called "Looselycoupled" architecture. This means that
many aspects of human activity. The biggest impact the         although the framework includes a number of
Internet has, is the development of the global business        components, these components are the most independent
environment. The second impact is happing right now,           of each other and have a minimum interconnection.
and that is the emergence of smart phones. Today,
                                                                   Zend Framework also provides a complete
increasing numbers of people access the Internet via their
                                                               implementation of the Model-View-Controller (MVC)
mobile device instead of a PC. The number of mobile
                                                               pattern. MVC is a widely recognized design pattern that
devices in use has already surpassed the number of
                                                               separates our database and business logic from the
personal computers. It is estimated that the difference
                                                               presentation layer (in this case, the (X)HTML). Separation
between these two numbers will only increase in the years
                                                               of presentation and logic aids in maintainability, by
to come [1]. When programmers are building web
                                                               producing clean and understandable code. Furthermore, it
applications they have to think not only about user
                                                               means that the developer can update the layout and design
experience on desktop computers but also have to think
                                                               of a site without having to worry about wading through
about user experience on tablet and mobile devices.
                                                               PHP script tags. The Zend controller is an implementation
Because of the great penetration of smart handheld
                                                               of the MVC design pattern (Figure 1). When the browser
devices it is necessary to build multiplatform and
                                                               sends a request, the dispatcher searches the according
multifunctional web applications.
                                                               controller to handle the request.
 II.    FRAMEWORK                                                  Software design patterns are a standard solution to
    Using frameworks in the world of software                  common problems. This means that although
development has long been known. However, in the world         implementations and solutions are different, the concept
of web development it is new. A software framework is a        of problem solving is the same.
set of libraries, and an execution environment that allows
programmers to develop web applications faster and more
organized. The main idea of the framework is observed
after the use of frequently used functions and basic
structures upon which programmers can develop their
applications. Most experienced developers have their own
libraries, which are used on a project basis for faster
growth. However, the development of web applications
based on open-source frameworks has its apparent
advantages. In addition, an open-source framework is
more reliable, because it is tested and used by many
programmers. The biggest advantage of using frameworks
is that all developers in a team working on a project
should follow the same rules and conventions when               Figure 1. Design of theMVC pattern in Zend, which shows the three
developing web applications. This allows easy integration                        main parts of a web application
of new developers to work on the project if they are
B. Models                                                       A. Responsive design in action
   Almost every application has its own database,                   The idea is to first code the Default layout (width of
regardless of whether it is something as simple as a            992px), and then use CSS3 media queries to code several
username and password or as complex as an online shop.          child layouts: 768px, 480px and 320px width. The Default
In MVC, the data are layered and presented with one or          layout will be served to any browsers that do not support
more models. The models provide tools to download,              media queries, whereas the child layouts will be served, as
read, delete, and in general manipulate data. This layer is     appropriate, to browsers that do. They will also inherit all
completely ignorant of how data are displayed to the user.      styles given to the Default layout, so coding them is very
It provides an independent logical interface for the            fast. To break it down, recent versions of Firefox,
manipulation of application data.                               Chrome, Safari, Opera, Nokia Webkit, WebOS,
                                                                Blackberry OS, as well as Internet Explorer 9, Android
C. View                                                         Webkit, and Mobile Safari (all iPhones, iPads, and iPod
    The view is the logical display of an application. For      Touches) will use the layout most appropriate to them.
web applications it is mainly HTML code that makes a            Internet Explorer 6–8 and most old mobile devices will
web application, but other types of code can be included,       only use the Default layout.
for example XML, which is used for RSS feeds. Also, if
the site allows data export to CSV format, the generation          The goal is to make building websites with multiple
of such a file would be the job of the browser. Viewers are     layouts efficient, and to make the layouts feel consistent.
also known as the templates because they allow displaying       Since every layout is based on the same grid, elements
the data generated in the model. It is also common that the     used in one layout can often be reused in the others
more complex templates transfer in the so-called                without changing them. For example, simply adjusting the
ViewHelper. They help for better exploitation of code.          width or font-size of an element in one layout is often
                                                                enough to make it work in another. And even if more
D. Controller                                                   changes are re-quired, the common baseline grid and type
   The controller is the code that makes the rest of the        presets will make the element fit in. Figure 2 shows the
application. For web applications, the controller is the        main page of the CMS implementation, which uses this
one who decides what will be executed based on the              approach.
user‟s current request. For Zend applications, the
controller is based on a design pattern known as Front
Controller     that     uses     a     handler    called
Zend_Controller_Frontas a command for action
(Zend_Controller_Action) working in tandem. The front
controller accepts all server requests and runs the
appropriate action. This process is known as the routing
and dispatching.
 III.   RESPONSIVE DESIGN
    Most often we have seen that there is no optimization
and adaptation of existing sites or new sites for mobile
users. The web content might be too wide to fit the screen
of mobile device – user equipment. Often, web pages that
have been initially designed for desktop computers are too
encumbered with content so they are practically unsuitable
for users accessing them via mobile devices [1].
    A solution for this problem is to use some kind of
detection and adaptation. In the development of this CMS
                                                                          Figure 2. Main page shown on mobile device
system a responsive design approach is used. Responsive
web design is the approach that suggests that design and
                                                                 IV.   IMPLEMENTATION OF CMS SYSTEM
development should respond to the user‟s behavior and
environment based on screen size, platform and                      The reason why PHP is growing so rapidly as a server-
orientation. The practice consists of a mix of flexible grids   side scripting language is that it is easy to learn. Many
and layouts, images and an intelligent use of CSS media         functions are included without needing any sort of
queries. As a user switches from his laptop to his iPad, the    namespace importing, and programmers don‟t even have
website should automatically switch to accommodate for          to write object oriented code if they don‟t want to.
resolution, image size and scripting abilities. In other        Variables are weakly typed and the syntax is fairly
words, the website should have the technology to                familiar. But PHP‟s ease of use is also its downfall.
automatically respond to the user‟s preferences [2]. This       Because there are fewer restrictions on the structure of the
approach could be used if developers are confident that         written code, it‟s much easier to write bad code.
the access devices fully support the filtering of media and         PHP frameworks like CakePHP, CodeIgniter and the
when a mobile website is dedicated to a specific group of       Zend Framework provide a solid structure for code whilst
users who have devices with the possibility of filtering        also offering some extra functionality that would be much
media [1].                                                      harder to replicate on its own. It‟s important to note that
the frameworks mentioned follow the MVC pattern.
Making multiplatform based sites in this way is easier.
    In the realization of thisCMS system the following
technologies are used: HTML5, CSS3, JavaScript, AJAX,
jQuery, PHP and MySQL database.
    This CMS system is divided into front-end
development (public) and back-end development
(administration). The public part is more focused on
interactivity, design and optimization for mobile devices.
The public part consists of amain page, ablog section,
agallery, and pages. The main page or index page is the
place where we want to segregate important information
or parts of our site. The blog section consists of articles,
which can be filtered by categories or tags. A single
selected article contains headline, date created, category
that belongs to, body text, social widgets, tags, related
posts and facebook comment. The gallery consists of                            Figure 5. Section for adding posts
albums. While pages are used for creating independent
pages like „about us‟, „contact‟ etc.




              Figure 3. Index page in public section                         Figure 6. Menu management section

    The administration part is protected and only two               The gallery section consists of albums and images.
types of users can access it – administrators and writers.      Uploading multiple images is done with the Uploadify
Depending on the role some parts of the administrative          script, which uses a combination of flash and javascript to
area are not accessible. This panel consists of dashboard,      upload images; once an image is uploaded it is passed to
users, categories, posts, pages, menusection, gallery, and      PHP to do the rest.
settingspanel.
   For creating a post we first have to create a category.
Ordering categories is eased by drag’n’drop support.




      Figure 4. Drag and drop support for ordering categories
                                                                          Figure 7. Uploaded images in selected album
    A blog post consists of a headline, a slug (friendly
URL), a category list, a headline image, the body text, and      V.    CONCLUSION
tags. Pages are similar to blog post, except theydon‟t need         Developing web applications with frameworks reduces
a headline image and tags.                                      development time and increases maintainability. Using
                                                                responsive design increases the support for multiplatform
   Menu management gives dynamism to our system.
                                                                with a minimum effort and with only a single design. The
With this, we can easily maintain our main menu.
                                                                main disadvantage of optimization based on CSS media
                                                                queries is that only a small number of old devices support
                                                                it.
REFERENCES                                  [2]   http://coding.smashingmagazine.com/2011/01/12/guidelines-for-
                                                                            responsive-web-design/
[1]   Čović, Z., Ivković, M., Radulović, B., „Mobile Detection
                                                                      [3]   Vikram, V., „Zend framework: a beginner‟s guide”, 2010.
      Algorithm in Mobile Device Detection and Content Adaptation”,
      Acta Polytechnica Hungarica (2012). Volume 9, Number 2, ISSN:
      1785-8860,pp. 95-113

Mais conteúdo relacionado

Mais procurados

Developing for Windows Phone 8 and Windows 8
Developing for Windows Phone 8 and Windows 8Developing for Windows Phone 8 and Windows 8
Developing for Windows Phone 8 and Windows 8
Dave Bost
 
Sybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wpSybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wp
Prabhakar Manthena
 
The Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevThe Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App Dev
IBM Connections Developers
 

Mais procurados (19)

Sencha Web Applications Come of Age
Sencha Web Applications Come of AgeSencha Web Applications Come of Age
Sencha Web Applications Come of Age
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to Darwino
 
Developing for Windows Phone 8 and Windows 8
Developing for Windows Phone 8 and Windows 8Developing for Windows Phone 8 and Windows 8
Developing for Windows Phone 8 and Windows 8
 
Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021
 
Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pagesConnect 2014 - AD202 -  Get the best out of bootstrap with bootstrap4 x-pages
Connect 2014 - AD202 - Get the best out of bootstrap with bootstrap4 x-pages
 
Trends in Technology
Trends in TechnologyTrends in Technology
Trends in Technology
 
Sybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wpSybase sup hybrid_web_container_article_wp
Sybase sup hybrid_web_container_article_wp
 
AngularJS - A Powerful Framework For Web Applications
AngularJS - A Powerful Framework For Web ApplicationsAngularJS - A Powerful Framework For Web Applications
AngularJS - A Powerful Framework For Web Applications
 
Jd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abcJd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abc
 
Drona - A Mobile Authoring Tool from Deltecs InfoTech
Drona - A Mobile Authoring Tool from Deltecs InfoTechDrona - A Mobile Authoring Tool from Deltecs InfoTech
Drona - A Mobile Authoring Tool from Deltecs InfoTech
 
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
 
IBM Integeration Bus(IIB) Fundamentals
IBM Integeration Bus(IIB) FundamentalsIBM Integeration Bus(IIB) Fundamentals
IBM Integeration Bus(IIB) Fundamentals
 
CV
CVCV
CV
 
Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle Platform
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 
The Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevThe Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App Dev
 
AD301: What's New in the IBM Social Business Toolkit
AD301: What's New in the IBM Social Business ToolkitAD301: What's New in the IBM Social Business Toolkit
AD301: What's New in the IBM Social Business Toolkit
 
IBM Connect 2014 - BP207 - Don’t Reinvent the Wheel - (Re)use Open Source Sof...
IBM Connect 2014 - BP207 - Don’t Reinvent the Wheel - (Re)use Open Source Sof...IBM Connect 2014 - BP207 - Don’t Reinvent the Wheel - (Re)use Open Source Sof...
IBM Connect 2014 - BP207 - Don’t Reinvent the Wheel - (Re)use Open Source Sof...
 
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
 

Semelhante a Development of Multiplatform CMS System with Zend Framework

A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdf
lubnayasminsebl
 

Semelhante a Development of Multiplatform CMS System with Zend Framework (20)

Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023Important Backend Frameworks To Remember For Businesses In 2023
Important Backend Frameworks To Remember For Businesses In 2023
 
MVC & CodeIgniter
MVC & CodeIgniterMVC & CodeIgniter
MVC & CodeIgniter
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdf
 
Top 11 Front-End Web Development Tools To Consider in 2020
 Top 11 Front-End Web Development Tools To Consider in 2020 Top 11 Front-End Web Development Tools To Consider in 2020
Top 11 Front-End Web Development Tools To Consider in 2020
 
Top 10 HTML5 frameworks for effective development in 2016
Top 10 HTML5 frameworks for effective development in 2016Top 10 HTML5 frameworks for effective development in 2016
Top 10 HTML5 frameworks for effective development in 2016
 
Full Stack Development
Full Stack DevelopmentFull Stack Development
Full Stack Development
 
CMS And The Evolution of Contemporary Web Design
CMS And The Evolution of Contemporary Web DesignCMS And The Evolution of Contemporary Web Design
CMS And The Evolution of Contemporary Web Design
 
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
 
Built Cross-Platform Application with .NET Core Development.pdf
Built Cross-Platform Application with .NET Core Development.pdfBuilt Cross-Platform Application with .NET Core Development.pdf
Built Cross-Platform Application with .NET Core Development.pdf
 
Top 12 Front End Technologies to Use In 2024.pdf
Top 12 Front End Technologies to Use In 2024.pdfTop 12 Front End Technologies to Use In 2024.pdf
Top 12 Front End Technologies to Use In 2024.pdf
 
Top 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptxTop 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptx
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application Architecture
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
 
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdfAsp Net Vs Vue JS Which One You Should Choose for Development.pdf
Asp Net Vs Vue JS Which One You Should Choose for Development.pdf
 
Nodejs framework for app development.pdf
Nodejs framework for app development.pdfNodejs framework for app development.pdf
Nodejs framework for app development.pdf
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development Frameworks
 
Top 12 Front End Technologies to Use In 2023.pdf
Top 12 Front End Technologies to Use In 2023.pdfTop 12 Front End Technologies to Use In 2023.pdf
Top 12 Front End Technologies to Use In 2023.pdf
 
Node.js Development Tools
 Node.js Development Tools Node.js Development Tools
Node.js Development Tools
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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 - 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...
 
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
 

Development of Multiplatform CMS System with Zend Framework

  • 1. Development of Multiplatform CMS System with Zend Framework S. Vuković*, M. Löberbauer**,Z. Čović *and M. Ivković*** *Subotica Tech – College of Applied Sciences/Department of Informatics, Subotica, Serbia ** Institute for System Software, Johannes Kepler University, Linz, Austria ***University of Novi Sad, Technical Faculty “Mihajlo Pupin”/Department of Informatics, Zrenjanin, Serbia sinisa@vukovic.co, loeberbauer@ase.jku.at, chole@vts.su.ac.rs, misa.ivkovic@gmail.com Abstract –This paper presents the use of the Zend familiar with the rules and conventions of the used framework in the realization of a CMS system that can framework. generate multiplatform web content in a responsive web design approach.Use of a framework can help developers A. Zend Framework tocreate better web applications, which are easier to Zend Framework is an open source framework for the maintain, faster to build, multifunctional and multiplatform development of web applications and it is based on the based. The Zend framework provides an implementation of PHP programming language. It contains a group of tools the MVC pattern. for design and implementation. Each tool contains built-in functions for input and validation of data, caching, I. INTRODUCTION security and so forth. Unlike other frameworks, Zend uses The emergence of the Internet has led to changes in a so-called "Looselycoupled" architecture. This means that many aspects of human activity. The biggest impact the although the framework includes a number of Internet has, is the development of the global business components, these components are the most independent environment. The second impact is happing right now, of each other and have a minimum interconnection. and that is the emergence of smart phones. Today, Zend Framework also provides a complete increasing numbers of people access the Internet via their implementation of the Model-View-Controller (MVC) mobile device instead of a PC. The number of mobile pattern. MVC is a widely recognized design pattern that devices in use has already surpassed the number of separates our database and business logic from the personal computers. It is estimated that the difference presentation layer (in this case, the (X)HTML). Separation between these two numbers will only increase in the years of presentation and logic aids in maintainability, by to come [1]. When programmers are building web producing clean and understandable code. Furthermore, it applications they have to think not only about user means that the developer can update the layout and design experience on desktop computers but also have to think of a site without having to worry about wading through about user experience on tablet and mobile devices. PHP script tags. The Zend controller is an implementation Because of the great penetration of smart handheld of the MVC design pattern (Figure 1). When the browser devices it is necessary to build multiplatform and sends a request, the dispatcher searches the according multifunctional web applications. controller to handle the request. II. FRAMEWORK Software design patterns are a standard solution to Using frameworks in the world of software common problems. This means that although development has long been known. However, in the world implementations and solutions are different, the concept of web development it is new. A software framework is a of problem solving is the same. set of libraries, and an execution environment that allows programmers to develop web applications faster and more organized. The main idea of the framework is observed after the use of frequently used functions and basic structures upon which programmers can develop their applications. Most experienced developers have their own libraries, which are used on a project basis for faster growth. However, the development of web applications based on open-source frameworks has its apparent advantages. In addition, an open-source framework is more reliable, because it is tested and used by many programmers. The biggest advantage of using frameworks is that all developers in a team working on a project should follow the same rules and conventions when Figure 1. Design of theMVC pattern in Zend, which shows the three developing web applications. This allows easy integration main parts of a web application of new developers to work on the project if they are
  • 2. B. Models A. Responsive design in action Almost every application has its own database, The idea is to first code the Default layout (width of regardless of whether it is something as simple as a 992px), and then use CSS3 media queries to code several username and password or as complex as an online shop. child layouts: 768px, 480px and 320px width. The Default In MVC, the data are layered and presented with one or layout will be served to any browsers that do not support more models. The models provide tools to download, media queries, whereas the child layouts will be served, as read, delete, and in general manipulate data. This layer is appropriate, to browsers that do. They will also inherit all completely ignorant of how data are displayed to the user. styles given to the Default layout, so coding them is very It provides an independent logical interface for the fast. To break it down, recent versions of Firefox, manipulation of application data. Chrome, Safari, Opera, Nokia Webkit, WebOS, Blackberry OS, as well as Internet Explorer 9, Android C. View Webkit, and Mobile Safari (all iPhones, iPads, and iPod The view is the logical display of an application. For Touches) will use the layout most appropriate to them. web applications it is mainly HTML code that makes a Internet Explorer 6–8 and most old mobile devices will web application, but other types of code can be included, only use the Default layout. for example XML, which is used for RSS feeds. Also, if the site allows data export to CSV format, the generation The goal is to make building websites with multiple of such a file would be the job of the browser. Viewers are layouts efficient, and to make the layouts feel consistent. also known as the templates because they allow displaying Since every layout is based on the same grid, elements the data generated in the model. It is also common that the used in one layout can often be reused in the others more complex templates transfer in the so-called without changing them. For example, simply adjusting the ViewHelper. They help for better exploitation of code. width or font-size of an element in one layout is often enough to make it work in another. And even if more D. Controller changes are re-quired, the common baseline grid and type The controller is the code that makes the rest of the presets will make the element fit in. Figure 2 shows the application. For web applications, the controller is the main page of the CMS implementation, which uses this one who decides what will be executed based on the approach. user‟s current request. For Zend applications, the controller is based on a design pattern known as Front Controller that uses a handler called Zend_Controller_Frontas a command for action (Zend_Controller_Action) working in tandem. The front controller accepts all server requests and runs the appropriate action. This process is known as the routing and dispatching. III. RESPONSIVE DESIGN Most often we have seen that there is no optimization and adaptation of existing sites or new sites for mobile users. The web content might be too wide to fit the screen of mobile device – user equipment. Often, web pages that have been initially designed for desktop computers are too encumbered with content so they are practically unsuitable for users accessing them via mobile devices [1]. A solution for this problem is to use some kind of detection and adaptation. In the development of this CMS Figure 2. Main page shown on mobile device system a responsive design approach is used. Responsive web design is the approach that suggests that design and IV. IMPLEMENTATION OF CMS SYSTEM development should respond to the user‟s behavior and environment based on screen size, platform and The reason why PHP is growing so rapidly as a server- orientation. The practice consists of a mix of flexible grids side scripting language is that it is easy to learn. Many and layouts, images and an intelligent use of CSS media functions are included without needing any sort of queries. As a user switches from his laptop to his iPad, the namespace importing, and programmers don‟t even have website should automatically switch to accommodate for to write object oriented code if they don‟t want to. resolution, image size and scripting abilities. In other Variables are weakly typed and the syntax is fairly words, the website should have the technology to familiar. But PHP‟s ease of use is also its downfall. automatically respond to the user‟s preferences [2]. This Because there are fewer restrictions on the structure of the approach could be used if developers are confident that written code, it‟s much easier to write bad code. the access devices fully support the filtering of media and PHP frameworks like CakePHP, CodeIgniter and the when a mobile website is dedicated to a specific group of Zend Framework provide a solid structure for code whilst users who have devices with the possibility of filtering also offering some extra functionality that would be much media [1]. harder to replicate on its own. It‟s important to note that
  • 3. the frameworks mentioned follow the MVC pattern. Making multiplatform based sites in this way is easier. In the realization of thisCMS system the following technologies are used: HTML5, CSS3, JavaScript, AJAX, jQuery, PHP and MySQL database. This CMS system is divided into front-end development (public) and back-end development (administration). The public part is more focused on interactivity, design and optimization for mobile devices. The public part consists of amain page, ablog section, agallery, and pages. The main page or index page is the place where we want to segregate important information or parts of our site. The blog section consists of articles, which can be filtered by categories or tags. A single selected article contains headline, date created, category that belongs to, body text, social widgets, tags, related posts and facebook comment. The gallery consists of Figure 5. Section for adding posts albums. While pages are used for creating independent pages like „about us‟, „contact‟ etc. Figure 3. Index page in public section Figure 6. Menu management section The administration part is protected and only two The gallery section consists of albums and images. types of users can access it – administrators and writers. Uploading multiple images is done with the Uploadify Depending on the role some parts of the administrative script, which uses a combination of flash and javascript to area are not accessible. This panel consists of dashboard, upload images; once an image is uploaded it is passed to users, categories, posts, pages, menusection, gallery, and PHP to do the rest. settingspanel. For creating a post we first have to create a category. Ordering categories is eased by drag’n’drop support. Figure 4. Drag and drop support for ordering categories Figure 7. Uploaded images in selected album A blog post consists of a headline, a slug (friendly URL), a category list, a headline image, the body text, and V. CONCLUSION tags. Pages are similar to blog post, except theydon‟t need Developing web applications with frameworks reduces a headline image and tags. development time and increases maintainability. Using responsive design increases the support for multiplatform Menu management gives dynamism to our system. with a minimum effort and with only a single design. The With this, we can easily maintain our main menu. main disadvantage of optimization based on CSS media queries is that only a small number of old devices support it.
  • 4. REFERENCES [2] http://coding.smashingmagazine.com/2011/01/12/guidelines-for- responsive-web-design/ [1] Čović, Z., Ivković, M., Radulović, B., „Mobile Detection [3] Vikram, V., „Zend framework: a beginner‟s guide”, 2010. Algorithm in Mobile Device Detection and Content Adaptation”, Acta Polytechnica Hungarica (2012). Volume 9, Number 2, ISSN: 1785-8860,pp. 95-113