SlideShare a Scribd company logo
MVC Framework over WordPress
Todi Adiyatmo Wijoyo for WordCamp Indonesia 2013
Introduction


Name




Role




Developer

Company




Todi Adiyatmo Wijoyo

Tonjoo.com

Twitter


@todiadiyatmo
Disclaimer


This is a very technical presentation
WordPress


Very popular CMS




Easy to learn




Newcomers can learn how to use WordPress quickly

Deploying WordPress is fast







Used by TONS of Website 

Many theme to choose from
Various plugin to extend functionality
Can be developed pararel by using plugin
Reducing development cost significantly

Strong community support
Deploy Strategy – “The WordPress way”

Select
Theme
Plugin

Modify
Classic WordPress Question..



How to add complex functionality ??
Ex : Add complex front end
Theme Hacking - Diggity
Theme Hacking – Diggity ( User Follow)
Development Strategy – “The WordPress way”
Limitation :
 “Inject” new functionality to themes or plugin is
painful, we must dig into the source code




Not so “Time Efficient” ~ Against WP Philosophy

This lead to difficulty in developing complex
application
Other Limitation


Loss of parallel development




Front end Dev and Back End Dev cannot work on the
same theme on the same time

Non standard-code





Lost of custom page template
Different routing scheme
Different file placement scheme
MVC Framework






Model – View – Controller Pattern
Generally accepted style to build complex (web)
application
Used by most framework

Most developer learn how to code in MVC during
their collage time
MVC Framework - disadvantages


Not easy to learn





Take a lot of time to master one framework
Plugin does not extend functionality as WordPress (not
click and go)

Developing web with minimum developer is not so
fast


Getting skilful developer is hard !
MVC
Comparison – WordPress and MVC
Features

WordPress

MVC Framework

Easy to learn

Yes

Relative

Plugin and theme (1)

Yes

Mostly no

Fast deployment (2)

Yes

No

Develop complex
application

Hard

The General accepted
way

1. Some Framework do have plugin
2. Fast development with MVC framework means Senior developer which
equal extra cost
Solution : Running MVC Framework over WordPress

Open Source MVC Framework for WordPress
Lotus Framework Philosophy


Easy to learn




Integration






Easy to deploy – Come with plugin
Seamless integration into theme
Using “native” WordPress code

Some serious documentation





Adopting Codeigniter Syntax

Current solution is not so well documented
We want to make clear documentation

Well tested


Already run on 3 project
Lotus Framework - Architecture

Index

Archive

Single Page

Your chosen theme, any theme
WordPress

Hooked Page
Benefit of Using Lotus Framework


Parallel development




Front end dev on theme, Backend developer on the LF

MVC Convention


Every action done in correct part of apps






Database action done on model
UI done on View
Routing done on Controller

Easier development


Develop complex web application with lower senior
programmer
Simple case study


Develop a custom front end for a multi-site
WordPress network
Case Study Scenario
Indonesia Kreatif
NEWS

DIREKTORI

SHOWCAS
E



5 Websites , Single User Dashboard
Custom Business process




PORTAL

User role

Fast Development

EVENT
Development Strategy


WordPress





(+) Theme and Plugin
( - ) Way… tooo… dificult.. The user role, the
dashboard, the integration 

Framework




( + ) Easy to develop custom web apps with custom user
role
( - ) Just not enough time
( - ) High cost, how many senior programmer you would
hire ? :p
Other bizarre strategy



Build Front end with WordPress
Use framework to “inject data directly to the
database”

WordPress Database
With the help of Lotus Framework


Front end dev working on theme






5 Site -> 5 Theme
Use any theme and plugin you want
Do as usual, it just other ordinary day developing
WordPress theme

Back end developer



Working on custom front end user dashboard
Use native WordPress code to :





Login
Register
Post new article
Native Code - Login



wp_signon( $credentials, $secure_cookie )


http://codex.WordPress.org/Function_Reference/wp_signon
Post List
Native Code – Edit / Post new Article



wp_insert_post()
Quick Demo
Other Case Study - RSVP
Lotus Framework


Contributor






Code Tester
Documentation Guy

Follow us at @tonjoo
Public Release : End of 2013
Question Session

More Related Content

What's hot

Web application framework
Web application frameworkWeb application framework
Web application framework
Pankaj Chand
 
Welcome to the World of WordPress
Welcome to the World of WordPressWelcome to the World of WordPress
Welcome to the World of WordPress
Content Connects, Nashville
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To Know
Pixel Crayons
 
WordPress Architecture for Tech-Savvy Managers
WordPress Architecture for Tech-Savvy ManagersWordPress Architecture for Tech-Savvy Managers
WordPress Architecture for Tech-Savvy Managers
Mario Peshev
 
The Future of WordPress And WooCommerce
The Future of WordPress And WooCommerceThe Future of WordPress And WooCommerce
The Future of WordPress And WooCommerce
Mario Peshev
 
Mobile apps with Umbraco and Phonegap
Mobile apps with Umbraco and PhonegapMobile apps with Umbraco and Phonegap
Mobile apps with Umbraco and Phonegap
Theo Paraskevopoulos
 
Tips for Successful WordPress Enterprise Projects
Tips for Successful WordPress Enterprise ProjectsTips for Successful WordPress Enterprise Projects
Tips for Successful WordPress Enterprise Projects
Mario Peshev
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
Traversy Media
 
Advantages & Disadvantages of Wordpress
Advantages & Disadvantages of WordpressAdvantages & Disadvantages of Wordpress
Advantages & Disadvantages of Wordpress
Xithi Technologies
 
Business and Monetization Opportunities for Developers
Business and Monetization Opportunities for DevelopersBusiness and Monetization Opportunities for Developers
Business and Monetization Opportunities for Developers
Mario Peshev
 
Basic Introduction and Overview of Vue.js
Basic Introduction and Overview of Vue.jsBasic Introduction and Overview of Vue.js
Basic Introduction and Overview of Vue.js
iFour Technolab Pvt. Ltd.
 
Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020
Burton Smith
 
Introduction to WordPress Class 1
Introduction to WordPress Class 1Introduction to WordPress Class 1
Introduction to WordPress Class 1
Adrian Mikeliunas
 
Introduction to WordPress – Muhammad Muhsin
Introduction to WordPress – Muhammad MuhsinIntroduction to WordPress – Muhammad Muhsin
Introduction to WordPress – Muhammad Muhsin
Muhammad Muhsin
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
iScripts
 
Web development presentation
Web development presentationWeb development presentation
Web development presentation
Vaishnavi8950
 
Php Framework
Php FrameworkPhp Framework
Php Framework
cncwebworld
 

What's hot (18)

Web application framework
Web application frameworkWeb application framework
Web application framework
 
Welcome to the World of WordPress
Welcome to the World of WordPressWelcome to the World of WordPress
Welcome to the World of WordPress
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To Know
 
WordPress Architecture for Tech-Savvy Managers
WordPress Architecture for Tech-Savvy ManagersWordPress Architecture for Tech-Savvy Managers
WordPress Architecture for Tech-Savvy Managers
 
The Future of WordPress And WooCommerce
The Future of WordPress And WooCommerceThe Future of WordPress And WooCommerce
The Future of WordPress And WooCommerce
 
Mobile apps with Umbraco and Phonegap
Mobile apps with Umbraco and PhonegapMobile apps with Umbraco and Phonegap
Mobile apps with Umbraco and Phonegap
 
WORDPRESS
WORDPRESSWORDPRESS
WORDPRESS
 
Tips for Successful WordPress Enterprise Projects
Tips for Successful WordPress Enterprise ProjectsTips for Successful WordPress Enterprise Projects
Tips for Successful WordPress Enterprise Projects
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
 
Advantages & Disadvantages of Wordpress
Advantages & Disadvantages of WordpressAdvantages & Disadvantages of Wordpress
Advantages & Disadvantages of Wordpress
 
Business and Monetization Opportunities for Developers
Business and Monetization Opportunities for DevelopersBusiness and Monetization Opportunities for Developers
Business and Monetization Opportunities for Developers
 
Basic Introduction and Overview of Vue.js
Basic Introduction and Overview of Vue.jsBasic Introduction and Overview of Vue.js
Basic Introduction and Overview of Vue.js
 
Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020Getting started with Vue.js - CodeMash 2020
Getting started with Vue.js - CodeMash 2020
 
Introduction to WordPress Class 1
Introduction to WordPress Class 1Introduction to WordPress Class 1
Introduction to WordPress Class 1
 
Introduction to WordPress – Muhammad Muhsin
Introduction to WordPress – Muhammad MuhsinIntroduction to WordPress – Muhammad Muhsin
Introduction to WordPress – Muhammad Muhsin
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
 
Web development presentation
Web development presentationWeb development presentation
Web development presentation
 
Php Framework
Php FrameworkPhp Framework
Php Framework
 

Similar to Lotus Framework

Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web Programmer
Achmad Solichin
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
Exove
 
Brendon Hatcher Joomla for web developers
Brendon Hatcher Joomla for web developersBrendon Hatcher Joomla for web developers
Brendon Hatcher Joomla for web developersJoomla Day South Africa
 
Wordpress Beyond A Blog Word Camp Toronto08
Wordpress Beyond A Blog Word Camp Toronto08Wordpress Beyond A Blog Word Camp Toronto08
Wordpress Beyond A Blog Word Camp Toronto08
Jamie Oastler
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.js
Diego Cardozo
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
Ryan Davis
 
Zend Framework In Action
Zend Framework In ActionZend Framework In Action
Zend Framework In Actionaskme
 
CMS & ECOMMERCE SYSTEMS: What Should You Pick?
CMS & ECOMMERCE SYSTEMS: What Should You Pick?CMS & ECOMMERCE SYSTEMS: What Should You Pick?
CMS & ECOMMERCE SYSTEMS: What Should You Pick?
Diane Deng
 
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Katy Slemon
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
Exove
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
drupalcampest
 
Noman Khan Internship Report 2.pptx
Noman Khan Internship Report 2.pptxNoman Khan Internship Report 2.pptx
Noman Khan Internship Report 2.pptx
NomanKhan869872
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
Shean McManus
 
Wordpress as a framework
Wordpress as a frameworkWordpress as a framework
Wordpress as a framework
Aggelos Synadakis
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
Sam Nasr, MCSA, MVP
 
PHP Web Frameworks Introduction
PHP Web Frameworks IntroductionPHP Web Frameworks Introduction
PHP Web Frameworks Introduction
Adam Englander
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development Frameworks
SeasiaInfotech2
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Evan Mullins
 
Overview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMSOverview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMSsoftweb009
 

Similar to Lotus Framework (20)

Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web Programmer
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
 
Brendon Hatcher Joomla for web developers
Brendon Hatcher Joomla for web developersBrendon Hatcher Joomla for web developers
Brendon Hatcher Joomla for web developers
 
Wordpress Beyond A Blog Word Camp Toronto08
Wordpress Beyond A Blog Word Camp Toronto08Wordpress Beyond A Blog Word Camp Toronto08
Wordpress Beyond A Blog Word Camp Toronto08
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.js
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
 
Zend Framework In Action
Zend Framework In ActionZend Framework In Action
Zend Framework In Action
 
CMS & ECOMMERCE SYSTEMS: What Should You Pick?
CMS & ECOMMERCE SYSTEMS: What Should You Pick?CMS & ECOMMERCE SYSTEMS: What Should You Pick?
CMS & ECOMMERCE SYSTEMS: What Should You Pick?
 
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
Why do JavaScript enthusiast think of Vue.js for building real-time web appli...
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
 
Noman Khan Internship Report 2.pptx
Noman Khan Internship Report 2.pptxNoman Khan Internship Report 2.pptx
Noman Khan Internship Report 2.pptx
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Wordpress as a framework
Wordpress as a frameworkWordpress as a framework
Wordpress as a framework
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
Iis implementation
Iis implementationIis implementation
Iis implementation
 
PHP Web Frameworks Introduction
PHP Web Frameworks IntroductionPHP Web Frameworks Introduction
PHP Web Frameworks Introduction
 
Navigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development FrameworksNavigating the Hype and Realities of Web Development Frameworks
Navigating the Hype and Realities of Web Development Frameworks
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Overview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMSOverview and Comparison of Open Source CMS
Overview and Comparison of Open Source CMS
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 

Lotus Framework

  • 1. MVC Framework over WordPress Todi Adiyatmo Wijoyo for WordCamp Indonesia 2013
  • 3. Disclaimer  This is a very technical presentation
  • 4. WordPress  Very popular CMS   Easy to learn   Newcomers can learn how to use WordPress quickly Deploying WordPress is fast      Used by TONS of Website  Many theme to choose from Various plugin to extend functionality Can be developed pararel by using plugin Reducing development cost significantly Strong community support
  • 5. Deploy Strategy – “The WordPress way” Select Theme Plugin Modify
  • 6. Classic WordPress Question..   How to add complex functionality ?? Ex : Add complex front end
  • 7. Theme Hacking - Diggity
  • 8. Theme Hacking – Diggity ( User Follow)
  • 9. Development Strategy – “The WordPress way” Limitation :  “Inject” new functionality to themes or plugin is painful, we must dig into the source code   Not so “Time Efficient” ~ Against WP Philosophy This lead to difficulty in developing complex application
  • 10. Other Limitation  Loss of parallel development   Front end Dev and Back End Dev cannot work on the same theme on the same time Non standard-code    Lost of custom page template Different routing scheme Different file placement scheme
  • 11. MVC Framework     Model – View – Controller Pattern Generally accepted style to build complex (web) application Used by most framework Most developer learn how to code in MVC during their collage time
  • 12. MVC Framework - disadvantages  Not easy to learn    Take a lot of time to master one framework Plugin does not extend functionality as WordPress (not click and go) Developing web with minimum developer is not so fast  Getting skilful developer is hard !
  • 13. MVC
  • 14. Comparison – WordPress and MVC Features WordPress MVC Framework Easy to learn Yes Relative Plugin and theme (1) Yes Mostly no Fast deployment (2) Yes No Develop complex application Hard The General accepted way 1. Some Framework do have plugin 2. Fast development with MVC framework means Senior developer which equal extra cost
  • 15. Solution : Running MVC Framework over WordPress Open Source MVC Framework for WordPress
  • 16. Lotus Framework Philosophy  Easy to learn   Integration     Easy to deploy – Come with plugin Seamless integration into theme Using “native” WordPress code Some serious documentation    Adopting Codeigniter Syntax Current solution is not so well documented We want to make clear documentation Well tested  Already run on 3 project
  • 17. Lotus Framework - Architecture Index Archive Single Page Your chosen theme, any theme WordPress Hooked Page
  • 18. Benefit of Using Lotus Framework  Parallel development   Front end dev on theme, Backend developer on the LF MVC Convention  Every action done in correct part of apps     Database action done on model UI done on View Routing done on Controller Easier development  Develop complex web application with lower senior programmer
  • 19. Simple case study  Develop a custom front end for a multi-site WordPress network
  • 20. Case Study Scenario Indonesia Kreatif NEWS DIREKTORI SHOWCAS E   5 Websites , Single User Dashboard Custom Business process   PORTAL User role Fast Development EVENT
  • 21. Development Strategy  WordPress    (+) Theme and Plugin ( - ) Way… tooo… dificult.. The user role, the dashboard, the integration  Framework    ( + ) Easy to develop custom web apps with custom user role ( - ) Just not enough time ( - ) High cost, how many senior programmer you would hire ? :p
  • 22. Other bizarre strategy   Build Front end with WordPress Use framework to “inject data directly to the database” WordPress Database
  • 23. With the help of Lotus Framework  Front end dev working on theme     5 Site -> 5 Theme Use any theme and plugin you want Do as usual, it just other ordinary day developing WordPress theme Back end developer   Working on custom front end user dashboard Use native WordPress code to :    Login Register Post new article
  • 24. Native Code - Login  wp_signon( $credentials, $secure_cookie )  http://codex.WordPress.org/Function_Reference/wp_signon
  • 26. Native Code – Edit / Post new Article  wp_insert_post()
  • 29. Lotus Framework  Contributor     Code Tester Documentation Guy Follow us at @tonjoo Public Release : End of 2013