Community Builder 2.0 Presentation at Joomla! Day France 2014

Post on 29-Nov-2014

1.770 views 1 download

description

Community Builder 2.0 Presentation at Joomla! Day France 2014

Transcript of Community Builder 2.0 Presentation at Joomla! Day France 2014

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 ?