SlideShare a Scribd company logo
1 of 16
Community Builder 2.0:
Using a new way to build Web-Apps




          @ J and Beyond 2012
More
       Traditional design
       ① Specify
       ② Design
       ③ Implement
         (in MVC)



                     Design
                                                     (MVC)
                                              Implementation




                                                               …Unrelated !

                              © Joomlapolis - 2012                            2
More

       Community Builder             2.0
          5 Years of research
           at Lightning Labs!

                                          Specification    ✔ Related
                                                               !


                                                RESULT
                                 Layout




                                    © Joomlapolis - 2012               3
Look Ma !



                  NO Implementation!
                   No <?PHP ?> code!
                   No <script /> code!
                   No SQL queries!




2012-05-20              © Joomlapolis - 2012   4
INTRODUCING…




               AHA?WOW!                                       ™


               Automatic                      Web
               Homogenous
               Applications        ?          Optimized
                                              Workflows   !
                       © Joomlapolis - 2012                   5
AHA? …Compare… WOW!
Classical (H)MVC:                    AHA?WOW!™ MVC:
 Model + View + Controller
   implementation                        Specification only
 + Helpers
 and Javascript helpers                 Hierarchical – MVC

 Not hierarchical                       Agonistic
 Not agonistic
 Lot of “COPY-PASTE” code               No specific code (or very little)
 Lot of layouting
 Not formal                             Formal

                         © Joomlapolis - 2012                                 6
AHA?WOA!




              So……?
             …The 2’ Example:
           Currency rates browser


                 © Joomlapolis - 2012   7
More
       ❶ Model:
       <model name="currencies">
         <table name="#__currencies" />
         <class name="Currencies" />
       </model>

       <table name="#__currencies" class="Currency">
          <columns>
            <column name="id" type="sql:int(11)" label="Currency Id" />
            <column name="base_currency" type="sql:varchar(3)" label="Base currency" />
            <column name="currency" type="sql:varchar(3)" label="Target currency" />
            <column name="rate" type="sql:float" null="true" label="Exchange rate" />
          </columns>
       </table>
                          This installs / upgrades database !

                                       © Joomlapolis - 2012                           8
More
       ❷ Controller:

       <action name="show_currencies" request="view" requestparams="showcur" >
         <showview view="showcurrencies" mode="show">
            <model name="currencies">
         </showview>
       </action>




                          Controller links Model with View

                                     © Joomlapolis - 2012                        9
More
       ❸ View:

       <view name="showcurrencies" type="params" ui="admin" label="Currencies">
          <tablebrowser name="currenciesbrowser" label="Currency exchange rates">
             <listfields>
                <rows type="standard" height="auto" limit="15" >
                    <field name=""      type="rownumber"        width="20px" align="right" label="#" />
                    <field name="id"     type="primarycheckbox" width="20px" />
                    <field name="currency"     type="string"    width="10%" label="Currency" />
                    <field name="base_currency" type="string" width="30%" label="Base currency" />
                    <field name="rate"       type="float"    width="30%" label="Exchange rate" />
                    <field name="id"        type="int"     width="20%" label="Id" />
                </rows>
             </listfields>
          </tablebrowser>
       </view>
                               Views define Items to display & Layout

                                              © Joomlapolis - 2012                                        10
THE RESULT
   The result:




                  © Joomlapolis - 2012   11
CBSubs 2.0
 uses already
AHA?WOW!™




   © Joomlapolis - 2012   12
CBSubs Administration: 0 lines of specific code
            6900 lines of specifications (core CBSubs CB plugin) only

                41 controllers
                50 views
                56 models
                397 “queries”
                650 settings




2012-05-20                           © Joomlapolis - 2012                13
CB 2.0 uses AHA?WOW!™ & Bootstrap!




2012-05-20          © Joomlapolis - 2012   14
`ONE’ MORE THING…
            AHA?WOW DOES MUCH MORE:
            includes:
              Database-agonistic query-compiler
              Formal dataset query specifications
              Inheritence
              Permissions & Access Levels handling
            Handles 100% of the Admin interface
              Toolbar, Menus
              Online Help
              All field Types
              Tables, Graphs, Widgets, …
            And is event-driven

2012-05-20                           © Joomlapolis - 2012   15
Conclusion

            That was   5 Years of research in 5’
      AHA?WOW!                            ™

       Running Community Builder 2.0
       And your CB 2.0 extension
       And, maybe, one day, Joomla!



      beat@joomlapolis.com                               @joomlapolis


2012-05-20                        © Joomlapolis - 2012                  16

More Related Content

What's hot

Responsive Websites
Responsive WebsitesResponsive Websites
Responsive WebsitesJoe Seifi
 
CSS in React
CSS in ReactCSS in React
CSS in ReactJoe Seifi
 
Alfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and Orbeon
Alfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and OrbeonAlfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and Orbeon
Alfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and OrbeonOksana Kurysheva
 
Angular js
Angular jsAngular js
Angular jsMindtree
 
Building a .Net – based Form Builder for Talisma
Building a .Net – based Form Builder for TalismaBuilding a .Net – based Form Builder for Talisma
Building a .Net – based Form Builder for TalismaNeev Technologies
 

What's hot (9)

Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
Semantic UI Introduction
Semantic UI IntroductionSemantic UI Introduction
Semantic UI Introduction
 
Angularjs tutorial
Angularjs tutorialAngularjs tutorial
Angularjs tutorial
 
Semantic ui
Semantic uiSemantic ui
Semantic ui
 
CSS in React
CSS in ReactCSS in React
CSS in React
 
Alfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and Orbeon
Alfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and OrbeonAlfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and Orbeon
Alfresco DevCon 2011. Implementing eGov Portal. Powered by Alfresco and Orbeon
 
DrupalCamp NH
DrupalCamp NHDrupalCamp NH
DrupalCamp NH
 
Angular js
Angular jsAngular js
Angular js
 
Building a .Net – based Form Builder for Talisma
Building a .Net – based Form Builder for TalismaBuilding a .Net – based Form Builder for Talisma
Building a .Net – based Form Builder for Talisma
 

Similar to Community Builder 2.0: Using a new way to build Web-Apps

Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - IntroductionSagar Acharya
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to conceptsAbhishek Sur
 
OCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJSOCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJSJonathan Meiss
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSJinkyu Kim
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14Mark Rackley
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobilenaral
 
Prism Tech Ed India
Prism Tech Ed IndiaPrism Tech Ed India
Prism Tech Ed Indiarsnarayanan
 
Introduction to Angularjs : kishan kumar
Introduction to Angularjs : kishan kumarIntroduction to Angularjs : kishan kumar
Introduction to Angularjs : kishan kumarAppfinz Technologies
 
Developing the unknown
Developing the unknownDeveloping the unknown
Developing the unknownpaul22blue
 
How Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentHow Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentBruno Borges
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)Hatem Hamad
 
MVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on RailsMVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on Railscodeinmotion
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentationbhavesh singh
 
A Smooth Transition to HTML5
A Smooth Transition to HTML5A Smooth Transition to HTML5
A Smooth Transition to HTML5Chris Bannon
 
Advanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and VisualforceAdvanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and VisualforceSalesforce Developers
 

Similar to Community Builder 2.0: Using a new way to build Web-Apps (20)

Knockout js
Knockout jsKnockout js
Knockout js
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - Introduction
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
OCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJSOCTO BOF - How to build Netvibes with AngularJS
OCTO BOF - How to build Netvibes with AngularJS
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
Prism Tech Ed India
Prism Tech Ed IndiaPrism Tech Ed India
Prism Tech Ed India
 
Introduction to Angularjs : kishan kumar
Introduction to Angularjs : kishan kumarIntroduction to Angularjs : kishan kumar
Introduction to Angularjs : kishan kumar
 
Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter LehtoJavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
 
Developing the unknown
Developing the unknownDeveloping the unknown
Developing the unknown
 
MVC & backbone.js
MVC & backbone.jsMVC & backbone.js
MVC & backbone.js
 
Introduction to Angular Js
Introduction to Angular JsIntroduction to Angular Js
Introduction to Angular Js
 
How Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentHow Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web Development
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
 
MVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on RailsMVC Demystified: Essence of Ruby on Rails
MVC Demystified: Essence of Ruby on Rails
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentation
 
A Smooth Transition to HTML5
A Smooth Transition to HTML5A Smooth Transition to HTML5
A Smooth Transition to HTML5
 
Advanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and VisualforceAdvanced Flow Techniques with Apex and Visualforce
Advanced Flow Techniques with Apex and Visualforce
 

More from CB Team @ Joomlapolis

Community Builder 2.0 Presentation at Joomla! Day France 2014
Community Builder 2.0 Presentation at Joomla! Day France 2014Community Builder 2.0 Presentation at Joomla! Day France 2014
Community Builder 2.0 Presentation at Joomla! Day France 2014CB Team @ Joomlapolis
 
Community Builder 2.0 Preview Webinar
Community Builder 2.0 Preview WebinarCommunity Builder 2.0 Preview Webinar
Community Builder 2.0 Preview WebinarCB Team @ Joomlapolis
 
Juk 2013-getting-started-with-cbsubs
Juk 2013-getting-started-with-cbsubsJuk 2013-getting-started-with-cbsubs
Juk 2013-getting-started-with-cbsubsCB Team @ Joomlapolis
 
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto ActionsCivicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto ActionsCB Team @ Joomlapolis
 
Joomla Day Switzerland 2013 Presentation Slides
Joomla Day Switzerland 2013 Presentation SlidesJoomla Day Switzerland 2013 Presentation Slides
Joomla Day Switzerland 2013 Presentation SlidesCB Team @ Joomlapolis
 
Implementation without coding using Community Builder framework tools
Implementation without coding using Community Builder framework tools Implementation without coding using Community Builder framework tools
Implementation without coding using Community Builder framework tools CB Team @ Joomlapolis
 
CB Workshop with uddeIM, Kunena, GroupJive and CBSubs
CB Workshop with uddeIM, Kunena, GroupJive and CBSubsCB Workshop with uddeIM, Kunena, GroupJive and CBSubs
CB Workshop with uddeIM, Kunena, GroupJive and CBSubsCB Team @ Joomlapolis
 

More from CB Team @ Joomlapolis (20)

JAB14 Honey I shrunk the code
JAB14 Honey I shrunk the codeJAB14 Honey I shrunk the code
JAB14 Honey I shrunk the code
 
Community Builder 2.0 Presentation at Joomla! Day France 2014
Community Builder 2.0 Presentation at Joomla! Day France 2014Community Builder 2.0 Presentation at Joomla! Day France 2014
Community Builder 2.0 Presentation at Joomla! Day France 2014
 
Community Builder 2.0 Preview Webinar
Community Builder 2.0 Preview WebinarCommunity Builder 2.0 Preview Webinar
Community Builder 2.0 Preview Webinar
 
Cb subs gpl-membership-sites
Cb subs gpl-membership-sitesCb subs gpl-membership-sites
Cb subs gpl-membership-sites
 
Juk 2013-getting-started-with-cbsubs
Juk 2013-getting-started-with-cbsubsJuk 2013-getting-started-with-cbsubs
Juk 2013-getting-started-with-cbsubs
 
JUK 2013-implementation-wo-coding
JUK 2013-implementation-wo-codingJUK 2013-implementation-wo-coding
JUK 2013-implementation-wo-coding
 
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto ActionsCivicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
 
Joomla Day Switzerland 2013 Presentation Slides
Joomla Day Switzerland 2013 Presentation SlidesJoomla Day Switzerland 2013 Presentation Slides
Joomla Day Switzerland 2013 Presentation Slides
 
Implementation without coding using Community Builder framework tools
Implementation without coding using Community Builder framework tools Implementation without coding using Community Builder framework tools
Implementation without coding using Community Builder framework tools
 
Joomla daytoulouse2013 talk-slides
Joomla daytoulouse2013 talk-slidesJoomla daytoulouse2013 talk-slides
Joomla daytoulouse2013 talk-slides
 
Jd gr-2012-workshop
Jd gr-2012-workshopJd gr-2012-workshop
Jd gr-2012-workshop
 
Jd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abcJd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abc
 
Jab 2012-contribute
Jab 2012-contributeJab 2012-contribute
Jab 2012-contribute
 
CB Workshop with uddeIM, Kunena, GroupJive and CBSubs
CB Workshop with uddeIM, Kunena, GroupJive and CBSubsCB Workshop with uddeIM, Kunena, GroupJive and CBSubs
CB Workshop with uddeIM, Kunena, GroupJive and CBSubs
 
Jpb kunena-quickstart
Jpb kunena-quickstartJpb kunena-quickstart
Jpb kunena-quickstart
 
Jpb cb-joomla-articles-quickstart
Jpb cb-joomla-articles-quickstartJpb cb-joomla-articles-quickstart
Jpb cb-joomla-articles-quickstart
 
Jpb joomla25-quickstart
Jpb joomla25-quickstartJpb joomla25-quickstart
Jpb joomla25-quickstart
 
Jpb cb admin-nav-quickstart
Jpb cb admin-nav-quickstartJpb cb admin-nav-quickstart
Jpb cb admin-nav-quickstart
 
Jpb udde im-quickstart
Jpb udde im-quickstartJpb udde im-quickstart
Jpb udde im-quickstart
 
Jpb group jive-quickstart
Jpb group jive-quickstartJpb group jive-quickstart
Jpb group jive-quickstart
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Community Builder 2.0: Using a new way to build Web-Apps

  • 1. Community Builder 2.0: Using a new way to build Web-Apps @ J and Beyond 2012
  • 2. More Traditional design ① Specify ② Design ③ Implement (in MVC) Design (MVC) Implementation …Unrelated ! © Joomlapolis - 2012 2
  • 3. More Community Builder 2.0  5 Years of research at Lightning Labs! Specification ✔ Related ! RESULT Layout © Joomlapolis - 2012 3
  • 4. Look Ma ! NO Implementation! No <?PHP ?> code! No <script /> code! No SQL queries! 2012-05-20 © Joomlapolis - 2012 4
  • 5. INTRODUCING… AHA?WOW! ™ Automatic Web Homogenous Applications ? Optimized Workflows ! © Joomlapolis - 2012 5
  • 6. AHA? …Compare… WOW! Classical (H)MVC: AHA?WOW!™ MVC:  Model + View + Controller implementation  Specification only  + Helpers  and Javascript helpers  Hierarchical – MVC  Not hierarchical  Agonistic  Not agonistic  Lot of “COPY-PASTE” code  No specific code (or very little)  Lot of layouting  Not formal  Formal © Joomlapolis - 2012 6
  • 7. AHA?WOA! So……? …The 2’ Example: Currency rates browser © Joomlapolis - 2012 7
  • 8. More ❶ Model: <model name="currencies"> <table name="#__currencies" /> <class name="Currencies" /> </model> <table name="#__currencies" class="Currency"> <columns> <column name="id" type="sql:int(11)" label="Currency Id" /> <column name="base_currency" type="sql:varchar(3)" label="Base currency" /> <column name="currency" type="sql:varchar(3)" label="Target currency" /> <column name="rate" type="sql:float" null="true" label="Exchange rate" /> </columns> </table> This installs / upgrades database ! © Joomlapolis - 2012 8
  • 9. More ❷ Controller: <action name="show_currencies" request="view" requestparams="showcur" > <showview view="showcurrencies" mode="show"> <model name="currencies"> </showview> </action> Controller links Model with View © Joomlapolis - 2012 9
  • 10. More ❸ View: <view name="showcurrencies" type="params" ui="admin" label="Currencies"> <tablebrowser name="currenciesbrowser" label="Currency exchange rates"> <listfields> <rows type="standard" height="auto" limit="15" > <field name="" type="rownumber" width="20px" align="right" label="#" /> <field name="id" type="primarycheckbox" width="20px" /> <field name="currency" type="string" width="10%" label="Currency" /> <field name="base_currency" type="string" width="30%" label="Base currency" /> <field name="rate" type="float" width="30%" label="Exchange rate" /> <field name="id" type="int" width="20%" label="Id" /> </rows> </listfields> </tablebrowser> </view> Views define Items to display & Layout © Joomlapolis - 2012 10
  • 11. THE RESULT  The result: © Joomlapolis - 2012 11
  • 12. CBSubs 2.0 uses already AHA?WOW!™ © Joomlapolis - 2012 12
  • 13. CBSubs Administration: 0 lines of specific code  6900 lines of specifications (core CBSubs CB plugin) only  41 controllers  50 views  56 models  397 “queries”  650 settings 2012-05-20 © Joomlapolis - 2012 13
  • 14. CB 2.0 uses AHA?WOW!™ & Bootstrap! 2012-05-20 © Joomlapolis - 2012 14
  • 15. `ONE’ MORE THING…  AHA?WOW DOES MUCH MORE:  includes:  Database-agonistic query-compiler  Formal dataset query specifications  Inheritence  Permissions & Access Levels handling  Handles 100% of the Admin interface  Toolbar, Menus  Online Help  All field Types  Tables, Graphs, Widgets, …  And is event-driven 2012-05-20 © Joomlapolis - 2012 15
  • 16. Conclusion  That was 5 Years of research in 5’ AHA?WOW! ™  Running Community Builder 2.0  And your CB 2.0 extension  And, maybe, one day, Joomla! beat@joomlapolis.com @joomlapolis 2012-05-20 © Joomlapolis - 2012 16

Editor's Notes

  1. CB is designed to be expandable – features are built over a solid framework.
  2. CB is designed to be expandable – features are built over a solid framework.
  3. CB is designed to be expandable – features are built over a solid framework.
  4. CB is designed to be expandable – features are built over a solid framework.
  5. CB is designed to be expandable – features are built over a solid framework.