SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
Rapid Application Development
using Akeeba FOF
Presented by Tim Plummer
www.timplummer.com.au
WHAT IS RAD?
• RAD = Rapid Application Development
• Create apps quickly with very little code
WHAT IS FOF?
• FOF = Framework on Framework
• Rapid application development framework for
Joomla
• Not standalone – it extends Joomla
• Aim to not break backwards compatibility
without a clear deprecation and migration
path.
FOF NOW IN JOOMLA 3.2
WHAT IS FOF?
•
•
•
•
•

D.R.Y. – Don’t Repeat Yourself
Uses Bootstrap & jQuery
Web services. Integrated JSON support
Almost RESTful, not entirely
Hierarchical MVC (HMCV)
– Include the results of component views anywhere
(other views, other component, modules etc)
WHO MADE FOF?
• Created by Nicholas Dionysopoulos
• Now over 23 contributors
KEY DATES
•
•
•
•

May 2012 – First public release
June 2012 – Bootstrap & jQuery
March 2013 – XML view templates
September 2013 – Added to Joomla 3.2 alpha
BENEFITS
• Less code = less bugs
• Less code = quicker to develop
• Automagic stuff to make your life easier
WHERE IS FOF USED?
• By Akeeba products
– Akeeba Backup
– Admin Tools
– Akeeba Subscriptions
– Akeeba Ticket System
– Akeeba DocImports

• Now in Joomla 3.2
– Post Installation Messages
SYSTEM REQUIREMENTS
• Joomla 2.5 or greater
• PHP 5.3.1
CONVENTION OVER
CONFIGURATION
• Use the FOF naming conventions and you get
functionality for free
KEY FEATURES
• Reuse views while respecting template
overrides – loadAnyTemplate() allows you to
load any view
• Media files overrides – effectively create
template overrides for css and js files
• Automatic JSON and CSV in views
– Just add format=json or format=csv

• XML-based views
– You can mix PHP-based and XML-based templates
MAGIC FIELDS
• Just add to your database table and all these just
magically work and implement required
functionality
–
–
–
–
–
–
–
–

enabled
created_by
created_on
modified_by
modified_on
locked_by
locked_on
hits

(like state or published)
(like created)
(like modified)
(like checked_out)
(like checked_out_time)
WHY FOF?
•
•
•
•

Less than half the files*
Less than half the code*
More functionality
Much lower barrier of entry for new
developer

*based on the example coming up
LET’S LOOK AT HELLO WORLD
com_helloworld part 9
http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_backend_actions
NOW WHAT IF WE DID THIS
USING FOF?
Bad joke warning

YELLOW
com_yellow (using FOF)
com_helloworld part 9
Language

Files

Lines of code

PHP

19

285

XML

3

89

SQL

2

10

HTML

2

2

Total

26

386

com_yellow (using FOF)
Language

Files

Lines of code

PHP

2

15

XML

6

130

SQL

3

18

HTML

1

1

Total

12

164
TIP 1
• Don’t use Joomla 3.2 beta 1 (it has bugs)

• At this stage, Joomla 3.2 alpha 1 is better for
FOF dev
TIP 2
• Clear the cache whenever you change table
structure
NOW LET’S MAKE SOMETHING
DATABASE
/administrator/components/com_yellow/sql/install/mysql/install.sql
component name

view name (plural)

CREATE TABLE IF NOT EXISTS `#__yellow_items` (
`yellow_item_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`ordering` int(10) NOT NULL DEFAULT '0',
`created_by` bigint(20) NOT NULL DEFAULT '0',
`created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
magic `modified_by` bigint(20) NOT NULL DEFAULT '0',
fields `modified_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`locked_by` bigint(20) NOT NULL DEFAULT '0',
`locked_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`yellow_item_id`)
) DEFAULT CHARSET=utf8;
id field as per above

view name (singular)
ENTRY POINT
/administrator/components/com_yellow/yellow.php
<?php
defined('_JEXEC') or die();
// Load FOF
include_once JPATH_LIBRARIES.'/fof/include.php';
if(!defined('FOF_INCLUDED')) {
JError::raiseError ('500', 'FOF is not installed');
}

FOFDispatcher::getTmpInstance('com_yellow')->dispatch();
component name
DISPATCHER
/administrator/components/com_yellow/fof.xml
<?xml version="1.0" encoding="UTF-8"?>
<fof>
<backend>
<dispatcher>
<option name="default_view">items</option>
</dispatcher>
</backend>
default view
</fof>
INSTALLATION XML
• Aka XML Manifest
• Just like normal Joomla component
CONFIG
/administrator/components/com_yellow/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<fieldset
name="permissions"
label="JCONFIG_PERMISSIONS_LABEL"
description="JCONFIG_PERMISSIONS_DESC"
>
<field
name="rules"
type="rules"
label="JCONFIG_PERMISSIONS_LABEL"
class="inputbox"
filter="rules"
component="com_yellow"
section="component" />
</fieldset>
</config>

component name
ACCESS
/administrator/components/com_yellow/access.xml
<?xml version="1.0" encoding="utf-8"?>
component name
<access component="com_yellow">
<section name="component">
<action name="core.admin" title="JACTION_ADMIN"
description="JACTION_ADMIN_COMPONENT_DESC" />
<action name="core.manage" title="JACTION_MANAGE"
description="JACTION_MANAGE_COMPONENT_DESC" />
<action name="core.create" title="JACTION_CREATE"
description="JACTION_CREATE_COMPONENT_DESC" />
<action name="core.delete" title="JACTION_DELETE"
description="JACTION_DELETE_COMPONENT_DESC" />
<action name="core.edit" title="JACTION_EDIT"
description="JACTION_EDIT_COMPONENT_DESC" />
<action name="core.edit.state" title="JACTION_EDITSTATE"
description="JACTION_EDITSTATE_COMPONENT_DESC" />
</section>
</access>
LIST VIEW
/administrator/components/com_yellow/views/items/tmpl/form.default.xml
Refer to live demo, couldn’t fit all the code on this page
<header name="title" type="fieldsearchable" sortable="true"
buttons="yes" buttonclass="btn"
/>

<field name="title" type="text"
show_link="true"
url="index.php?option=com_yellow&amp;view=item&amp;id=[ITEM:ID]"
empty_replacement="(no title)"
/>
FORM
/administrator/components/com_yellow/views/item/tmpl/form.form.xml
<?xml version="1.0" encoding="utf-8"?>
<form
validate="true"
>
<fieldset name="basic_configuration"
label="COM_YELLOW_ITEMS_GROUP_BASIC"
description="COM_YELLOW_ITEMS_GROUP_BASIC_DESC"
class="span6"
>
<field name="title" type="text"
class="inputbox"
label="COM_YELLOW_ITEMS_FIELD_TITLE"
labelclass="yellow-label yellow-label-main"
required="true"
size="50"
/>
</fieldset>
</form>
ADD ENABLED
• enabled (aka state or published)
• ALTER TABLE jos_yellow_items ADD `enabled`
tinyint(3) NOT NULL DEFAULT '1';
/administrator/components/com_yellow/views/
items/tmpl/form.default.xml
• <header name="enabled" type="published" sortable="true"
tdwidth="8%" />
• <field name="enabled" type="published"/>
ADD ENABLED
• Notice the filter has been automatically added
ADD ENABLED
/administrator/components/com_yellow/views/
item/tmpl/form.form.xml
<field name="enabled" type="list" label="JSTATUS"
labelclass="hello-label"
description="JFIELD_PUBLISHED_DESC" class="inputbox"
filter="intval" size="1" default="1"
>
<option value="1">JPUBLISHED</option>
<option value="0">JUNPUBLISHED</option>
</field>
ADD ENABLED
ADD FIELD TO FORM
• ALTER TABLE jos_yellow_items ADD `country`
varchar(255) NOT NULL;
• /administrator/components/com_yellow/views/it
em/tmpl/form.form.xml
<field name="country" type="text"
description="COM_YELLOW_FIELD_COUNTRY_DESC"
label="COM_YELLOW_FIELD_COUNTRY_LABEL"
required="true"
class="inputbox"
size="60"
/>
ADD FIELD TO FORM
• /administrator/language/en-GB/enGB.com_yellow.ini
• COM_YELLOW_FIELD_COUNTRY_DESC="What country is this
greeting for? "
• COM_YELLOW_FIELD_COUNTRY_LABEL="Country"
NOW FOR SOME COOL STUFF
CSV FORMAT
• Append &format=csv to any view
JSON FORMAT
• Append &format=json to any view
• /administrator/index.php?option=com_yellow&format
=json
• [{"yellow_item_id":"1","title":"Hello World!","slug":"helloworld","ordering":"0","created_by":"857","created_on":"2013-1013 07:04:35","modified_by":"857","modified_on":"2013-10-13
08:36:13","locked_by":"857","locked_on":"2013-10-13
08:44:12","enabled":"1","country":"Australia"},{"yellow_item_id":"
2","title":"Good bye World!","slug":"good-byeworld","ordering":"0","created_by":"857","created_on":"2013-1013 07:26:43","modified_by":"0","modified_on":"0000-00-00
00:00:00","locked_by":"0","locked_on":"0000-00-00
00:00:00","enabled":"1","country":""}]
MIX AND MATCH PHP WITH XML
• /administrator/components/com_yellow/views/it
ems/tmpl/default.php
<?php
defined('_JEXEC') or die();
This bit loads the XML file

$viewTemplate = $this->getRenderedForm();
echo $viewTemplate;
echo '<div class="span12">If you like this extension, please leave a
rating and review on the <a
href="http://extensions.joomla.org/">JED</a>';
MIX AND MATCH PHP WITH XML
MEDIA FILES OVERRIDES
/administrator/components/com_yellow/views/items/tmpl/form.defa
ult.xml
<?xml version="1.0" encoding="utf-8"?>
<form
lessfiles="media://com_yellow/css/backend.less||media://com_y
ellow/css/backend.css"
type="browse"
show_header="1"
show_filters="1"
show_pagination="1"
norows_placeholder="COM_YELLOW_COMMON_NORECORDS"
>
MEDIA FILES OVERRIDES
/media/com_yellow/css/backend.css
.span12{
color: #CCCCCC;
}
Not the HTML folder

/administrator/templates/isis/media/com_yellow/c
ss/backend.css
.span12{
color: #FF00FF;
}
SIDEBAR MENU
• Built automatically based on views
• In alphabetical order by default, or you can specify the order by
adding
/administrator/components/com_yellow/views/blah/metadata.xml
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<foflib>
<ordering>4</ordering>
</foflib>
<view title="COM_YELLOW_VIEW_BLAH_TITLE">
<message><![CDATA[COM_YELLOW_VIEW_BLAH_DESC]]></message>
</view>
</metadata>
SIDEBAR MENU
• Hide view by adding blank file skip.xml
/administrator/components/com_yellow/views/
blah/skip.xml
VERSION SPECIFIC VIEW
OVERRIDES
• FOF will automatically search for view template
files (or XML forms) suffixed with the Joomla!
version family or version number
• Joomla! 2.5
– default.j25.php, default.j2.php and default.php

• Joomla! 3.2
– default.j32.php, default.j3.php and default.php

• Also applies to XML forms
– form.default.j25.xml, form.default.j2.xml
Demo time…
Now you are ready to start creating
your own components with FOF
QUESTIONS
RESOURCES
• https://groups.google.com/forum/#!forum/fra
meworkonframework

Contenu connexe

Tendances

Custom Template for Joomla! 3
Custom Template for Joomla! 3Custom Template for Joomla! 3
Custom Template for Joomla! 3Carly Willats
 
Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Rod Martin
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5Nir Elbaz
 
Behaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & DrupalBehaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & Drupalsparkfabrik
 
Getting started-with-zend-framework
Getting started-with-zend-frameworkGetting started-with-zend-framework
Getting started-with-zend-frameworkMarcelo da Rocha
 
Facebook Development with Zend Framework
Facebook Development with Zend FrameworkFacebook Development with Zend Framework
Facebook Development with Zend FrameworkBrett Harris
 
Joomla! Templates and Comparison of Frameworks
Joomla! Templates and Comparison of FrameworksJoomla! Templates and Comparison of Frameworks
Joomla! Templates and Comparison of FrameworksSaurabh Shah
 
Getting started-with-zend-framework
Getting started-with-zend-frameworkGetting started-with-zend-framework
Getting started-with-zend-frameworkNilesh Bangar
 
Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Peter Martin
 
Joomla! Plugin Development
Joomla! Plugin DevelopmentJoomla! Plugin Development
Joomla! Plugin DevelopmentYireo
 
Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 BoilerplateMichael Enslow
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5Ketan Raval
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Peter Martin
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5ketanraval
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid ThemDaniel Kanchev
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Howard Greenberg
 
How to Develop Your First Ever Joomla Template?
How to Develop Your First Ever Joomla Template?How to Develop Your First Ever Joomla Template?
How to Develop Your First Ever Joomla Template?damienwoods
 
Joomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event SeminarJoomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event SeminarGunjan Patel
 
Creating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without SwearingCreating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without Swearingmartinwolak
 
Tech talk live alfresco web editor [compatibility mode]
Tech talk live   alfresco web editor [compatibility mode]Tech talk live   alfresco web editor [compatibility mode]
Tech talk live alfresco web editor [compatibility mode]Alfresco Software
 

Tendances (20)

Custom Template for Joomla! 3
Custom Template for Joomla! 3Custom Template for Joomla! 3
Custom Template for Joomla! 3
 
Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
 
Behaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & DrupalBehaviour Driven Development con Behat & Drupal
Behaviour Driven Development con Behat & Drupal
 
Getting started-with-zend-framework
Getting started-with-zend-frameworkGetting started-with-zend-framework
Getting started-with-zend-framework
 
Facebook Development with Zend Framework
Facebook Development with Zend FrameworkFacebook Development with Zend Framework
Facebook Development with Zend Framework
 
Joomla! Templates and Comparison of Frameworks
Joomla! Templates and Comparison of FrameworksJoomla! Templates and Comparison of Frameworks
Joomla! Templates and Comparison of Frameworks
 
Getting started-with-zend-framework
Getting started-with-zend-frameworkGetting started-with-zend-framework
Getting started-with-zend-framework
 
Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014Problemen oplossen in Joomla - Joomladagen 2014
Problemen oplossen in Joomla - Joomladagen 2014
 
Joomla! Plugin Development
Joomla! Plugin DevelopmentJoomla! Plugin Development
Joomla! Plugin Development
 
Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 Boilerplate
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
 
How to Develop Your First Ever Joomla Template?
How to Develop Your First Ever Joomla Template?How to Develop Your First Ever Joomla Template?
How to Develop Your First Ever Joomla Template?
 
Joomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event SeminarJoomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event Seminar
 
Creating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without SwearingCreating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without Swearing
 
Tech talk live alfresco web editor [compatibility mode]
Tech talk live   alfresco web editor [compatibility mode]Tech talk live   alfresco web editor [compatibility mode]
Tech talk live alfresco web editor [compatibility mode]
 

En vedette

20 common mistakes you should avoid while handling an e-marketing campaign
20 common mistakes you should avoid while handling an e-marketing campaign20 common mistakes you should avoid while handling an e-marketing campaign
20 common mistakes you should avoid while handling an e-marketing campaignJoomlaDay Australia
 
Mobile First Development by Shayne Bartlett
Mobile First Development by Shayne BartlettMobile First Development by Shayne Bartlett
Mobile First Development by Shayne BartlettJoomlaDay Australia
 
Ecwid: shopping cart solution to meet business need
Ecwid: shopping cart solution to meet business needEcwid: shopping cart solution to meet business need
Ecwid: shopping cart solution to meet business needJoomlaDay Australia
 
Robert Joseph: What is wine communication and who are the wine communicators ...
Robert Joseph: What is wine communication and who are the wine communicators ...Robert Joseph: What is wine communication and who are the wine communicators ...
Robert Joseph: What is wine communication and who are the wine communicators ...Digital Wine Communications Conference
 
How People Feel About Dos in Halloween Costumes
How People Feel About Dos in Halloween CostumesHow People Feel About Dos in Halloween Costumes
How People Feel About Dos in Halloween CostumesAmerican Kennel Club
 

En vedette (7)

20 common mistakes you should avoid while handling an e-marketing campaign
20 common mistakes you should avoid while handling an e-marketing campaign20 common mistakes you should avoid while handling an e-marketing campaign
20 common mistakes you should avoid while handling an e-marketing campaign
 
Mobile First Development by Shayne Bartlett
Mobile First Development by Shayne BartlettMobile First Development by Shayne Bartlett
Mobile First Development by Shayne Bartlett
 
Ecwid: shopping cart solution to meet business need
Ecwid: shopping cart solution to meet business needEcwid: shopping cart solution to meet business need
Ecwid: shopping cart solution to meet business need
 
Robert Joseph: What is wine communication and who are the wine communicators ...
Robert Joseph: What is wine communication and who are the wine communicators ...Robert Joseph: What is wine communication and who are the wine communicators ...
Robert Joseph: What is wine communication and who are the wine communicators ...
 
How to Shine Online
How to Shine OnlineHow to Shine Online
How to Shine Online
 
How People Feel About Dos in Halloween Costumes
How People Feel About Dos in Halloween CostumesHow People Feel About Dos in Halloween Costumes
How People Feel About Dos in Halloween Costumes
 
How People Exercise Their Dogs
How People Exercise Their DogsHow People Exercise Their Dogs
How People Exercise Their Dogs
 

Similaire à Rapid application development using Akeeba FOF and Joomla 3.2

Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesShabir Ahmad
 
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Peter Martin
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsClay Ewing
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction PresentationNerd Tzanetopoulos
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfonyFrancois Zaninotto
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyLeslie Doherty
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development Mage Guru
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...IT Event
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGiuliano Iacobelli
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Peter Martin
 
DrupalCon LA 2015 Review
DrupalCon LA 2015 ReviewDrupalCon LA 2015 Review
DrupalCon LA 2015 ReviewlittleMAS
 
Seattle bestpractices2010
Seattle bestpractices2010Seattle bestpractices2010
Seattle bestpractices2010Olaseni Odebiyi
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesMark Rackley
 
Creating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsCreating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsRob Goris
 
OA Framwork Presentation.pptx
OA Framwork Presentation.pptxOA Framwork Presentation.pptx
OA Framwork Presentation.pptxwadierefky1
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin GeneratorJohn Cleveley
 

Similaire à Rapid application development using Akeeba FOF and Joomla 3.2 (20)

Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API Changes
 
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
Developing a Joomla 3.x Component using RAD FOF- Part 1: Back-end - Joomladay...
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web Skills
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Mageguru - magento custom module development
Mageguru -  magento custom module development Mageguru -  magento custom module development
Mageguru - magento custom module development
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplications
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014Joomla 3 Component programmeren met RAD - Joomladagen 2014
Joomla 3 Component programmeren met RAD - Joomladagen 2014
 
DrupalCon LA 2015 Review
DrupalCon LA 2015 ReviewDrupalCon LA 2015 Review
DrupalCon LA 2015 Review
 
Seattle bestpractices2010
Seattle bestpractices2010Seattle bestpractices2010
Seattle bestpractices2010
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
 
Creating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsCreating Openbravo Workspace Widgets
Creating Openbravo Workspace Widgets
 
OA Framwork Presentation.pptx
OA Framwork Presentation.pptxOA Framwork Presentation.pptx
OA Framwork Presentation.pptx
 
Working With The Symfony Admin Generator
Working With The Symfony Admin GeneratorWorking With The Symfony Admin Generator
Working With The Symfony Admin Generator
 

Plus de JoomlaDay Australia

Top tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experienceTop tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experienceJoomlaDay Australia
 
Developing a prize-giveaway style component
Developing a prize-giveaway style componentDeveloping a prize-giveaway style component
Developing a prize-giveaway style componentJoomlaDay Australia
 
Generate Leads and Sales with a Sales Funnel
Generate Leads and Sales with a Sales FunnelGenerate Leads and Sales with a Sales Funnel
Generate Leads and Sales with a Sales FunnelJoomlaDay Australia
 
The integration of joomla with the internet of things concept
The integration of joomla with the  internet of things conceptThe integration of joomla with the  internet of things concept
The integration of joomla with the internet of things conceptJoomlaDay Australia
 
Speed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceSpeed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceJoomlaDay Australia
 

Plus de JoomlaDay Australia (9)

Accessibility, SEO and Joomla
Accessibility, SEO and Joomla Accessibility, SEO and Joomla
Accessibility, SEO and Joomla
 
Top tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experienceTop tips from what we've learned from our 10 years experience
Top tips from what we've learned from our 10 years experience
 
Building Templates for Joomla
Building Templates for JoomlaBuilding Templates for Joomla
Building Templates for Joomla
 
Developing a prize-giveaway style component
Developing a prize-giveaway style componentDeveloping a prize-giveaway style component
Developing a prize-giveaway style component
 
Generate Leads and Sales with a Sales Funnel
Generate Leads and Sales with a Sales FunnelGenerate Leads and Sales with a Sales Funnel
Generate Leads and Sales with a Sales Funnel
 
The integration of joomla with the internet of things concept
The integration of joomla with the  internet of things conceptThe integration of joomla with the  internet of things concept
The integration of joomla with the internet of things concept
 
A tale of two sites
A tale of two sitesA tale of two sites
A tale of two sites
 
Responsive design
Responsive designResponsive design
Responsive design
 
Speed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceSpeed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate Performance
 

Dernier

Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 

Dernier (20)

Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 

Rapid application development using Akeeba FOF and Joomla 3.2