Technical-Descriptive Report on the Joomla! Extension Ecosystem by Jonatas C. Ferreira
The evolution of content management system (CMS) architectures, specifically within the Joomla! ecosystem, has been marked by a rigorous transition towards more modern, object-oriented, and highly decoupled coding standards. At the heart of this evolution, the contributions of independent developers and those affiliated with academic institutions, such as Jonatas C. Ferreira, play a fundamental role in expanding the platform's native capabilities. Ferreira, an enthusiastic and volunteer Joomla! CMS developer based at the University of São Paulo (USP) in Ribeirão Preto, Brazil, has established a portfolio of extensions that address critical gaps in cloud storage and interpersonal communication. 1 This report details the technical architecture, functionalities, and application potential of the Cotton Cloud, Gabble Chat, and Tabapapo Chat extensions in the context of human interaction and device automation.
Data Storage and Management Paradigms: The Cotton Cloud Component
The Cotton Cloud component represents a sophisticated approach to digital asset management within Joomla!. Unlike traditional media management systems, it is a file storage system explicitly based on a database. This architectural choice offers significant advantages in terms of data portability and backup integrity, since all binary assets are encapsulated within the relational schema of the site's database.
Binary Storage Architecture and Server Configuration
The technical implementation of Cotton Cloud requires a server infrastructure capable of processing large binary payloads. The hosting environment must be configured with specific parameters to ensure the integrity of large-scale SQL transactions.
Cotton Cloud uses the CodeMirror editor to allow direct editing of text files in the browser, while offering previews for media such as video and audio, keeping the data protected by database-level encryption.
Synchronization Architecture: The Technical Option for Long Polling
To enable instant messaging and real-time data updates, the communication extensions developed by Ferreira use the Long Polling method instead of the WebSocket protocol. This decision prioritizes stability and compatibility in standard web hosting environments.
In the Long Polling model, the client (JavaScript) keeps a request open to the PHP server, which waits in a loop until new data is available. This strategy simplifies request handling and increases security because it uses the standard Joomla! HTTP flow, making it easier to bypass firewalls and proxies that often block persistent WebSocket connections.
Functional Differentiation: Tabapapo vs. Gabble Chat
Although they share the same technological basis for synchronization, the two chat extensions serve distinct interaction purposes:
-
Tabapapo Chat: Specializes in managing themed chat rooms . It functions as a community environment where users with the appropriate permissions can join and leave at any time for group discussions. 1 Implements a strict ephemerality policy, where messages are deleted after five minutes to ensure privacy and reduce database overhead. 3
-
Gabble Chat: Focused on private and direct communication . Its operating logic is analogous to that of a telephone, allowing private conversations between two or more specific users directly on the website, integrating with the Community Builder for displaying avatars and profiles. 1
Potential for IoT Integration and Communication between Devices
The architectural choice of Long Polling and the messaging structure of the Tabapapo and Gabble Chat extensions open up a vast field of application in the Internet of Things (IoT) . Joomla! can act as a simplified message broker for communication between smart devices and microcontrollers.
Interaction with Raspberry Pi and Arduino
Low-computing-power devices, such as Arduino or Raspberry Pi , can be easily programmed to interact with Ferreira's extensions. Due to the simplicity of Long Polling, these devices do not need to maintain complex WebSocket stacks, which consume memory and critical hardware resources.
-
M2M (Machine-to-Machine): The system allows home electronics to "talk" to each other. For example, a smart refrigerator can send a status notification to a themed room on Tabapapo Chat, while robotic vacuum cleaners can monitor that same room to coordinate cleaning activities.
-
Control and Monitoring: Gabble Chat can be used as a direct command channel. A user can "send a message" to a Raspberry Pi device configured as a home server to control lights or security systems, receiving an immediate response on the operation status.
This approach transforms the Joomla! website into a centralized IoT dashboard, where the event history (even if ephemeral in the case of Tabapapo) serves as an activity log for the home or industrial ecosystem.
Development and Licensing Standards
The extensions follow the visual and technical identity of the "Tabaoca" project, using PSR-4 namespaces (e.g., Joomla\Tabaoca\Package\Cotton) to ensure maintainability and avoid code conflicts. All tools are distributed under the GNU Affero General Public License Version 3 (AGPLv3) , reinforcing Ferreira's commitment to free software and technical transparency.
Conclusions on the Versatility of Extensions
The suite of tools developed by Jonatas C. Ferreira demonstrates a technical maturity that goes beyond the traditional social use of a CMS. The robustness of Cotton Cloud for data management and the flexibility of the chat extensions allow Joomla! to function not only as a content platform, but as a communication bridge for the future of automation. The possibility of integrating electronics and microcontrollers via simplified Long Polling protocols positions these extensions as viable and secure solutions for IoT projects, while maintaining ease of use for website administrators and hardware developers.
References cited
-
Gabble Chat, by Jonatas C. Ferreira - Joomla! Extensions Directory, accessed March 27, 2026, https://extensions.joomla.org/extension/gabble-chat/
-
Cotton Cloud, by Jonatas C. Ferreira - Joomla! Extensions Directory, accessed March 27, 2026, https://extensions.joomla.org/extension/cotton-cloud/
-
Tabapapo Chat, by Jonatas C. Ferreira - Joomla! Extensions Directory, accessed March 27, 2026, https://extensions.joomla.org/extension/tabapapo/
-
Browse - Joomla! Extensions Directory, accessed March 27, 2026, https://extensions.joomla.org/tags/games/


