Upload
cb-team-joomlapolis
View
1.770
Download
1
Embed Size (px)
DESCRIPTION
Community Builder 2.0 Presentation at Joomla! Day France 2014
Citation preview
Community Builder 2.0
JoomlaDay France 2014, Paris, 24 mai 2014
2004 - 20142004 - 2014
Bonjour :-)
2
Beat Joomla-iste depuis 12 ans (ok, Mambo ;-) Top-20 Joomla 1.0.15 and 3.2.0 contributor Membre Joomla Security JSST and JBS ‘beat’ sur les forums, sinon en Suisse Ing. Dipl. EPFL, Dr. à l'EPFL + Bell Labs Datacoms, Internet, Sécurité & web-apps Ma devise:“Make it as simple as possible, but no less”
La communauté: c’est le centre, la force de CB : 518’000+ membres, >2’000’000 sites (source: google)
26.05.14 © Joomlapolis.com 2004-2014 3
Aujourd'hui…
● Introduction à Community Builder™ (CB) 2.0
● Le logiciel Libre: Valeurs et objectifs
● L'Architecture logicielle
● L'approche Intégration
● Community Builder 2.0: Nouveautés en détail
● Plugins CB:
Connect, Activity, Auto-Actions, GroupJive™, CBSubs™
● CB PRO 1.9.1 et 2.0, CB Packager
● CB 2.0 et AHA!WOW?
3
26.05.14 © Joomlapolis.com 2004-2014 4
Introduction à CB 2.0● Community Builder gère vos membres:
100 % Libre GPL !● Procédures d'enregistrement,
profils, connections, listes, photos, vidéos, ...
26.05.14 © Joomlapolis.com 2004-2014 5
Le logiciel Libre (open source)
● Community Builder est libre et gratuit
● Les add-ons sont Libres avec abonnement 1 an
● L'expérience Libre à 100%…
● L'importance des données libérées
● Le problème du SaaS● Google Reader, Posterous, Google Wave,
next: Google Mail ???
26.05.14 © Joomlapolis.com 2004-2014 6
Valeurs 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
Nouveautés CB 2.0 principales
JDAY-FR-2014 © Joomlapolis - 2014 7
Nouveau “look and feel” partout 6 nouveaux types de champs:
file, video, rating, points, audio, date/time
Champs Images avec:– avec moderation et approbation (CB Workflow)
– nouvelle gallerie d'avatars
3 nouveaux plugins ré-écrits et intégrés:– CB Articles, CB Blogs et CB Forums
CB Bootstrap template (nouveau “default”) CBLib (AhaWow+++)
More
Nouveautés CB 2.0 (suite) Toutes les templates CB sont bootstrappées
(default, winclassic, webfx, osx, dark, luna) CB field manager:
– Layouts Profile, Userlist, Profile edit, Registration
– Copy fields et Change field type
– Déactivation édition profils (édition admin seul)
Support emails HTML pour emails workflow Nouveau module administrateur:
admin menu, CB news feed, CB plugin update feed
Langues multi-clés et pluralisations
+++ Total: 139 nouvelles features
JDAY-FR-2014 © Joomlapolis - 2014 8
CB 2.0 nouveaux champs
JDAY-FR-2014 © Joomlapolis - 2014 9
CB 2.0 approbation des images
JDAY-FR-2014 © Joomlapolis - 2014 10
CB 2.0 nouveau plugin Blogs
JDAY-FR-2014 © Joomlapolis - 2014 11
More
CB 2.0 nouveau Blogs (admin)
JDAY-FR-2014 © Joomlapolis - 2014 12
CB 2.0 Joomla menu types
JDAY-FR-2014 © Joomlapolis - 2014 13
Community Builder 1.9.1 vs. 2.0
@ J Day France2014
CB 1.9.1 Admin view & Access
JDAY-FR-2014 © Joomlapolis - 2014 15
CB 2.0 Admin view & Access
JDAY-FR-2014 © Joomlapolis - 2014 16
CB 1.9.1 User Manager Summary
JDAY-FR-2014 © Joomlapolis - 2014 17
CB 2.0 User Manager Summary
JDAY-FR-2014 © Joomlapolis - 2014 18
CB 2.0 Tab Manager
JDAY-FR-2014 © Joomlapolis - 2014 19
CB 1.9.1 Registration & Login
JDAY-FR-2014 © Joomlapolis - 2014 20
CB 2.0 Registration & Login
JDAY-FR-2014 © Joomlapolis - 2014 21
More
CB 2.0 Registration — Tab mode
JDAY-FR-2014 © Joomlapolis - 2014 22
CB 2.0 Field Layout Parameters
JDAY-FR-2014 © Joomlapolis - 2014 23
More
CB 2.0 Field layout in action
JDAY-FR-2014 © Joomlapolis - 2014 24
26.05.14 © Joomlapolis.com 2004-2014 25
L'approche Intégration
● CB est avant tout un puissant outil d'intégration d'applications
● Centré sur l'utilisateur
● Beaucoupd'extensionsintègrentavec CB
● Quelquesexemples:
CommunityBuilder
CommunityBuilder
Forum
(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)
Events
AllEvents
Events
AllEvents
26.05.14 © Joomlapolis.com 2004-2014 26
Architecture logicielle CB 2.0
Joomla!
CBLib 2.0 = Librairie CB (librairie Joomla)
CB 2.0 (composant, modules Joomla)
CB Plugin 2.0 (plugin Joomla)
26.05.14 © Joomlapolis.com 2004-2014 27
Architecture logicielle CB 2.0
Joomla!
CBLib\Cms
CBLib\CBLib
CBLib\CB
CB 2.0 (composant, modules)
CBLibComposer
CB Plugin
Libraries
26.05.14 © Joomlapolis.com 2004-2014 28
Architecture logicielle CBLib
● CBLib 2.0 a une architecture moderne:● Très légère (“Small is beautifull”, et entièrement modulaire
● Utilisant les nouvelles fonctionalités PHP 5.3, en particulier:● Namespacing● Interfaces● Closures and function variables
● Utilisant de manière extensive● Depedency Injection Containers● Class Interfaces● Inversion of Control● Aspect Oriented Programming● Entity-Relation-Processor● Model-View-Controller
26.05.14 © Joomlapolis.com 2004-2014 29
Architecture logicielle CBLib
● CBLib 2.0 inclut:● AhaWow™ : Specification-based execution
● Dependency Injection (DI) Containers
● Observers+Mappers
● Languages (incl. Pluralizations + Multi-keys)
● Auto-loaders for PHP, XML and languages
● Permissions and Access handler
● Database Schema checker and upgrader
● Database Query Compiler
● Image Library
● LESS + Bootstrap 3
● Legacy Compatibility Layer
26.05.14 © Joomlapolis.com 2004-2014 30
CB: Extensibilité: ses plugins
Environ 100 plugins du CB Team
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égrations
21 mars 2010Community Builder™, ©
2004-2010 - www.joomlapolis.com30
Plugins CB Team: Advanced
CB 2.0
INCL. !
CB 2.0
INCL. !
Plugins Professional (Incubator)
CB 2.0
INCL. !
CB 2.0
INCL. !
CB 2.0
INCL. !
26.05.14 © Joomlapolis.com 2004-2014 37
GroupJive: Des groupes organiques
● Catégorieset sous-catégoriesà l'infini:
3/4/2011 38© Joomlapolis – 2005 - 2013
CB Activity
CB Connect
3/4/2011 © Joomlapolis – 2005 - 2013 47
More
CB Connect: Facebook LiveStream
Add Facebook Gadgets to your profiles!
© Joomlapolis - 2010 47
Auto Actions: 327 Events
• CB Frontend 42• CB Backend 20• CB Backend
& Frontend 20• GroupJive 207• CBSubs 26• Activity 12
42CB Frontend
events
20CB Backend
events
20CB Front &
Back events
207GroupJive
events
26CBSubsevents
12Activityevents
20 Actions types:
Action type Action list per type
CB Activity Adds new activity item
AcyMailing Subscribe, Unsubscribe, Remove, Pending
CBSubs GPL Subscribe, Renew, Unsubscribe, Delete
Code 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, print
Connection Direction: User to users, Users to userAccept: Enabled, DisabledMethod: Normal CB, silent
Email Text/HTML email to recipients, w/o attachements
Field 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 Groups
Auto Actions: 100+ Actions
Action type Action list per type
GroupJive Join Groups, Leave Groups, New Category, New Group
K2 Add K2 groups to users and field synchronization
Kunena Create forum category
Login/Logout Method: Username, Email
Private Message
Sends private message from -> to users
Query SQL query to execute against internal or external database
Redirect Type: Message, Notice, Note, Attantion, Alert, Error
Registration Registration form submission
Request Method: Get, Post, XML, JSON
Usergroup Mode: Create Usergroup, Add, Replace, RemoveAdd user to group: Yes. No
VirtueMart Keeps profile in sync, add/remove shopper usergroups
Auto Actions: More actions
CB Privacy: Enabling privacy on birthdate
26.05.14 © Joomlapolis – 2004 - 2014 53
CBSubs™:Plus que les paiements et que
l’ACL
26.05.14 © Joomlapolis.com 2004-2014 54
CBSubs™ : Utilisation
54
DEMO
26.05.14 © Joomlapolis.com 2004-2014 55
CBSubs™ Une plateforme automatique de gestion de:
– Cotisations de souscriptions(multiples et récurrentes)
– Dons– Vente annexe de produits
Centrée sur la communauté et les membres Avec workflows de paiement à l’enregistrement Intégrée à Community Builder et Joomla ACL inclus Multi-intégrations (+21 intégrations majeures) Multi-méthodes
21 mars 2010Community Builder™, ©
2004-2010 - www.joomlapolis.com55
26.05.14 © Joomlapolis.com 2004-2014 56
CBSubs™ : 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 56
3/4/2011 © Joomlapolis – 2005 - 2013 57
More
CBSubs™: 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 Joomla
Joomlapolis - 2011 57
3/4/2011 © Joomlapolis – 2005 - 2013 58
More
CBSubs™: Caractéristiques des plans -2
Prix et durées– Monaies, taux de conversion ECB– Paiements simples et/ou auto.– Règles de TVA (EU+CA+…)
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 58
26.05.14 © Joomlapolis.com 2004-2014 59
CBSubs™: Centre des Paiements
Le centre des paiements montre l’activité sur 7 jours:
● Nombre de transactions, Paiements,● Nouveux Enregistrements, Upgrades,
Renouvellements
3/4/2011 © Joomlapolis - 2010 59
26.05.14 © Joomlapolis.com 2004-2014 60
CBSubs™ : Administration
21 mars 2010Community Builder™, ©
2004-2010 - www.joomlapolis.com60
DEMO
3/4/2011 © Joomlapolis – 2005 - 2013 61
More
CBSubs™: Protection (ACL)
© Joomlapolis - 2011 61
Art
icle
Com
pon
en
t
Mod
ule
UR
L-p
art
s
3/4/2011 © Joomlapolis – 2005 - 2013 62
More
CBSubs™: Protection d’Articles Joomla
Intro peut être montrée, comme “teaser”:
Joomlapolis - 2011 62
3/4/2011 © Joomlapolis – 2005 - 2013 63
More
CBSubs™: Protection de Modules
Hiding a module
Joomlapolis - 2011 63
Le plan payant ades modulessupplémentaires Le plan gratuit
ne les a pas
3/4/2011 © Joomlapolis – 2005 - 2013 64
More
CBSubs™: Protection de Composants
Even if user knows direct URL to component, CBSubs™ will not allow access with needed subscription.
Joomlapolis - 2011 64
3/4/2011 © Joomlapolis – 2005 - 2013 65
More
CBSubs™: Protection d’URL-parts protection
Can be used to protect access to specific URL defined functions of a component. Example: Kunena forum categories!
Joomlapolis - 2011 65
3/4/2011 © Joomlapolis – 2005 - 2013 66
More
CBSubs™ : How integration works
CBSubs™ plan subscriber will be automatically added to 2 DOCman groups when subscription starts and will be automatically removed when subscription ends.
Joomlapolis - 2011 66
26.05.14 © Joomlapolis.com 2004-2014 67
CBSubs™ : Emails automatiques
Intégration AcyMailing:
Joomlapolis - 2011 67
3/4/2011 © Joomlapolis – 2005 - 2013 68
More
CBSubs™ : CB Tabs / Fields protection
Specify who sees what, where and when!
Joomlapolis - 2011 68
Must be a Plan A subscriber to see a specific CB field/tab in
his profile
Must be a Plan B subscriber to see a CB field / tab in someone
else’s profile
CBSubs™:
26.05.14 © Joomlapolis.com 2004-2014 69
CBSubs™ : The documentation
Quality 500+ pages Very detailed Many use cases presented Hundreds of pictures Special forum for doc suggestions
Joomlapolis - 2011 69
26.05.14 © Joomlapolis.com 2004-2014 70
CBSubs™ : Summary CBSubs™ is a powerhouse tool that can:
– Transform you Joomla site into a money making machine by enabling content for money type subscriptions
– Protect any Joomla content and charge a subscription fee to access
– Manage your membership subscriptions automatically granting or revoking privileges when needed
– Sell your merchandise items– Collect your donations– Integrate with many key Joomla extensions
70Joomlapolis - 2011
26.05.14 © Joomlapolis.com 2004-2014 71
Templates : La Vitesse « V » pour J!3
Les templates les plus rapides de Joomla! :
21 mars 2010Community Builder™, ©
2004-2010 - www.joomlapolis.com71
26.05.14 © Joomlapolis.com 2004-2014 72
CB PRO: Un installeur préconfiguré
● Un installeur / upgradeur Joomla préconfiguré
CB Package builder: Select Joomla
Select CB component and add-ons
CB PRO ou créez votre preset
26.05.14 © Joomlapolis – 2004 - 2014 76
AHAWOW
More
Traditional design● Specify● Design● Implement
(in MVC)
77© Joomlapolis - 2012
…Unrelated !
More
Community Builder 2.0 5 Years of research
at Joomlapolis Labs!
78© Joomlapolis - 2012
Related !
2012-05-20 79© Joomlapolis - 2012
NO Implementation!
No <?PHP ?> code!
No <script /> code!
No SQL queries!
Look Ma !
INTR
OD
UC
ING …
AHA?
© Joomlapolis - 2012 80
AutomaticHomogenousApplications
WebOptimizedWorkflows? !
WOW!™
AHA? …Compare… WOW!Classical (H)MVC:
Model+View+ Controller implementation
+ Helpers and Javascript
helpers Not hierarchical Not agonistic (PHP) “COPY-PASTE” code Lot of layouting Not formal
AHA?WOW!™ MVC:
Specification only
Hierarchical – MVC
Agonistic (portable)
DRY, no specific code(or very little)
Formal
© Joomlapolis - 2012 81
AH
A?W
OA
!
So……?…The 2’ Example:
Currency rates browser
© Joomlapolis - 2012 82
More
❶ 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>
83© Joomlapolis - 2012
This installs / upgrades database !
More
❷ Controller:
<action name="show_currencies" request="view" requestparams="showcur" > <showview view="showcurrencies" mode="show"> <model name="currencies"> </showview></action>
84© Joomlapolis - 2012
Controller links Model with View
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>
85© Joomlapolis - 2012
Views define Items to display & Layout
TH
E R
ES
ULT
The result:
© Joomlapolis - 2012 86
87© Joomlapolis - 2012
CBSubs GPL 3.0
uses already
AHA?WOW!™
CB 2.0 now too !
CBSubs Administration: 0 lines of specific code
2012-05-20 © Joomlapolis - 2012 88
6900 lines of specifications (core CBSubs CB plugin) only
– 41 controllers– 50 views– 56 models– 397 “queries”– 650 settings
`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 and event-triggering
2012-05-20 © Joomlapolis - 2012 89
Conclusion
That was 5 Years of research in 5’
AHA?WOW! ™
Running: Community Builder 2.0 CB 2.0 Plugins CBSubs GPL 3.0
2012-05-20 © Joomlapolis - 2012 90
26.05.14 © Joomlapolis.com 2004-2014 91
Conclusion
Community Builder™ n'est pas juste un produit™ pour un réseau social. C'est:
● Un Framework Libre avec une API
● Une architecture modulaire
● Une méthodologie
● De l'innovation
● Une grande communauté fair-play
● Des fonctionalités étendues
● Une grande compatibilité
Community Builder est un outil web puissant
26.05.14 © Joomlapolis – 2004 - 2014 92
Merci !Questions ?