redCORE is a RAD Layered abstraction layer that focuses on development of complex extensions. With a built-in toolset featuring the most powerful and fastest extension, data multi-language system, and its newest HAL / WSDL / oAuth drivers, redCORE is becoming a Swiss Army knife for developing powerful and demanding Joomla extensions. Save time for the developer, so the focus becomes adding value on the business logic and not in reinventing the wheel.
2. Tito Alvarez
• 14 years experience in PHP
• 8 years experience in Joomla!
• Backender / Frontender / Commercial templates / System
Integrator / SysAdmin / Cleaning and stuff when needed
• Worked in banking, software pre-sales, Main Developer at
Joomlashack
• Currently Senior Developer at redCOMPONENT
3. Agenda
• What is redCORE?
• Features:
basic and extended
• Demo
• Roadmap
• Collaboration
• Q&A
4. What is redCORE?
Photo credit: https://www.flickr.com/photos/75659300@N00/2615848530/
• Abstracted development
layer: not a final extension
by itself
• Provide backward
compatibility
• Avoid repetitive tasks like
custom inputs or layouts
• Framework for powerful,
enterprise-size applications
5. Yet another framework?
Photo credit: https://www.flickr.com/photos/52137170@N00/56206868/
• Stop reinventing the
wheel
• No convention over
configuration
• No need to rework for
various Joomla! versions
• It extends Joomla!
classes
6. Native features
• Works in multiple Joomla! versions
• Layouts
• Improved form fields
• Smart and integrated installer
• Frontend libraries
11. Installer
Photo credit: https://www.flickr.com/photos/23212428@N00/10023456065/
One package to install them all:
• Component
• Libraries
• Media
• Modules
• Plugins
• Templates
• Translations
12. Package validation
Photo credit: https://www.flickr.com/photos/35723892@N00/4090782772/
• PHP version
• MySQL version
• PHP packages (GD,
SimpleXML)
• Extra validations
19. Extended features
• Translation for extensions content
• Built-in web services
• OAuth2
20. Translations for extension content
Photo credit: https://www.flickr.com/photos/50318388@N00/5480814627/
• Content elements like:
• E-commerce products
• Content articles
• etc
• Easy setup
• Optimized for large
databases
• Joomla! safe and compatible
method
21. Benefits of redCORE for translation
• Does not duplicate content
Photo credit: a href="https://www.flickr.com/photos/56013895@N00/122872445/
• Extends single tables with
separate fields
• Original value change
notification
• Easy setup through
redCORE backend
• Manifest files compatible
with Falang and Joomfish
22. Translation done right and fast
Photo credit: https://www.flickr.com/photos/73309241@N00/2642246332/
• It sets up new tables
and Foreign Keys for
the translated tables
• Does not duplicate the
whole table but just
translatable fields
• Option for triggers if not
using InnoDB
23. Built-in web services
Photo credit: a href="https://www.flickr.com/photos/42221201@N04/14447856391/
• Server setup
• RESTful interface
• HAL (Hypertext
Application Language)
• JSON or XML formats
• Authentication through
Joomla! or oAuth2
24. Easy set up of web services
• Through XML manifest
file
• Allows versioning of
web services - for
backward compatibility
• Specification of REST
methods and custom
actions
It’s installed standalone as an extension, but it’s not a final extension itself. It provides tools for building other extensions. Libraries, backend component, modules, plugins
redCOMPONENT used to build extensions (160+) in Joomla! 1.5 and 2.5. Upgrading them is a very difficult task
Many functionalities were re-done all the time: custom inputs, layouts
Built from big enterprise-sized applications managing Gbs of data, thousands of table row lines
Doing the same all the time
We tried using fof but it’s just for small applications
We need to provide extensions that work for Joomla! 2.5 and 3 at the same time
It will never override or replace a Joomla! class, simply extends them adding extra functionality
Setting up Joomla translation takes a 60 PDF page manual
Falang and Joomfish use a single table for translation, with a single column. High impact to the database when translating
Backward compatibility: in case a client application is using an specific old version