SlideShare une entreprise Scribd logo
1  sur  4
Dolibarr Module Development
#360
Rajib Hossain Pavel
@pavelrajib
CIO
(Courtesy::A. Korsonsky)
Introduction
Dolibarr is GPL Licensed Open Source PHP Project. One thing I want to tell you this
is PSR-2 Compliant though not following strict still today.
It is a Backend Management System.
It is an ERP. Or it may be more.
It has its own unique OOP Programming Model. For instance I can tell you every
object(Product, Order, Invoice etc.) inherits from CommonObject and it has Context
for User($user), Configuration($conf) and Languages($lang) available in each
module. It has Ajax Support too. A bit tricky but once you have understood the
concepts, you would praise the structure. This system may not be lightweight(there is
extensive use of XML) but it is effective.
Fundamental Constructs
Module Descriptor, here it is the Single File that acts like a Configuration file for a Module.
Tree of Path, here it is the Directory Structure.
Admin Management, here it allows defining some parameters from the UI.
Constants, here Parameters globally(all users) or locally(specific user).
Rights, here Admin/User Differentiator or Permissions.
Menu System.
Tab Management.
View System, here CSS and JS can be included.
Substitution Variable Management.
SQL Management, here we can have models but it can be skipped too.
Before Delving into Details
Do not fell into the trap of idmenu. Just make sure this value is sanitized. Do not let
anyone do XCRF Attack on your site.
Keep your Module simple. Write Code that you understand. Consult the
Documentation if you need it, I think you will need this. Check some repositories in
the Github, there are some wonderful modules and fiddle with them and you can turn
into an Expert I guess.
Attribute Licensing terms in the right manner. Do not plagiarize or steal or be unfair.
We have the basic responsibility to do honorable conduct of being fair.

Contenu connexe

En vedette

ERP & CRM Dolibarr InnovAthens 2016 (Greek)
ERP & CRM Dolibarr InnovAthens 2016 (Greek)ERP & CRM Dolibarr InnovAthens 2016 (Greek)
ERP & CRM Dolibarr InnovAthens 2016 (Greek)Nikos Drosis
 
Structurer et gérer son entreprise avec un logiciel libre dolibarr
Structurer et gérer son entreprise avec un logiciel libre  dolibarrStructurer et gérer son entreprise avec un logiciel libre  dolibarr
Structurer et gérer son entreprise avec un logiciel libre dolibarrSébastien LAFON
 
Sahar Saqib - Transcript of Oral Presentation
Sahar Saqib - Transcript of Oral PresentationSahar Saqib - Transcript of Oral Presentation
Sahar Saqib - Transcript of Oral Presentationsaharsaqib
 
Horizons Beyond Dreams Business Plan
Horizons Beyond Dreams Business PlanHorizons Beyond Dreams Business Plan
Horizons Beyond Dreams Business Planphillipcfrankis
 
Is she a good student
Is she a good studentIs she a good student
Is she a good studentpaku_sol
 
OUTPUT BI - MAKING IT WORK FOR YOU
OUTPUT BI - MAKING IT WORK FOR YOUOUTPUT BI - MAKING IT WORK FOR YOU
OUTPUT BI - MAKING IT WORK FOR YOUpaul ormonde-james
 
FCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory PresentationFCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory PresentationKelvin Koh
 
Reading the Campus/Reading the City
Reading the Campus/Reading the CityReading the Campus/Reading the City
Reading the Campus/Reading the CityTina Richardson
 
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...Shao-Chuan Wang
 
Engaging Teens through Sprite Digital Campaign - Teen Till I Die
Engaging Teens through Sprite Digital Campaign - Teen Till I DieEngaging Teens through Sprite Digital Campaign - Teen Till I Die
Engaging Teens through Sprite Digital Campaign - Teen Till I DieNitin Karkara
 
Rtp 83 permentan ot.140 6 2014
Rtp 83 permentan ot.140 6 2014Rtp 83 permentan ot.140 6 2014
Rtp 83 permentan ot.140 6 2014Rhiana Rhiana
 
aclogを支えるデザイン
aclogを支えるデザインaclogを支えるデザイン
aclogを支えるデザインrot1024
 
E Mail Management In Statoil Norsk Arkivrad October 2010
E Mail Management In Statoil   Norsk Arkivrad October 2010E Mail Management In Statoil   Norsk Arkivrad October 2010
E Mail Management In Statoil Norsk Arkivrad October 2010pnitter
 
Blue elevator servocontrol servovalve
Blue elevator servocontrol servovalveBlue elevator servocontrol servovalve
Blue elevator servocontrol servovalveRajarai Faheemabid
 

En vedette (16)

ERP & CRM Dolibarr InnovAthens 2016 (Greek)
ERP & CRM Dolibarr InnovAthens 2016 (Greek)ERP & CRM Dolibarr InnovAthens 2016 (Greek)
ERP & CRM Dolibarr InnovAthens 2016 (Greek)
 
Structurer et gérer son entreprise avec un logiciel libre dolibarr
Structurer et gérer son entreprise avec un logiciel libre  dolibarrStructurer et gérer son entreprise avec un logiciel libre  dolibarr
Structurer et gérer son entreprise avec un logiciel libre dolibarr
 
Sahar Saqib - Transcript of Oral Presentation
Sahar Saqib - Transcript of Oral PresentationSahar Saqib - Transcript of Oral Presentation
Sahar Saqib - Transcript of Oral Presentation
 
Horizons Beyond Dreams Business Plan
Horizons Beyond Dreams Business PlanHorizons Beyond Dreams Business Plan
Horizons Beyond Dreams Business Plan
 
Is she a good student
Is she a good studentIs she a good student
Is she a good student
 
OUTPUT BI - MAKING IT WORK FOR YOU
OUTPUT BI - MAKING IT WORK FOR YOUOUTPUT BI - MAKING IT WORK FOR YOU
OUTPUT BI - MAKING IT WORK FOR YOU
 
1960 1969
1960 19691960 1969
1960 1969
 
FCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory PresentationFCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory Presentation
 
Reading the Campus/Reading the City
Reading the Campus/Reading the CityReading the Campus/Reading the City
Reading the Campus/Reading the City
 
Bebepolis
BebepolisBebepolis
Bebepolis
 
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
 
Engaging Teens through Sprite Digital Campaign - Teen Till I Die
Engaging Teens through Sprite Digital Campaign - Teen Till I DieEngaging Teens through Sprite Digital Campaign - Teen Till I Die
Engaging Teens through Sprite Digital Campaign - Teen Till I Die
 
Rtp 83 permentan ot.140 6 2014
Rtp 83 permentan ot.140 6 2014Rtp 83 permentan ot.140 6 2014
Rtp 83 permentan ot.140 6 2014
 
aclogを支えるデザイン
aclogを支えるデザインaclogを支えるデザイン
aclogを支えるデザイン
 
E Mail Management In Statoil Norsk Arkivrad October 2010
E Mail Management In Statoil   Norsk Arkivrad October 2010E Mail Management In Statoil   Norsk Arkivrad October 2010
E Mail Management In Statoil Norsk Arkivrad October 2010
 
Blue elevator servocontrol servovalve
Blue elevator servocontrol servovalveBlue elevator servocontrol servovalve
Blue elevator servocontrol servovalve
 

Similaire à Dolibarr module development

Nt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language AnalysisNt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language AnalysisNicole Gomez
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Finding Your Way: Understanding Magento Code
Finding Your Way: Understanding Magento CodeFinding Your Way: Understanding Magento Code
Finding Your Way: Understanding Magento CodeBen Marks
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info SheetMark Proctor
 
Zend Framework And Doctrine
Zend Framework And DoctrineZend Framework And Doctrine
Zend Framework And Doctrineisaaczfoster
 
Cairo meetup low code best practices
Cairo meetup low code best practicesCairo meetup low code best practices
Cairo meetup low code best practicesAhmed Keshk
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introductionCommit University
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalNavin Agarwal
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalystdwm042
 
Workshop - The Little Pattern That Could.pdf
Workshop - The Little Pattern That Could.pdfWorkshop - The Little Pattern That Could.pdf
Workshop - The Little Pattern That Could.pdfTobiasGoeschel
 
Hibernate interview questions
Hibernate interview questionsHibernate interview questions
Hibernate interview questionsvenkata52
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGiuliano Iacobelli
 

Similaire à Dolibarr module development (20)

Nt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language AnalysisNt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language Analysis
 
Software Development with PHP & Laravel
Software Development  with PHP & LaravelSoftware Development  with PHP & Laravel
Software Development with PHP & Laravel
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Spring boot
Spring bootSpring boot
Spring boot
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Finding Your Way: Understanding Magento Code
Finding Your Way: Understanding Magento CodeFinding Your Way: Understanding Magento Code
Finding Your Way: Understanding Magento Code
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Raptor 2
Raptor 2Raptor 2
Raptor 2
 
Drools & jBPM Info Sheet
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
 
Zend Framework And Doctrine
Zend Framework And DoctrineZend Framework And Doctrine
Zend Framework And Doctrine
 
Cairo meetup low code best practices
Cairo meetup low code best practicesCairo meetup low code best practices
Cairo meetup low code best practices
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introduction
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin Agarwal
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
 
Workshop - The Little Pattern That Could.pdf
Workshop - The Little Pattern That Could.pdfWorkshop - The Little Pattern That Could.pdf
Workshop - The Little Pattern That Could.pdf
 
dJango
dJangodJango
dJango
 
Ruby on rails for beginers
Ruby on rails for beginersRuby on rails for beginers
Ruby on rails for beginers
 
Laravel
LaravelLaravel
Laravel
 
Hibernate interview questions
Hibernate interview questionsHibernate interview questions
Hibernate interview questions
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplications
 

Dernier

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Dernier (20)

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

Dolibarr module development

  • 1. Dolibarr Module Development #360 Rajib Hossain Pavel @pavelrajib CIO (Courtesy::A. Korsonsky)
  • 2. Introduction Dolibarr is GPL Licensed Open Source PHP Project. One thing I want to tell you this is PSR-2 Compliant though not following strict still today. It is a Backend Management System. It is an ERP. Or it may be more. It has its own unique OOP Programming Model. For instance I can tell you every object(Product, Order, Invoice etc.) inherits from CommonObject and it has Context for User($user), Configuration($conf) and Languages($lang) available in each module. It has Ajax Support too. A bit tricky but once you have understood the concepts, you would praise the structure. This system may not be lightweight(there is extensive use of XML) but it is effective.
  • 3. Fundamental Constructs Module Descriptor, here it is the Single File that acts like a Configuration file for a Module. Tree of Path, here it is the Directory Structure. Admin Management, here it allows defining some parameters from the UI. Constants, here Parameters globally(all users) or locally(specific user). Rights, here Admin/User Differentiator or Permissions. Menu System. Tab Management. View System, here CSS and JS can be included. Substitution Variable Management. SQL Management, here we can have models but it can be skipped too.
  • 4. Before Delving into Details Do not fell into the trap of idmenu. Just make sure this value is sanitized. Do not let anyone do XCRF Attack on your site. Keep your Module simple. Write Code that you understand. Consult the Documentation if you need it, I think you will need this. Check some repositories in the Github, there are some wonderful modules and fiddle with them and you can turn into an Expert I guess. Attribute Licensing terms in the right manner. Do not plagiarize or steal or be unfair. We have the basic responsibility to do honorable conduct of being fair.