Your SlideShare is downloading. ×

Joomla daytoulouse2013 talk-slides

4,341

Published on

Beat's French slides from Joomladay France 2013 talk

Beat's French slides from Joomladay France 2013 talk

Published in: Technology
2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
4,341
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
2
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • • Field-types: rating , video , file , ajax-fields , gravatar , ajax points , social-apps , etc. Apps: connections, forum (Kunena), private messaging (uddeIM), profilebook , profileblog , profilewall , profile gallery , autowelcome , last-visitors , captcha , CB Blogs , CB Invites , etc. View Access Level support (for Joomla ACL) GroupJive : Empower your users letting them create their own mini-communities with: Wall, files, photos, videos, events, invites, discussions (Kunena) Activity Streams Motivate participation with dynamic streaming of your community events: Profile updates Profileblogs, wall, guestbook Profilegallery Group activities Kunena Easy extending for other events Subscriptions Manage paid subscriptions on your website: Paypal, authorize.net, 2checkout, Google CheckOut, etc (17 total) Auto-recurring Joomla ACL support and built-in Joomla content protection Hundreds of features and many integration possibilities Social net connections CB Connect supports: Facebook, Twitter, Linkedin, Google+, Windows Live sign-ups Social apps in user profiles Get social net data in CB fields Integrations Core Joomla Registration workflow, CB redirect, search, CB content module, CB content bot, Email reconfirm, etc. Kunena forum Forum tab GroupJive discussions Activity stream uddeIM messaging Profile messaging and notifications GroupJive messaging Integration tools GroupJive auto-actions CBSubs SQL and urls CB Auto-actions (all CB, GroupJive and CBSubs triggers) CB Activity, CBSubs GPL, GroupJive, field, connection Acymailing, Kunena, K2, Private message, VirtuMart 2.x, flyspray Query, Code, Redirect, Registration, Usergroup, Request (http, post, get, xml, json)
  • 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.
  • Transcript

    • 1. Community BuilderPlus qu’un simple produit de site social…JoomlaDay France 2013,Toulouse, 24 mars 2013
    • 2. 2.05.13 © Joomlapolis.com 2004-2013 2ConclusionCommunity Builder™ nest pas juste un produit.Community Builder est un outil web puissant:●Un Framework Libre, une API simple●Une architecture modulaire: des plugins CB●Des fonctionalités étendues●Une méthodologie et de linnovation●Une grande communauté fair-play●Une grande compatibilité Joomla2
    • 3. 2.05.13 © Joomlapolis.com 2004-2013 3Au menu du jour…●Introduction à CB, CB PRO et CBSubs●Le logiciel Libre●Valeurs et objectifs●Lapproche Framework●Lapproche Intégration●Community Builder™ (en bref): Fonctionalités, architecture, API●Plugins CB: Connect, Activity, Auto-Actions, GroupJive™, CBSubs™●Templates●CB PRO et Community Builder 2.03
    • 4. 2.05.13 © Joomlapolis.com 2004-2013 4Introduction CB, CB PRO et CBSubs● Community Builder permet de …● Gérer les membres / utilisateurs dès leur enregistrement (workflows)● Gérer leur profils, connections et champs de profils, listes, messages● Gérer leurs activités de forum et connexions depuis leurs profils● CB PRO (ou CB + add-ons) permet en plus de …● Gérer lenregistrement depuis et les liens vers les réseaux sociaux● Afficher les activités, blogger, commenter les profils, murs● Photos, vidéos, fichiers sur profils● Gestion de groupes organiques, et bien bien plus …● CBSubs permet de gérer en plus les …● Niveaux de membres, paiements, abonnements, dons et produits100 % Libre GPL !
    • 5. 2.05.13 © Joomlapolis.com 2004-2013 5Valeurs et objectifs● Une communauté forte et libre● Fair-play, Fair trade, Respect, Ouverture● Respect Privacité mais pas de secrets● Lécoute, la réflexion, la discussion, et la réalisation● Des solutions très très flexibles et extensibles:● Généralisation des besoins● Intégration très poussée des fonctions● Richesse des fonctions
    • 6. 2.05.13 © Joomlapolis.com 2004-2013 6Lapproche FrameworkEntre autres…: Fields, tabs,appsEmpower yourusersSubscribe forprivilegesMotivateparticipationJoomla, Kunena,uddeIM +++Facebook,Twitter, Linkedin,Google+, LiveAuto actionsCBFrameworkUserProfilesOrganicGroupsPaidMembersActivityStreamsCB ConnectIntegra-tions
    • 7. 2.05.13 © Joomlapolis.com 2004-2013 7Lapproche Intégration● CB est avant tout un puissant outil dintégration dapplications● Centré sur lutilisateur● Beaucoupdextensionsintègrentavec CB● Exemples:(il y en a +++)CommunityBuilderCommunityBuilderForum(Kunena)Forum(Kunena)Messaging(uddeIM)Messaging(uddeIM)CCK(K2)CCK(K2)Directory(moseTree)Directory(moseTree)Newsletter(AcyMailing)Newsletter(AcyMailing)Blog(easyblog)Blog(easyblog)Comment(komento)Comment(komento)EventsAllEventsEventsAllEvents
    • 8. 2.05.13 © Joomlapolis.com 2004-2013 8La Communauté CB 594’000+ membres sur joomlapolis.com >2’000’000 sites (source: google search url)– La communauté: c’est le centre, la force de CB CBWorkgroups:– Testing,Translation, Developers CBTeam:– 3 professionnels dédiés à plein temps (Beat, Nick, Kyle)– Deux dizaines de bénévoles,– Une demi-douzaine de mandataires21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com8
    • 9. 2.05.13 © Joomlapolis.com 2004-2013 9CB: Architecture modulaire, extensible21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com9
    • 10. 2.05.13 © Joomlapolis.com 2004-2013 10CB: API: Exemples Get unique User handle:– $cbUser = CBuser::getInstance( (int) $user_id ); Get user’s profile data (raw):– $user = $cbUser->getUserData(); Get user’s profile field, rendered in html for display:– $html = $cbUser->getField( avatar ); Get user’s profile field, rendered as exportable data:– $data = $cbUser->getField( avatar’, null, ‘csv’ ); Get a given tab of the user profile:– $html = $cbUser->getTab( (int) $tab_id ); Get all tabs rendered of a given position on the user profile:– $html = $cbUser->getPosition( center ); Get all positions rendered, indexed:– $userViewTabs= $cbUser->getProfileView(); Render whole profile using CB template:– $html = HTML_comprofiler::_cbTemplateRender( $cbTemplate, $user, Profile,drawProfile, array( &$user, &$userViewTabs ), $output );3/4/2011 © Joomlapolis - 2010 10
    • 11. 2.05.13 © Joomlapolis.com 2004-2013 11CB: Extensibilité: ses plugins100 plugins du CBTeam (Etat 3.2013. 3.2011: 35, 3.2010: 12 !) Et 180+ autres plugins Installable (y.c. upgrades sans dé-installation) 4 types de plugins:– Extensions CB tabs et field-types(peuvent être des combos tabs + field-types)– CB langues– CB templates– Intégrations21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com11
    • 12. Plugins CB Team: Advanced
    • 13. Plugins Professional (Incubator)
    • 14. 2.05.13 © Joomlapolis.com 2004-2013 20GroupJive: Des groupes organiques● Catégorieset sous-catégoriesà linfini:
    • 15. 3/4/2011 21© Joomlapolis – 2005 - 2013
    • 16. CB Activity
    • 17. CB Connect
    • 18. 3/4/2011 © Joomlapolis – 2005 - 2013 31MoreCB Connect: Facebook LiveStream Add Facebook Gadgets to yourprofiles!© Joomlapolis - 2010 31
    • 19. Auto Actions: 327 Events• CB Frontend 42• CB Backend 20• CB Backend& Frontend 20• GroupJive 207• CBSubs 26• Activity 12
    • 20. 42CB Frontendevents20CB Backendevents20CB Front &Back events207GroupJiveevents26CBSubsevents12Activityevents20 Actions types:
    • 21. Action type Action list per typeCB Activity Adds new activity itemAcyMailing Subscribe, Unsubscribe, Remove, PendingCBSubs GPL Subscribe, Renew, Unsubscribe, DeleteCode Method: HTML, PHP (eval), PHP (create_function), JS (inline), JS(URL), jQuery, CSS (inline), CSS (URL), Header, Page Title, Pathway(Breadcrumb)Return: Silent, return echo, var_dump, printConnection Direction: User to users, Users to userAccept: Enabled, DisabledMethod: Normal CB, silentEmail Text/HTML email to recipients, w/o attachementsField Operator: Set (Field = Value), Prefix (ValueField), Suffix (FieldValue),Add (Field = Field + Value), Subtract (Field = Field – Value), Divide(Field = Field / Value), Multiply (Field = Field * Value)FlySpray Mode: Synchronize, DeleteAdd Groups, Remove GroupsAuto Actions: 100+ Actions
    • 22. Action type Action list per typeGroupJive Join Groups, Leave Groups, New Category, New GroupK2 Add K2 groups to users and field synchronizationKunena Create forum categoryLogin/Logout Method: Username, EmailPrivate Message Sends private message from -> to usersQuery SQL query to execute against internal or external databaseRedirect Type: Message, Notice, Note, Attantion, Alert, ErrorRegistration Registration form submissionRequest Method: Get, Post, XML, JSONUsergroup Mode: Create Usergroup, Add, Replace, RemoveAdd user to group: Yes. NoVirtueMart Keeps profile in sync, add/remove shopper usergroupsAuto Actions: More actions
    • 23. 1ère mondiale: CB Privacy 2.0
    • 24. CB Privacy Rules Management
    • 25. Enabling privacy on birthdate
    • 26. User/moderator disabling account
    • 27. User/moderator deleting account
    • 28. 3/4/2011 © Joomlapolis – 2005 - 2013 42CBSubs™:Plus que les paiements et que l’ACL
    • 29. 2.05.13 © Joomlapolis.com 2004-2013 43CBSubs™ Une plateforme automatique de gestion de:– Cotisations de souscriptions (multiples et récurrentes)– Dons– Vente annexe de produits Centrée sur la communauté et autour de membres Ajoutant des workflows pour le paiement à l’enregistrement Intégrée à Community Builder et native Joomla 1.5, 2.5, 3.0,3.1 ACL inclus, sans hacks ! Multi-intégrations (+21 intégrations majeures) Multi-méthodes21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com43
    • 30. 2.05.13 © Joomlapolis.com 2004-2013 44ArchitectureJoomlapolis - 2011 44
    • 31. 2.05.13 © Joomlapolis.com 2004-2013 45CBSubs™ : Fonctions Multiple Gateways de paiement et multiples PSPs Multiples types de Plans (abonnements, dons, marchandises)– Durées (1ère période différente possible)– Période de tolérance (période de grâce)– Prix (1ère période différente possible: essai gratuit, etc)– Paiements Auto-récurrents avec activation/déactivation auto.– Nombre de récurrences autorisées et ce qui se passe après– 21 Intégrations (actions de début/fin des abonnements) Gestion automatique des abonnements– Date début, fin, renouvellements, etc. Gestion automatique des paiements, y compris des disputes– Status, notification, logs de chaque changement et action,etc.Joomlapolis - 2011 45
    • 32. 3/4/2011 © Joomlapolis – 2005 - 2013 46MoreCBSubs™: Caractéristiques des plans -1 Présentation:– Hierarchies avec sous-plans– Plans exclusifs (radio) ou non– Textes de tites et description– Templates MVC par plan Upgrades:– Upgrades d’un plan à un autre– Pro-rating: valeur résiduelle Comportement:– Emails et textes de workflows– Champs CB Cachés/Montrés– Confirmation email / Approbation– Accès ACL, Upgrade ACL JoomlaJoomlapolis - 2011 46
    • 33. 3/4/2011 © Joomlapolis – 2005 - 2013 47MoreCBSubs™: Caractéristiques des plans -2 Prix et durées– Monaies, taux de conversion ECB– Paiements simples et/ou auto.– Règles deTVA Intégrations d’accès:– Accès aux articles / catégories– Accès aux menus– Affichage des modules– Accès aux composants Intégrations d’actions:– Champs CB, Emails, Requêtes SQL, URL, Images Intégrations composants:– Virtuemart, EventList, DocMAN, Remository, jAwards, AlphaUserPoints,iDevAf, PostAfPro, GoogleAnalytics, Plan Images, …Joomlapolis - 2011 47
    • 34. 2.05.13 © Joomlapolis.com 2004-2013 48CBSubs™: Centre des Paiements Le centre des paiements montre l’activité sur 7 jours:●Nombre de transactions, Paiements,●Nouveux Enregistrements, Upgrades, Renouvellements3/4/2011 © Joomlapolis - 2010 48
    • 35. 2.05.13 © Joomlapolis.com 2004-2013 49CBSubs™ : Administration21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com49DEMO
    • 36. 2.05.13 © Joomlapolis.com 2004-2013 50CBSubs™ : Utilisation21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com50DEMO
    • 37. 3/4/2011 © Joomlapolis – 2005 - 2013 51MoreCBSubs™: Architecture© Joomlapolis - 2011 51
    • 38. 3/4/2011 © Joomlapolis – 2005 - 2013 52MoreCBSubs™: Protection (ACL)© Joomlapolis - 2011 52ArticleComponentModuleURL-parts
    • 39. 3/4/2011 © Joomlapolis – 2005 - 2013 53MoreCBSubs™: Protection d’ Articles Joomla Intro peut être montrée, comme “teaser”:Joomlapolis - 2011 53
    • 40. 3/4/2011 © Joomlapolis – 2005 - 2013 54MoreCBSubs™: Protection de Modules Hiding a moduleJoomlapolis - 2011 54Le plan payant ades modulessupplémentaires Le plan gratuitne les a pas
    • 41. 3/4/2011 © Joomlapolis – 2005 - 2013 55MoreCBSubs™: Protection de Composants Even if user knows direct URL to component, CBSubs™ willnot allow access with needed subscription.Joomlapolis - 2011 55
    • 42. 3/4/2011 © Joomlapolis – 2005 - 2013 56MoreCBSubs™: Protection d’URL-parts protection Can be used to protect access to specific URL definedfunctions of a component. Example: Kunena forumcategories!Joomlapolis - 2011 56
    • 43. 2.05.13 © Joomlapolis.com 2004-2013 57CBSubs™ : How content protection worksJoomlapolis - 2011 57Control access to any CMScontent element!
    • 44. 3/4/2011 © Joomlapolis – 2005 - 2013 58MoreCBSubs™ : How integration works CBSubs™ plan subscriber will be automatically added to 2DOCman groups when subscription starts and will beautomatically removed when subscription ends.Joomlapolis - 2011 58
    • 45. 2.05.13 © Joomlapolis.com 2004-2013 59CBSubs™ : Emails automatiquesIntégration AcyMailing:Joomlapolis - 2011 59
    • 46. 3/4/2011 © Joomlapolis – 2005 - 2013 60MoreCBSubs™ : CBTabs / Fields protection Specify who sees what, where and when!Joomlapolis - 2011 60Must be a Plan Asubscriber to see aspecific CB field/tabin his profileMust be a Plan Bsubscriber to see aCB field / tab insomeone else’sprofileCBSubs™:
    • 47. 2.05.13 © Joomlapolis.com 2004-2013 61CBSubs™ :The documentation Quality 500+ pages Very detailed Many use cases presented Hundreds of pictures Special forum for doc suggestionsJoomlapolis - 2011 61
    • 48. 2.05.13 © Joomlapolis.com 2004-2013 62CBSubs™ : Summary CBSubs™ is a powerhouse tool that can:– Transform you Joomla site into a money making machine byenabling content for money type subscriptions– Protect any Joomla content and charge a subscription fee toaccess– Manage your membership subscriptions automaticallygranting or revoking privileges when needed– Sell your merchandise items– Collect your donations– Integrate with many key Joomla extensions62Joomlapolis - 2011
    • 49. 2.05.13 © Joomlapolis.com 2004-2013 63Templates : La Vitesse « V » pour J!3Les templates les plus rapides de Joomla! :21 mars 2010Community Builder™, © 2004-2010 -www.joomlapolis.com63
    • 50. 2.05.13 © Joomlapolis.com 2004-2013 64CB PRO: Un installeur préconfiguré● Un installeur / upgradeur Joomla préconfiguré
    • 51. CB Package builder: Select Joomla
    • 52. Select CB component and add-ons
    • 53. CB PRO ou créez votre preset
    • 54. 2.05.13 © Joomlapolis.com 2004-2013 68CB 2.0: 80% est dans CB PRO● Une évolution compatible:● CB 2.0 est une évolution en douceur● CB 2.0, vous en avez 80% aujourdhui avec CB PRO.● Ce quil y aurra en plus:● Nouvelle implémentation spécification de ladministration● nouvelles librairies● nouveaux templates extensibles (et 100% responsifs)● Joomla 2.5+CB 1.x CB PRO 1.x CB 2.0+add-ons = +admin+templates =
    • 55. MoreTraditional design●Specify●Design●Implement(in MVC)69© Joomlapolis - 2012…Unrelated !
    • 56. MoreCommunity Builder 2.0 5Years of researchat Lightning Labs!70© Joomlapolis - 2012✔Related !
    • 57. 2012-05-20 71© Joomlapolis - 2012NO Implementation!No <?PHP ?> code!No <script /> code!No SQL queries!Look Ma !
    • 58. INTRODUCING…AHA?© Joomlapolis - 2012 72AutomaticHomogenousApplicationsWebOptimizedWorkflows? !WOW!™
    • 59. AHA? …Compare… WOW!Classical (H)MVC: Model +View + Controllerimplementation + Helpers and Javascript helpers Not hierarchical Not agonistic Lot of “COPY-PASTE”code Lot of layouting Not formalAHA?WOW!™ MVC: Specification only Hierarchical – MVC Agonistic No specific code (or very little) Formal© Joomlapolis - 2012 73
    • 60. AHA?WOA!So……?…The 2’ Example:Currency rates browser© Joomlapolis - 2012 74
    • 61. 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>75© Joomlapolis - 2012This installs / upgrades database !
    • 62. More❷ Controller:<action name="show_currencies" request="view" requestparams="showcur" ><showview view="showcurrencies" mode="show"><model name="currencies"></showview></action>76© Joomlapolis - 2012Controller links Model with View
    • 63. 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>77© Joomlapolis - 2012Views define Items to display & Layout
    • 64. THERESULT The result:© Joomlapolis - 2012 78
    • 65. 79© Joomlapolis - 2012CBSubs GPL 3.0uses alreadyAHA?WOW!™CB 2.0 too !
    • 66. CBSubs Administration: 0 lines of specific code2012-05-20 © Joomlapolis - 2012 80 6900 lines of specifications (core CBSubs CB plugin) only– 41 controllers– 50 views– 56 models– 397 “queries”– 650 settings
    • 67. CB 2.0 uses AHA?WOW!™ & Bootstrap!2012-05-20 © Joomlapolis - 2012 81
    • 68. 2.05.13 © Joomlapolis.com 2004-2013 82IntroductionCommunity Builder™ nest pas juste un produit™ pour unréseau social. Cest:● Un Framework Libre avec une API● Une architecture modulaire● Une méthodologie● De linnovation● Une grande communauté fair-play● Des fonctionalités étendues● Une grande compatibilitéCommunity Builder est un outil web puissant
    • 69. 3/4/2011 © Joomlapolis – 2005 - 2013 83Il y a un atelier après le café…Questions ?

    ×