32
redCORE an abstracted development layer for Joomla!

redCORE: an abstracted development layer for Joomla! - JWC14

Embed Size (px)

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

Page 1: redCORE: an abstracted development layer for Joomla! - JWC14

redCOREan abstracted development layer

for Joomla!

Page 2: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 3: redCORE: an abstracted development layer for Joomla! - JWC14

Agenda

• What is redCORE?

• Features:

basic and extended

• Demo

• Roadmap

• Collaboration

• Q&A

Page 4: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 5: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 6: redCORE: an abstracted development layer for Joomla! - JWC14

Native features

• Works in multiple Joomla! versions

• Layouts

• Improved form fields

• Smart and integrated installer

• Frontend libraries

Page 7: redCORE: an abstracted development layer for Joomla! - JWC14

Multiple Joomla! versions

• Extends Joomla!

classes

• Specific methods

for each Joomla!

version

Page 8: redCORE: an abstracted development layer for Joomla! - JWC14

Layouts

• JLayout: repeat portions of views between code

• Only available for Joomla! 3.1+

• redCORE makes it available for 2.5+

Page 9: redCORE: an abstracted development layer for Joomla! - JWC14

Layouts example

myextension/layouts/helloworld.php

Joomla! way: JLayout

redCORE: RLayout

Page 10: redCORE: an abstracted development layer for Joomla! - JWC14

Improved fields

• Country list

• Currency list

• Date picker

• etc

Page 11: redCORE: an abstracted development layer for Joomla! - JWC14

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

Installer

One package to install them all:

• Component

• Libraries

• Media

• Modules

• Plugins

• Templates

• Translations

Page 12: redCORE: an abstracted development layer for Joomla! - JWC14

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

Package validation

• PHP version

• MySQL version

• PHP packages (GD,

SimpleXML)

• Extra validations

Page 13: redCORE: an abstracted development layer for Joomla! - JWC14

installing complementary extensionsin the extension XML manifest file

Page 14: redCORE: an abstracted development layer for Joomla! - JWC14

adding validationsin the extension XML manifest file

Page 15: redCORE: an abstracted development layer for Joomla! - JWC14

running the installer

Page 16: redCORE: an abstracted development layer for Joomla! - JWC14

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

Frontend Libraries

• Bootstrap

• Checkbox

• Timepicker

• Flexslider

• Font-awesome

• jQuery

• jQuery-UI

• Select2

Page 17: redCORE: an abstracted development layer for Joomla! - JWC14

including frontend librariesin your code

Page 18: redCORE: an abstracted development layer for Joomla! - JWC14

decide which will be includedin the frontend of your site

Page 19: redCORE: an abstracted development layer for Joomla! - JWC14

Extended features

• Translation for extensions content

• Built-in web services

• OAuth2

Page 20: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 21: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 22: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 23: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 24: redCORE: an abstracted development layer for Joomla! - JWC14

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

Page 25: redCORE: an abstracted development layer for Joomla! - JWC14

Auto-documented

• Documentation is

generated automatically

Page 26: redCORE: an abstracted development layer for Joomla! - JWC14

oAuth2 server

• Deploys a

server to

avoid

username/pa

ssword for

API

• Individual

client

creation

Page 27: redCORE: an abstracted development layer for Joomla! - JWC14

oAuth2 client creation

• Ability to define grants

and scopes

• Match client to some

Joomla User

Page 28: redCORE: an abstracted development layer for Joomla! - JWC14

redCORE demo

Page 29: redCORE: an abstracted development layer for Joomla! - JWC14

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

Roadmap

• Payment plugins

• redCORE extension

manager

• Improved ACL

• Selenium testing

integration

Page 30: redCORE: an abstracted development layer for Joomla! - JWC14

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/

Page 31: redCORE: an abstracted development layer for Joomla! - JWC14

Q&A

Page 32: redCORE: an abstracted development layer for Joomla! - JWC14

Thank You