Tools for PHP CMS extension development

Thesis title: Podpora vývoje rozšíření PHP CMS
Author: Schmied, Martin
Thesis type: Diplomová práce
Supervisor: Hazucha, Andrej
Opponents: Mittner, Jan
Thesis language: Česky
Abstract:
Cílem této práce je zlepšení procesu vývoje rozšíření open source systémů pro správu obsahu, se zvláštním zaměřením na funkční rozšíření CMS Joomla. Práce začíná analýzou současného trhu open source CMS systémů, z které vyplývá, že většině trhu je dominována systémy implementovanými v programovacím jazyce PHP. Proto následuje analýza standardních nástrojů používaných při vývoji v PHP. Ta ukazuje, že k vývoji aplikací v PHP jsou stále často využívány relativně jednoduché textové editory namísto integrovaných vývojových prostředí. Dále je ukázáno, že moderní open source IDE mohou zvýšit produktivitu práce i při vývoji ve skriptovacím jazyce. V další části práce jsou zkoumána specifika vývoje rozšíření CMS systémů. Přitom jsou prezentovány tři nejrozšířenější open source CMS (WordPress, Drupal a Joomla) se zaměřením na možnosti jejich funkční rozšiřitelnost. Je demonstrováno, že určité specifické vlastnosti modulárního systému CMS Joomla představují překážku pro efektivní využití IDE v procesu vývoje. Následně jsou prozkoumány dva doporučené postupy práce při vývoji funkčních rozšíření pro CMS Joomla a jsou demonstrovány jejich nevýhody. Na základě této analýzy je navržena nová metodika vývoje zahrnující návrh dosud nevyvinutých funkčních rozšíření Eclipse IDE řešící zmíněné nevýhody. Následuje popis platformy Eclipse se zaměřením na klíčové technologie využité při implementaci těchto funkčních rozšíření. Poslední částí je popis hlavních komponent implementace.
Keywords: IDE; PHP; Eclipse; Joomla; CMS
Thesis title: Tools for PHP CMS extension development
Author: Schmied, Martin
Thesis type: Diploma thesis
Supervisor: Hazucha, Andrej
Opponents: Mittner, Jan
Thesis language: Česky
Abstract:
This thesis seeks to improve the development process of open source content management system extensions with particular focus on functional extensions of Joomla CMS. It starts by analyzing current open source CMS market to conclude that most of it is dominated by systems implemented in the PHP programming language. Standard tools used throughout the PHP development process are then analyzed to show that fully-featured integrated development environments are not used as often as with compiled languages. It's shown, however, that modern open source IDEs can deliver performance gains even when used for development in a scripting language. The focus is then shifted from general purpose PHP development to the specifics of CMS extension development. Three major open source systems (WordPress, Drupal and Joomla) are presented with focus on their extensibility. It's demonstrated that some features of Joomla's module system, which are not present in the other systems in comparison, are making it much harder to establish an efficient development workflow that would take full advantage of an IDE. Two recommended workflows for Joomla extension development are then presented while pointing out their disadvantages. Based on this analysis, a new development workflow is designed incorporating yet-to-be-developed functional extensions of Eclipse IDE to solve the problems. The Eclipse platform is then described, pointing out some key technologies used to implement these functional extensions. Finally, major components of the implementation are described.
Keywords: IDE; Eclipse; Joomla; CMS; PHP

Information about study

Study programme: Aplikovaná informatika/Znalostní technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information and Knowledge Engineering

Information on submission and defense

Date of assignment: 1. 3. 2011
Date of submission: 20. 6. 2011
Date of defense: 14. 9. 2011
Identifier in the InSIS system: https://insis.vse.cz/zp/30900/podrobnosti

Files for download

    Last update: