Skip to content

Core Concepts

This section provides comprehensive documentation on the fundamental concepts, architecture, and systems that power XOOPS. Understanding these core concepts is essential for effective module development and system customization.

Overview

XOOPS (eXtensible Object Oriented Portal System) is built on solid architectural foundations that emphasize modularity, extensibility, and maintainability. The system employs well-established design patterns and provides robust abstractions for common web application concerns.

Architecture

The architecture section covers the fundamental structure and design principles of XOOPS.

  • XOOPS-Architecture - Complete overview of the XOOPS system architecture
  • Design-Patterns - Design patterns used throughout XOOPS (MVC, Singleton, Factory, Observer, etc.)

Database Layer

Understanding the database layer is crucial for data management and persistence.

  • Database-Layer - Comprehensive guide to XoopsDatabase, XoopsDatabaseFactory, and database operations

Template System

The template system provides separation between logic and presentation.

Forms System

XOOPS provides a powerful form handling system with built-in validation and rendering.

  • XOOPS-Forms - Complete guide to form creation, validation, and rendering

Security

Security is paramount in web application development.

User Management

Understanding user and permission systems is essential for access control.

Quick Reference

Key Classes

Class Purpose Location
XoopsDatabase Abstract database base class class/database/
XoopsDatabaseFactory Database connection factory class/database/
XoopsObject Base class for all data objects class/
XoopsPersistableObjectHandler CRUD operations handler class/
XoopsForm Base form class class/xoopsform/
Smarty Template engine class/smarty/

Key Design Patterns

Pattern Usage in XOOPS
Singleton Database connections, global instances
Factory Object creation, database connections
MVC Module structure, separation of concerns
Observer Event handling, notifications
Decorator Form elements, template modifiers

Directory Structure

xoops/
├── class/                  # Core classes
│   ├── database/           # Database abstraction
│   ├── xoopsform/          # Form elements
│   └── smarty/             # Template engine
├── include/                # Include files
├── kernel/                 # Kernel classes
├── modules/                # Installed modules
├── themes/                 # Theme files
└── uploads/                # User uploads

Getting Started

For new developers, we recommend exploring the documentation in this order:

  1. XOOPS-Architecture - Understand the overall system structure
  2. Design-Patterns - Learn the patterns used throughout XOOPS
  3. Database-Layer - Master data persistence
  4. Smarty-Basics - Learn template development
  5. XOOPS-Forms - Create user interfaces
  6. Security-Best-Practices - Implement secure code
  7. User-Management - Handle users and permissions

xoops #core-concepts #architecture #documentation #index