redCORE: an abstracted development layer for Joomla! - JWC14

Preview:

DESCRIPTION

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.

Citation preview

redCOREan abstracted development layer

for Joomla!

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

Agenda

• What is redCORE?

• Features:

basic and extended

• Demo

• Roadmap

• Collaboration

• Q&A

Photo credit: https://www.flickr.com/photos/75659300@N00/2615848530/

What is redCORE?

• 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

Photo credit: https://www.flickr.com/photos/52137170@N00/56206868/

Yet another framework?

• Stop reinventing the

wheel

• No convention over

configuration

• No need to rework for

various Joomla! versions

• It extends Joomla!

classes

Native features

• Works in multiple Joomla! versions

• Layouts

• Improved form fields

• Smart and integrated installer

• Frontend libraries

Multiple Joomla! versions

• Extends Joomla!

classes

• Specific methods

for each Joomla!

version

Layouts

• JLayout: repeat portions of views between code

• Only available for Joomla! 3.1+

• redCORE makes it available for 2.5+

Layouts example

myextension/layouts/helloworld.php

Joomla! way: JLayout

redCORE: RLayout

Improved fields

• Country list

• Currency list

• Date picker

• etc

Photo credit: https://www.flickr.com/photos/23212428@N00/10023456065/

Installer

One package to install them all:

• Component

• Libraries

• Media

• Modules

• Plugins

• Templates

• Translations

Photo credit: https://www.flickr.com/photos/35723892@N00/4090782772/

Package validation

• PHP version

• MySQL version

• PHP packages (GD,

SimpleXML)

• Extra validations

installing complementary extensionsin the extension XML manifest file

adding validationsin the extension XML manifest file

running the installer

Photo credit: https://www.flickr.com/photos/47257185@N03/8696914680/

Frontend Libraries

• Bootstrap

• Checkbox

• Timepicker

• Flexslider

• Font-awesome

• jQuery

• jQuery-UI

• Select2

including frontend librariesin your code

decide which will be includedin the frontend of your site

Extended features

• Translation for extensions content

• Built-in web services

• OAuth2

Photo credit: https://www.flickr.com/photos/50318388@N00/5480814627/

Translations for extension content

• Content elements like:

• E-commerce products

• Content articles

• etc

• Easy setup

• Optimized for large

databases

• Joomla! safe and compatible

method

Photo credit: a href="https://www.flickr.com/photos/56013895@N00/122872445/

Benefits of redCORE for translation

• Does not duplicate content

• Extends single tables with

separate fields

• Original value change

notification

• Easy setup through

redCORE backend

• Manifest files compatible

with Falang and Joomfish

Photo credit: https://www.flickr.com/photos/73309241@N00/2642246332/

Translation done right and fast

• 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

Photo credit: a href="https://www.flickr.com/photos/42221201@N04/14447856391/

Built-in web services

• Server setup

• RESTful interface

• HAL (Hypertext

Application Language)

• JSON or XML formats

• Authentication through

Joomla! or oAuth2

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

Auto-documented

• Documentation is

generated automatically

oAuth2 server

• Deploys a

server to

avoid

username/pa

ssword for

API

• Individual

client

creation

oAuth2 client creation

• Ability to define grants

and scopes

• Match client to some

Joomla User

redCORE demo

Photo credit: https://www.flickr.com/photos/95257089@N00/519148077/

Roadmap

• Payment plugins

• redCORE extension

manager

• Improved ACL

• Selenium testing

integration

Photo credit: https://www.flickr.com/photos/46527925@N04/7982351003/

Collaboration

• redCORE is open source

• Github:https://github.com/redCOMPONENT-

COM/redCORE

• Documentation:http://redcomponent-com.github.io/

Q&A

Thank You

Recommended