More Related Content
Similar to Community Builder 2.0:Using a new way to build Web-Apps (20)
More from CB Team @ Joomlapolis (20)
Community Builder 2.0:Using a new way to build Web-Apps
- 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
- 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
- CB is designed to be expandable – features are built over a solid framework.
- CB is designed to be expandable – features are built over a solid framework.
- CB is designed to be expandable – features are built over a solid framework.
- CB is designed to be expandable – features are built over a solid framework.
- CB is designed to be expandable – features are built over a solid framework.