When I created DiY-CMS I made number of tutorials explaining how to manage and use DiY-CMS. Those tutorials were tailored the general user of CMS, a user who has no or little programming knowledge. Since that series of tutorials is complete, I will be starting another series; a one that is made specifically for developers who whish to develop DiY-CMS to create modules or plug-ins for DiY-CMS, or modify in any way they wish. In basic, this tutorials series is mainly for developers with sound programming language knowledge.
I will start explaining the general structure of folders and files of DiY-CMS. Then I will write number of tutorials detailing the best way to program a plug-in. I will then explain how to program a module and the best practices that one should use for programming.
In this tutorial I will start with the first part of explain the folders and files structure of DiY-CMS. I will explore the folders one by one and explain the files they contain and their main functions.
Once you download DiY-CMS and extract the zipped file, your will find a structure similar to this:
In the first part I will explain what each file in the root folder does then I will explain the function of the rest of the folders and files in the second part.
.htaccess: contains information about url re-write.
control.php: provides a user interface to manage modules from one place.
filemanager.php: renders image files, particularly avatar, thumb images and can be used to render any kind of image.
global.php: This file is a global file, meaning that it must be included in all files of DiY-CMS. It manages the inclusion of the necessary files to run DiY-CMS, such as files responsible for database connection, theme selection or user authorisation. By default all modules have this file included, so you do not have to include it in any module file you would like to program.
index.php: this the index file of DiY-CMS. It displays the first page of DiY-CMS to the user.
licence.txt : the licence of DiY-CMS. Since DiY-CMS is an open-source program, (GNU GENERAL PUBLIC LICENSE) GPL licence is used.
mod.php: this file manage DiY-CMS modules display. It is responsible for reading the general layout of any opened module.
online.php: retrieve the number of people online and their location in the DiY-CMS.
robots.txt: communicates with search engine crawlers and tells them which part of DiY-CMS to access and not to access.
In the second part of this tutorial I will explore the contents of admin folder.