SlideShare ist ein Scribd-Unternehmen logo
1 von 30
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

Weitere ähnliche Inhalte

Was ist angesagt?

Web application framework
Web application frameworkWeb application framework
Web application frameworkPankaj Chand
 
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 KnowPixel Crayons
 
WordPress Architecture for Tech-Savvy Managers
WordPress Architecture for Tech-Savvy ManagersWordPress Architecture for Tech-Savvy Managers
WordPress Architecture for Tech-Savvy ManagersMario Peshev
 
The Future of WordPress And WooCommerce
The Future of WordPress And WooCommerceThe Future of WordPress And WooCommerce
The Future of WordPress And WooCommerceMario Peshev
 
Mobile apps with Umbraco and Phonegap
Mobile apps with Umbraco and PhonegapMobile apps with Umbraco and Phonegap
Mobile apps with Umbraco and PhonegapTheo Paraskevopoulos
 
Tips for Successful WordPress Enterprise Projects
Tips for Successful WordPress Enterprise ProjectsTips for Successful WordPress Enterprise Projects
Tips for Successful WordPress Enterprise ProjectsMario Peshev
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018Traversy Media
 
Advantages & Disadvantages of Wordpress
Advantages & Disadvantages of WordpressAdvantages & Disadvantages of Wordpress
Advantages & Disadvantages of WordpressXithi Technologies
 
Business and Monetization Opportunities for Developers
Business and Monetization Opportunities for DevelopersBusiness and Monetization Opportunities for Developers
Business and Monetization Opportunities for DevelopersMario Peshev
 
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 2020Burton Smith
 
Introduction to WordPress Class 1
Introduction to WordPress Class 1Introduction to WordPress Class 1
Introduction to WordPress Class 1Adrian Mikeliunas
 
Introduction to WordPress – Muhammad Muhsin
Introduction to WordPress – Muhammad MuhsinIntroduction to WordPress – Muhammad Muhsin
Introduction to WordPress – Muhammad MuhsinMuhammad Muhsin
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework differenceiScripts
 
Web development presentation
Web development presentationWeb development presentation
Web development presentationVaishnavi8950
 

Was ist angesagt? (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
 

Ähnlich wie Lotus Framework

Seminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerSeminar: Become a Reliable Web Programmer
Seminar: Become a Reliable Web ProgrammerAchmad Solichin
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the OthersExove
 
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 Toronto08Jamie Oastler
 
Structuring web applications with Backbone.js
Structuring web applications with Backbone.jsStructuring web applications with Backbone.js
Structuring web applications with Backbone.jsDiego Cardozo
 
Php Frameworks
Php FrameworksPhp Frameworks
Php FrameworksRyan 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 OthersExove
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Othersdrupalcampest
 
Noman Khan Internship Report 2.pptx
Noman Khan Internship Report 2.pptxNoman Khan Internship Report 2.pptx
Noman Khan Internship Report 2.pptxNomanKhan869872
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development Shean McManus
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net coreSam Nasr, MCSA, MVP
 
PHP Web Frameworks Introduction
PHP Web Frameworks IntroductionPHP Web Frameworks Introduction
PHP Web Frameworks IntroductionAdam 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 FrameworksSeasiaInfotech2
 
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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

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