Ruby and PHP Development: a Comparative Study of Development and Application Using Content Management Systems Refinerycms and Concrete5

Total Page:16

File Type:pdf, Size:1020Kb

Ruby and PHP Development: a Comparative Study of Development and Application Using Content Management Systems Refinerycms and Concrete5 Teknik och samhälle Datavetenskap Examensarbete 15 högskolepoäng, grundnivå Ruby and PHP Development: A Comparative study of Development and Application using Content Management Systems RefineryCMS and Concrete5 Ruby och PHP Utveckling: En jämförande studie av utveckling och applicering med content management systemen RefineryCMS och Concrete5 Melinda Dinh Examen: Kandidatexamen 180hp Handledare: Kristina von Hausswolff Huvudämne: Datavetenskap Andrabedömare: Naisan Farid Program: Data-telekom Datum för slutseminarie: 140827 ii Abstract With many options to choose from when designing and developing websites, it can be difficult for a beginner developer to know what to choose. This thesis compares how easy it is for a beginner to learn and use the two Content Management Systems (CMS) Concrete5 and RefineryCMS to build a web application. Concrete5 uses PHP and RefineryCMS uses Ruby and the ease of learning the basics of these programming languages is also discussed. To compare the two CMSs, different steps were documented and compared. The implementation was done on a MacBook Pro, OS X 10.9.2, late 2011 model. Relevant features were also compared according to the Authoring Tool Accessibility Guidelines 2.0. The results showed a significant difference between the two CMSs, even though both had their benefits and drawbacks. In conclusion, Concrete5 was better for building a basic website under the writer’s conditions, thanks to the many features, modules, packages, plugins and templates available, and because it required less time and effort to install. This conclusion is limited to the writer’s conditions and it is possible that RefineryCMS could have worked better than found, if the conditions had been different. iii iv Sammandrag Med flera alternativ att välja mellan för att designa och utveckla webbsidor kan det vara svårt för en nybörjarutvecklare att veta vad man ska välja. Detta examensarbete jämför hur enkelt det är för en nybörjare att lära sig och använda de två Content Management Systemen (CMS) Concrete5 och RefineryCMS för att bygga en webbapplikation. Concrete5 använder PHP och RefineryCMS använder Ruby och lättheten i att lära sig grunderna i dessa programmeringsspråk diskuteras också. För att jämföra dessa två CMS, dokumenterades olika steg. Implementationen utfördes på en MacBook Pro, OS X 10.9.2, sen 2011 modell. Relevanta delar av funktionaliteten jämfördes även med hjälp av Authoring Tool Accessibility Guidelines 2.0. Resultaten visade en signifikant skillnad mellan de två CMS:en, även om båda har sina för- och nackdelar. Sammanfattningsvis ansågs Concrete5 som det CMS:et med bättre aspekter för att bygga en enkel hemsida med de förutsättningar som fanns och tack vare de många funktioner det erbjöd användaren. RefineryCMS kanske kunde ha fungerat bättre om det var under andra förutsättningar, vilket inte kan dras som en slutsats i denna uppsats. v Acknowledgements I would like to thank Kristina von Hausswolff for her help and guidance throughout this thesis. I would also like to thank Kibria Ali who participated as co-observer in the observation sessions. vi Table of contents 1. INTRODUCTION .......................................................................................................................................... 1 1.1. BACKGROUND .............................................................................................................................................................. 1 1.2. THE QUESTION ............................................................................................................................................................ 2 1.3. PURPOSE ....................................................................................................................................................................... 2 1.4. LIMITATIONS ................................................................................................................................................................ 2 1.5. #GRATEFUL365 ......................................................................................................................................................... 3 2. THEORY ........................................................................................................................................................ 4 2.1. PHP ............................................................................................................................................................................... 4 2.2. RUBY ON RAILS ............................................................................................................................................................ 4 2.3. MVC CYCLE .................................................................................................................................................................. 5 2.4. CONTENT MANAGEMENT SYSTEMS .......................................................................................................................... 6 3. PRIOR WORK ............................................................................................................................................... 8 4. METHODS ..................................................................................................................................................... 9 4.1. CASE STUDIES .............................................................................................................................................................. 9 4.2. COMPARATIVE STUDIES .......................................................................................................................................... 10 4.3. AUTHORING TOOL ACCESSIBILITY GUIDELINES 2.0 ......................................................................................... 11 4.4. METHODS DISCUSSION AND CREDIBILITY ............................................................................................................ 11 5. RESULTS ..................................................................................................................................................... 12 5.1. DESIGN SPECIFICATION OF #GRATEFUL365 ...................................................................................................... 12 5.2. IMPLEMENTATION OF #GRATEFUL365 .............................................................................................................. 13 5.3. CASE 1 - CONCRETE5 .............................................................................................................................................. 13 5.4. CASE 2 - REFINERYCMS ......................................................................................................................................... 15 5.5. COMPARISON TABLE ................................................................................................................................................ 18 6. DISCUSSION ............................................................................................................................................... 22 7. CONCLUSION ............................................................................................................................................. 23 8. RECOMMENDATIONS FOR FUTURE WORK ..................................................................................... 24 vii viii List of figures Figure 1: The MVC cycle .............................................................................................................................................................................. 6 Figure 2: Concrete5 pre-content ........................................................................................................................................................... 14 Figure 3: Concrete5 editing and adding subpage ......................................................................................................................... 15 Figure 4: RefineryCMS changing sitename ...................................................................................................................................... 17 List of tables Table 1: Websites using PHP ..................................................................................................................................................................... 4 Table 2: Comparative table of Concrete5 and RefineryCMS .................................................................................................... 19 List of abbreviations AMP Apache MySQL PHP CMS Content Management System CoC Convention over Configuration DRY Don’t Repeat Yourself Full-stack Customizable on every layer Gem Extension for Ruby Hashtag Metadata tag Htaccess HyperText Access HTML Hypertext Markup Language IIS Internet Information Server JSON JavaScript Object Notation MAMP Mac Apache MySQL PHP MVC Model View Controller OAuth Authorization Framework Open-source Universal access and contribution in development projects PC Personal Computer PHP PHP: Hypertext Processor SEO Search Engine Optimization URL Uniform Resource Locators XML Extensible Markup Language ix 1. Introduction As usage of the Internet is increasing, so are the content management systems (CMS) for creating webpages. Today, there is a wide range of different CMSs to choose from, based on different kinds of frameworks, programming languages and purpose. A different approach to using a premade CMS is to create your own CMS, as Simpson (2005) pursued in his comparative study on a range
Recommended publications
  • Joomla Vs Drupal - Website Content Management Systems]
    [JOOMLA VS DRUPAL - WEBSITE CONTENT MANAGEMENT SYSTEMS] Joomla or Drupal? CMS’s are generally used to manage and control a large, dynamic collection of Web material (HTML documents and their associated images). And yes, they can take the web maintenance person out of the picture, as clients can update their own content, as and when required There are numerous Web CMS (Content Management Systems), and each one can ether fall into Open Source or proprietary. The ones that tend to stand out from the crowd, or should I say those that are more commonly used by small website design agencies are Word Press, Joomla and Drupal. So which one do you choose as a customer, or do you leave this to your web developer? Generally speaking, Joomla has a cleaner and smoother user interface; on the other hand Drupal is more flexible. Drupal and Joomla developers could argue all day,, so I’m going to go in as a bipartisan developer. • For starters both are easy to install and deploy, and many hosting companies have a one click install for these. • Both have plenty of modules and extensions you can use. • Joomla has a lighter learning curve than Drupal. • Joomla support SSL logins and SSL pages. Drupal not known to support it. • Server resources utilization is more compared to drupal © 2009 www.visualwebz.com Seattle Web Development Company [JOOMLA VS DRUPAL - WEBSITE CONTENT MANAGEMENT SYSTEMS] Summary of Joomla & Drupal Features • Limited technical knowledge need to get started. • Short learning curve • Cannot integrate other scripts etc. to your site • Generally you cannot create high-end sites, without additional investment of time.
    [Show full text]
  • Differential Fuzzing the Webassembly
    Master’s Programme in Security and Cloud Computing Differential Fuzzing the WebAssembly Master’s Thesis Gilang Mentari Hamidy MASTER’S THESIS Aalto University - EURECOM MASTER’STHESIS 2020 Differential Fuzzing the WebAssembly Fuzzing Différentiel le WebAssembly Gilang Mentari Hamidy This thesis is a public document and does not contain any confidential information. Cette thèse est un document public et ne contient aucun information confidentielle. Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Technology. Antibes, 27 July 2020 Supervisor: Prof. Davide Balzarotti, EURECOM Co-Supervisor: Prof. Jan-Erik Ekberg, Aalto University Copyright © 2020 Gilang Mentari Hamidy Aalto University - School of Science EURECOM Master’s Programme in Security and Cloud Computing Abstract Author Gilang Mentari Hamidy Title Differential Fuzzing the WebAssembly School School of Science Degree programme Master of Science Major Security and Cloud Computing (SECCLO) Code SCI3084 Supervisor Prof. Davide Balzarotti, EURECOM Prof. Jan-Erik Ekberg, Aalto University Level Master’s thesis Date 27 July 2020 Pages 133 Language English Abstract WebAssembly, colloquially known as Wasm, is a specification for an intermediate representation that is suitable for the web environment, particularly in the client-side. It provides a machine abstraction and hardware-agnostic instruction sets, where a high-level programming language can target the compilation to the Wasm instead of specific hardware architecture. The JavaScript engine implements the Wasm specification and recompiles the Wasm instruction to the target machine instruction where the program is executed. Technically, Wasm is similar to a popular virtual machine bytecode, such as Java Virtual Machine (JVM) or Microsoft Intermediate Language (MSIL).
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • The Joomla Brochure
    Joomla! The Flexible Platform Empowering Website Creators What is Joomla? Joomla! is an award-winning content management system (CMS) used to build beautiful web sites and powerful online applications. A global volunteer community of developers has been building and improving Joomla! since the first version was released in 2005. This immense effort has made Joomla! easy to use, stable and very secure. Joomla! is search engine and mobile friendly, multilingual, flexible and extensible. Offering unlimited design possibilities alongside industry leading security, Joomla! also has thousands of third party extensions and templates allowing further customization to meet specific needs. Best of all, Joomla! is an open source solution that is freely available to everyone. You can download Joomla! at downloads.joomla.org. A flexible system, easy to extend and customize Joomla! has thousands of verified third party extensions and high quality templates available, many of which are free. The layout and overrides system and built in extendable functions make it easy to create customized solutions. A wealth of free documentation and video training make learning Joomla! a breeze. Free forever open source software Joomla! is created, maintained and supported by a unique Volunteer Community who believe that it should be freely available to everyone, always. Joomla! is also surrounded by an extensive ecosystem of extension developers, designers and integrators. Search Engine Optimized out of the box Define your own MetaData and enjoy built in MicroData Support. Use the menu based work- flow to build your perfect URL structure. Super light core page weights and fast load times work alongside advanced caching capabilities to keep the engines happy and visitors engaged.
    [Show full text]
  • TEC-57 – Full Stack Ruby-On-Rails Web Developer Certificate Program with Externship
    Continuing Education 1717 S. Chestnut Ave. Fresno, CA 93702-4709 (800) 372-5505 https://ce.fresno.edu TEC-57 – Full Stack Ruby-on-Rails Web Developer Certificate Program with Externship Professional Education Course Syllabus Program includes National Certification & an Externship Opportunity Course Contact Hours: 42 The Full Stack Web Developer Profession Full stack developers are software or website programmers who combine the roles of front-end and back-end developers. Stack developer job is relatively new (just four years old). This role blends both front-end and back-end development since there is no clear borderline between the two: front- end developers often lack extra back-end skills, and the other way around. Full stack duties, in their turn, unite the both. These specialists work professionally both on the user side and server side of the web development cycle. To this end, the role requires in-depth knowledge of every level of web creation process, which includes Linus server’s set-up and configuration, creating server-side APIs, making JavaScript-codes that power apps, and so on. A Ruby on Rails developer is responsible for writing server-side web application logic in Ruby, around the framework Rails. Ruby on Rails developers usually develop back-end components, connect the application with the other (often third-party) web services, and support the front-end developers by integrating their work with the application. Ruby on Rails, as a framework, has gained popularity tremendously over a very short period of time. The goal of the framework is to reduce the time and effort required to build a web application.
    [Show full text]
  • Community Notebook
    Community Notebook Free Software Projects Projects on the Move Drupal and WordPress often hog the spotlight, but other content management systems offer impressive performances. This month, we look at the latest Joomla release and check out concrete5. By Rikki Kite lthough I wouldn’t call myself a web designer, over the years I’ve managed websites running on eZ Publish and Drupal, and I’ve created several sites running WordPress, which I think is the most user-friendly site to hand off A for non-technical clients to maintain. Recently, I started using Joomla, which powers the advancedclustering.com website. At first, I found Joomla to be less user- friendly than WordPress, more inviting than eZ Publish, with a learning curve compa- Dmtry Sunagatov, Fotolia.com rable to Drupal (although newer versions of eZ Publish are pretty Drupal-like). In short, Joomla is different from other content management systems, so it takes some getting used to; however, it is feature-rich, has an active community, and comes with excellent documentation. “Each CMS has its own unique strengths and weaknesses, but for me Joomla’s unique strength lies in the breadth of the community and the range of available ex- RIKKI KITE tensions – over 8,000 – that give site builders unrivaled versatility with the type of websites that they can build,” says Brian Teeman, co-founder of Joomla. Rikki Kite is Director of Marketing at Advanced Clustering Technologies in Joomla 1.7 rolled out in July and was the first release on the new six-month release Kansas City, Kansas. In addition to Linux cycle [1].
    [Show full text]
  • Puppet Dashboard 1.2 Manual
    Puppet Dashboard Manual (Generated on July 01, 2013, from git revision 46784ac1656bd7b57fcfb51d0865ec7ff65533d9) Puppet Dashboard 1.2 Manual This is the manual for Puppet Dashboard 1.2. Overview Puppet Dashboard is a web interface for Puppet. It can view and analyze Puppet reports, assign Puppet classes and parameters to nodes, and view inventory data and backed-up file contents. Chapters Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Installing Puppet Dashboard This is a chapter of the Puppet Dashboard 1.2 manual. NAVIGATION Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Overview Puppet Dashboard is a Ruby on Rails web app that interfaces with Puppet. It will run on most modern Unix-like OSes (including Mac OS X and most Linux distributions), requires a certain amount of supporting infrastructure, and can be deployed and served in a variety of ways. Dashboardʼs web interface supports the following browsers: Chrome (current versions) Firefox 3.5 and higher Puppet Dashboard Manual • Puppet Dashboard 1.2 Manual 2/27 Safari 4 and higher Internet Explorer 8 and higher Installing, in Summary In outline, the steps to get Dashboard running are: Installing the external dependencies Installing the Dashboard code Configuring Dashboard Creating and configuring a MySQL database Testing that Dashboard is working Configuring Puppet Starting the delayed job worker processes Running Dashboard in a production-quality server After completing these tasks, Dashboardʼs main functionality will be on-line and working smoothly. You can then configure Dashboard further and enable optional features If you are trying to upgrade Puppet Dashboard instead of installing it from scratch, see the chapter of this manual on upgrading instead of reading further in this chapter.
    [Show full text]
  • Interfacing Apache HTTP Server 2.4 with External Applications
    Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick November 6, 2012 Who am I? Interfacing Apache HTTP Server 2.4 with External Applications Met Unix (in the form of Xenix) in 1985 Jeff Trawick Joined IBM in 1990 to work on network software for mainframes Moved to a different organization in 2000 to work on Apache httpd Later spent about 4 years at Sun/Oracle Got tired of being tired of being an employee of too-huge corporation so formed my own too-small company Currently working part-time, coding on other projects, and taking classes Overview Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Huge problem space, so simplify Perspective: \General purpose" web servers, not minimal application containers which implement HTTP \Applications:" Code that runs dynamically on the server during request processing to process input and generate output Possible web server interactions Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Native code plugin modules (uhh, assuming server is native code) Non-native code + language interpreter inside server (Lua, Perl, etc.) Arbitrary processes on the other side of a standard wire protocol like HTTP (proxy), CGI, FastCGI, etc. (Java and \all of the above") or private protocol Some hybrid such as mod fcgid mod fcgid as example hybrid Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Supports applications which implement a standard wire protocol, no restriction on implementation mechanism Has extensive support for managing the application[+interpreter] processes so that the management of the application processes is well-integrated with the web server Contrast with mod proxy fcgi (pure FastCGI, no process management) or mod php (no processes/threads other than those of web server).
    [Show full text]
  • WHO Guidance on Management of Snakebites
    GUIDELINES FOR THE MANAGEMENT OF SNAKEBITES 2nd Edition GUIDELINES FOR THE MANAGEMENT OF SNAKEBITES 2nd Edition 1. 2. 3. 4. ISBN 978-92-9022- © World Health Organization 2016 2nd Edition All rights reserved. Requests for publications, or for permission to reproduce or translate WHO publications, whether for sale or for noncommercial distribution, can be obtained from Publishing and Sales, World Health Organization, Regional Office for South-East Asia, Indraprastha Estate, Mahatma Gandhi Marg, New Delhi-110 002, India (fax: +91-11-23370197; e-mail: publications@ searo.who.int). The designations employed and the presentation of the material in this publication do not imply the expression of any opinion whatsoever on the part of the World Health Organization concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. Dotted lines on maps represent approximate border lines for which there may not yet be full agreement. The mention of specific companies or of certain manufacturers’ products does not imply that they are endorsed or recommended by the World Health Organization in preference to others of a similar nature that are not mentioned. Errors and omissions excepted, the names of proprietary products are distinguished by initial capital letters. All reasonable precautions have been taken by the World Health Organization to verify the information contained in this publication. However, the published material is being distributed without warranty of any kind, either expressed or implied. The responsibility for the interpretation and use of the material lies with the reader. In no event shall the World Health Organization be liable for damages arising from its use.
    [Show full text]
  • Development Team Paper Coordinator Principal Investigator Dr
    Paper No : 12 Special and Research Libraries Principal Investigator Dr. Jagdish Arora, Director Module : 26 Overview& of Emerging Knowledge Management Tools Subject Coordinator INFLIBNET Centre, Gandhinagar Development Team Paper Coordinator Principal Investigator Dr. Jagdish Arora, Director & Content Writer INFLIBNET Centre, Gandhinagar Subject Coordinator Content Reviewer Prof I V Malhan Paper Coordinator Professor and Head, Central University of Himachal Pradesh Dr Shivarama Rao K Content Writer Assistant Librarian, Central University of Kerala Prof I V Malhan Content Reviewer Professor and Head, Central University of Himachal Pradesh 1 Library and Special and Research Libraries Information Science Overview of Emerging Knowledge Management Tools PaperContent Coordinator Reviewer Description of Module Subject Name Library and Information Science Paper Name 12 Special and Research Libraries Module Name/Title Overview of Emerging Knowledge Management Tools Module Id LIS/SRL-O/26 Pre-requisites Computers and Internet To comprehend KM features of select software tools for a better Information Services and Objectives management approach in Special and Research Libraries. KM tools; KM technologies; Latest trends in KM tools; Groupware technologies; Intranets, Keywords Extranets; Groupware technologies; Data warehousing; Data mining; Decision support systems; Content management system; and Document management systems. 2 Library and Special and Research Libraries Information Science Overview of Emerging Knowledge Management Tools 1. Introduction Managing knowledge creation, production and communication is a continuous and interactive process which involves knowledge translation of tacit to explicit among individuals in an organization. Effective knowledge sharing throughout an organization enhances innovation and individual’s performance. ‘Knowledge’ has come to be considered as a resource which needs to be managed well.
    [Show full text]
  • Desarrollo De Una Aplicación Web De Gestión Colaborativa Para Un Club De Triatlón
    Escola Tècnica Superior d’Enginyeria Informàtica Universitat Politècnica de València Desarrollo de una aplicación web de gestión colaborativa para un club de triatlón Trabajo Fin de Grado Grado en Ingeniería Informática Autor: Jose Enrique Pérez Rubio Tutor/a: Manuela Albert Albiol Victoria Torres Bosch 2016 - 2017 Desarrollo de una aplicación web de gestión colaborativa para un club de triatlón 2 Resumen Se ha desarrollado una intranet para sustituir el actual método de contacto y navegación de los usuarios el cual es un foro. La nueva aplicación cuenta con más funcionalidades que no estaban disponibles anteriormente. La página web está desarrollada en web2py, un framework de Python. Como patrón de diseño para la implementación se utilizará el conocido Modelo Vista Controlador (MVC), arquitectura estándar hoy en día el cual separa los datos y la lógica de las vistas del usuario. Este diseño facilita el desarrollo y mantenimiento de las aplicaciones. Palabras clave: triatlón, intranet, web2py, framework, Python. MCV Abstract This Intranet has been developed to replace the current users contact and navigation method, nowadays it is a forum. The new application has more functionality than previously available. This web page is developed in Python web2py’s framework. As design for the implementation we'll be using the Model View Controller (MVC), standard architecture because it separates the data and the logic from user's view. This design improves the development and maintenance of applications. Keywords: triathlon, intranet, web2py, framework, Python, MVC 3 Desarrollo de una aplicación web de gestión colaborativa para un club de triatlón Agradecimientos Antes de nada, me gustaría dar las gracias a: Mis padres, por alentarme a continuar mi educación y han trabajado siempre muy duro para poder brindarme la oportunidad que ellos nunca tuvieron para poder continuar mis estudios.
    [Show full text]
  • Php Tutorial
    PHP About the Tutorial The PHP Hypertext Preprocessor (PHP) is a programming language that allows web developers to create dynamic content that interacts with databases. PHP is basically used for developing web-based software applications. This tutorial will help you understand the basics of PHP and how to put it in practice. Audience This tutorial has been designed to meet the requirements of all those readers who are keen to learn the basics of PHP. Prerequisites Before proceeding with this tutorial, you should have a basic understanding of computer programming, Internet, Database, and MySQL. Copyright & Disclaimer © Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i PHP Table of Contents About the Tutorial ...........................................................................................................................................
    [Show full text]