Implementation without coding using
Community Builder framework tools
@ JoomlaDay UK 2013
Hello ….
Is everyone
having fun?
JUK-2013 © Joomlapolis - 2013 2
Our profiles:
Nick A. Beat B.
 ‘beat’ on forums
 Lake Geneva, Switzerland
 MS EE/CS, PhD CS
 Internet security / web-apps
 “Make it as simple as
possible, but no less”
 ‘nant’ on forums
 Athens, Greece
 MS EE, MS CS
 Telecom / CIO
 “Good engineers don’t
need tools, bad ones also
have no use for them”
JUK-2013 © Joomlapolis - 2013 3
Reminder
JUK-2013 © Joomlapolis - 2013 4
Presentation Agenda
 Universal uniqueness principle
 Hacking vs. coding
 90% of code is just overhead
 Community Builder™ framework
 Available CB Solutions
 CBAuto Actions
 CBSubs GPL SQL and URL actions
 CB Query field and CB Database lookup field
 Use case examples
 Summary
JUK-2013 © Joomlapolis - 2013 5
Everything is unique
Always remember
you’re
unique
Just like
everyone
else
JUK-2013 © Joomlapolis - 2013 6
Hacking vs. programming
What’s
your
definition?
JUK-2013 © Joomlapolis - 2013 7
More
Hacking vs. programming
 One opinion I have heard expressed is that a hacker can put a
lot of code together in a hurry but if a change is needed the
code has to be completely rewritten.
 A programmer may take a little longer but if changes are
needed they are more quickly and easily installed without the
need for a complete rewrite.
 Hacking is usually described as “quick and dirty.”
 Programmers research, think ahead, design and implement,
Hackers just make the ”fix” and move on
JUK-2013 © Joomlapolis - 2013 8
90% of code is overhead
 Input handling
 Exception handling & special cases
 Output presentation
 Language readiness
 Joomla has event triggers, but coding is still needed
What if we could easily
interject our use case logic
in the right place
without modifying existing code
and
with no overhead?
JUK-2013 © Joomlapolis - 2013 9
More
Community Builder™ architecture
JUK-2013 © Joomlapolis - 2013 10
Available CB Solutions
CB
Framework
User
Profiles
Organic
Groups
Paid
Members
Activity
Streams
CB
Connect
Integra-
tions
Fields, tabs,
apps
Empower your
users
Subscribe for
privileges
Motivate
participation
Joomla, Kunena,
uddeIM, K2 …
Facebook,
Twitter, Linkedin,
Google+, Live
Auto actions
JUK-2013 © Joomlapolis - 2013 11
CB Solution answers
What if we could easily
interject our use case logic
in the right place
without modifying existing
code
and
with no overhead?
Community Builder tools that
address this:
 CBAutoActions
 CBSubsGPL SQL Actions
 CBSubsGPL URL Actions
 CB Query field
 CB DB Lookup validation
field
JUK-2013 © Joomlapolis - 2013 12
CB Auto ActionTriggers
 EventTriggers
 Community Builder: 43
frontend, 20 backend, 20
fe & be
 GroupJive: 206
 CBSubs: 26
 Activity: 12
 Privacy: 25
 Antispam: 40
 Conditional filtering
 CB Field before/after
 Rich unlimited AND
criteria
JUK-2013 © Joomlapolis - 2013 13
Identify
event
Choose
action
Add your use
case logic
CB Auto ActionTypes
 CBActivity
 AcyMailing
 CBSubs GPL
 Code
 Connection
 Email
 Field
 FlySpray
 GroupJive
 K2
 Kunena
 Login/Logout
 Private Message
 Query
 Redirect
 Registration
 Request
 Usergroup
 VirtueMart
 CiviCRM
JUK-2013 © Joomlapolis - 2013 14
CB Activity Action
 Activity Action settings:
 Owner (id)
 User (target user)
 Type (activity type)
 Sub-Type
 Item (item id)
 From (old value)
 To (new value)
 Title (activity entry title)
 Message (act. message)
 Icon (icon name)
 Class (class name)
Use Case Examples
 Mood field change activity
 About me update activity
JUK-2013 © Joomlapolis - 2013 15
More
Mood field change activity
JUK-2013 © Joomlapolis - 2013 16
http://www.joomlapolis.com/support/tutorials/107-use-cases/18338-adding-your-
own-events-to-activity-stream
AcyMailing Action
 AcyMailing Action Settings:
 Subscribe
 Unsubscribe
 Remove
 Pending
Use Case Examples
 Subscribe during
registration based on field
selected
 Subscribe/Unsubscribe
when user joins/leaves a GJ
group
 Variation with CBSubs plan
JUK-2013 © Joomlapolis - 2013 17
More
AcyMailing Action example
JUK-2013 © Joomlapolis - 2013 18
Antispam Action
 Antispam action settings:
 Mode (Block,Whitelist)
 Type (User, IP, email,
domain)
 Value (id, IP, email,
domain)
 Date (start date)
 Time (start time)
 Duration (how long)
 Reason (reason notes)
Use Case Examples
 Block user for a day when
warning field reaches
certain level
JUK-2013 © Joomlapolis - 2013 19
More
Antispam action example
JUK-2013 © Joomlapolis - 2013 20
CBSubs GPL Action
 CBSubsAction Settings:
 Plans (Select plans)
 Mode:
 Subscribe
 Renew
 Unsubscribe
 Delete
Use Case Examples
 Subscribe user to plan
when user Joins GJ Group
 Unsubscribe user from plan
when user specific CB field
reaches a certain level
(Support time consumed
use case)
JUK-2013 © Joomlapolis - 2013 21
More
CBSubs action example on GJ join
JUK-2013 © Joomlapolis - 2013 22
www.joomlapolis.com/support/tutorials/107-use-cases/18339-startend-cbsubs-plan-subscription-when-user-joinsleaves-a-groupjive-group
Code action
 CodeAction settings:
 HTML
 PHP (eval)
 PHP (create_function)
 JS (inline)
 JS (URL)
 jQuery
 CSS (inline)
 CSS (URL)
 Header
 PageTitle
 Pathway (Breadcrumb)
Use Case Examples
 Popup alert when user visits
profile after long period of
time
 Registration hidden field
population from URL get
(Different URL-based
registration forms use case)
JUK-2013 © Joomlapolis - 2013 23
More
Code action to popup alert
JUK-2013 © Joomlapolis - 2013 24
More
Code action registration form
JUK-2013 © Joomlapolis - 2013 25
index.php?option=com_comprofiler&task=registers&Itemid=478&type=Athlete
More
Code action registration form
JUK-2013 © Joomlapolis - 2013 26
Connection action
 Connections Action
settings:
 Users (ids)
 Message
 Direction
 User to users
 Users to user
 Accept
 Enable
 Disabled
 Method
 Silent
 Normal CB
Use Case Examples
 Establish connection of
user with other user based
onCB field value
JUK-2013 © Joomlapolis - 2013 27
Email action
 Email Action settings:
 To
 Subject
 Body
 Mode (HTML,Text)
 CC / BCC
 Attachment
 From Address
 From Name
 Mailer
 Default CB
 PHP Mail
 Sendmail
 SMTP
Use Case Examples
 Send email after
registration with
registration data
(Existing membership
inquiry use case)
 Send language specific
emails based on CB field
selection
 Sending emails from
different SMTP mail server
(Google non-spam use
case)
JUK-2013 © Joomlapolis - 2013 28
More
Email with member data
JUK-2013 © Joomlapolis - 2013 29
More
Email with member data
JUK-2013 © Joomlapolis - 2013 30
More
Sending email from other server
JUK-2013 © Joomlapolis - 2013 31
More
Sending email from other server
JUK-2013 © Joomlapolis - 2013 32
Field action
 Field Action settings:
 Field
 Operator
 Set (Field =Value)
 Prefix (ValueField)
 Suffix (FieldValue)
 Add (Field +=Value)
 Subtract (Field -=Value)
 Divide (Field /=Value)
 Multiply (Field *=Value)
 Value
Use Case Examples
 Add 2 integer fields and
store result in third field
 Concatenate fields and
store in third field
 Set field value when user
joins GJ group
 Set field value when user
subscribes to specific
CBSubs plan (can also be
done via CBSubs plan)
JUK-2013 © Joomlapolis - 2013 33
Flyspray action
 Flyspray Action settings:
 Mode
 Synchronize
 Delete
 Add Groups (S)
 Remove Groups (S)
 Encryption (S)
 MD5
 SH1
 CRYPT
 Database
 Host
 Username
 Password
 Database
 Charset
 Table Prefix
Use Case Examples
 Add new website users to
flyspray database
 Sync flyspray user database
when user updates profile
 Add user to flyspray project
when they join a specific GJ
group
JUK-2013 © Joomlapolis - 2013 34
More
Flyspray action example
JUK-2013 © Joomlapolis - 2013 35
More
Flyspray action example
JUK-2013 © Joomlapolis - 2013 36
GroupJive action
 GroupJiveAction settings:
 Auto
 Join Groups
 LeaveGroups
 New Group
 New Category
 Groups (JG, LG)
 Status (JG)
 Active | Banned | Inactive
| Moderator |Admin |
Owner
Use Case Examples
 Automatically create a new
group based on first login
and field data
(voting area use case)
 Join GJ group based on user
field value
(Interest groups use case)
JUK-2013 © Joomlapolis - 2013 37
More
GroupJive action example
JUK-2013 © Joomlapolis - 2013 38
K2 action
 K2Action settings:
 Mode
 Synchronize
 Delete
 User Group (S)
 Gender (S)
 Description (S)
 URL (S)
 Notes (S)
Use Case Examples
 Synchronize user to specific
K2 group at first login
 Delete user from K2 group
when user leaves specific GJ
group
JUK-2013 © Joomlapolis - 2013 39
Kunena action
 KunenaAction settings:
 Name (category)
 Parent (category)
 Description
Use Case Examples
 Create new forum category
based on field data
JUK-2013 © Joomlapolis - 2013 40
Login/logout action
 Login/logout Action
settings:
 Mode
 Login
 Logout
 Method (Login)
 Username
 Email
 Username (U)
 Email Address (El)
 Redirect
 Message
Use Case Examples
 Automatically login user
when email confirmation
link is clicked
JUK-2013 © Joomlapolis - 2013 41
More
Login action example
JUK-2013 © Joomlapolis - 2013 42
Menu action
 MenuAction settings:
 Title
 Type(UE_MENU_VIEW,
_UE_MENU_EDIT,
_UE_MENU_MESSAGES,
_UE_MENU_CONNECTIONS,
_UE_MENU_MODERATE)
 Class (e.g. _UE_MENU_MYMENU)
 Position
 Menu Bar
 Menu List
 URL
 URLTarget
 Tooltip
 Image URL
Use Case Examples
 Add new personalized CB
Menu on a user profile
JUK-2013 © Joomlapolis - 2013 43
More
Menu action example
JUK-2013 © Joomlapolis - 2013 44
Private Message action
 Private Messages Action
settings:
 From
 To
 Subject
 Message
Use Case Examples
 Send auto-welcome
message to user when they
join a specific GJ group
 Send message to specific
user when new member
signs in
JUK-2013 © Joomlapolis - 2013 45
Privacy action
 Privacy Action settings:
 Owner
 Type
 Subtype
 Item
 Rule
 Public
 Users
 Private
 Connections
 Connections of
Connections
 ConnectionTypes
– Friend
– CoWorker
Use Case Examples
 Add privacy rule to user
when user joins GJ group
JUK-2013 © Joomlapolis - 2013 46
Query action
 QueryAction settings:
 Query
 Mode
 Internal
 External
 Host (E)
 Username (E)
 Password (E)
 Database (E)
 Charset (E)
 Table Prefix (E)
Use Case Examples
 Insert entry to legacy user
database when new
registration happens
 Update legacy database
when profile update
happens
JUK-2013 © Joomlapolis - 2013 47
More
Query action example
JUK-2013 © Joomlapolis - 2013 48
Redirect action
 Redirect Action settings:
 URL
 Message
 Type
 Message
 Notice
 Note
 Attention
 Alert
 Error
Use Case Examples
 Redirect user to specific site
URL after login when a
specific CB field criteria is
met
JUK-2013 © Joomlapolis - 2013 49
More
Redirect action example
JUK-2013 © Joomlapolis - 2013 50
Registration action
 Registration Action
settings:
 Username
 Password
 First Name
 Middle Name
 Last Name
 Fields
 Suppress Emails
 Enable
 Disable
Use Case Examples
 Create new account when
user subscribes to specific
plan
(Child account use case)
JUK-2013 © Joomlapolis - 2013 51
Request action
 Request Action settings:
 URL
 Method
 Get
 Post
 XML
 JSON
 Request (e.g. GET: name=[name],
POST: username=[username], XML:
<email>[email]</email>)
 Return (Hide | Show)
 Error (Hide | Show)
 Debug (Hide | Show)
Use Case Examples
 Call external script
JUK-2013 © Joomlapolis - 2013 52
Usergroup action
 UsergroupAction settings:
 Mode
 Create Usergroup
 Add Usergroups
 Replace Usergroups
 Remove Usergroups
 Groups
Use Case Examples
 Add user to specific ACL
user group after
registration based on CB
field value
JUK-2013 © Joomlapolis - 2013 53
VirtueMart 2.x action
 VirtueMart 2.x Action
settings:
 Mode:
 Synchronize
 Delete
 Address type
 Address Name
 User Group
 Shopper Group
 Fields
 VM field
 CB field
Use Case Examples
 Add user toVM shopper
group when user subscribes
to CBSubs plan
 SynchronizeVM data from
CB data
JUK-2013 © Joomlapolis - 2013 54
More
VM2 action example
JUK-2013 © Joomlapolis - 2013 55
CBSubs GPL SQL Action
 CBSubs SQL(5) Action
parameters:
 Type (database
connection):
 Internal
 External
 Activation
 Renewal
 Expiration
 Deactivation
Use Case Examples
 Integration with other
Joomla extensions using
database layer
 External connections to
push subscriber data to
other systems
JUK-2013 © Joomlapolis - 2013 56
CBSubs GPL URL Action
 CBSubs URL Action
parameter URLs:
 First subscription
 Renewal
 Expiration
 Deactivation
All URLs pass XML/POST data
to target script:
http://www.mysite.com/insert.php?
username=[username]&user_id=[us
er_id]
Use Case Examples
 Pass information to
external script for
integration purposes
JUK-2013 © Joomlapolis - 2013 57
CB Query Field
 Query field parameters:
 Query
 Mode
 Internal
 External
 Output
 Single row
 Multiple rows
 Columns
 Single column
 Multiple colums
 Display
 Delimiter
 Custom
Use Case Examples
 Count number of CB Gallery
items user has
 Count total number of users
on site
 Count number of users in GJ
Groups that a specific user
owns
(use case to give free
membership to user if he
has attracted many users in
his groups)
JUK-2013 © Joomlapolis - 2013 58
More
CB Query field examples
 Number of users in site:
SELECTCOUNT(*) FROM #__comprofiler;
SELECT COUNT(*) FROM `jos_comprofiler`WHERE `approved`=1;
 Number of Gallery items user has in CB Gallery
SELECTCOUNT(*) FROM `jos_comprofiler_plug_profilegallery`;
SELECTCOUNT(*) FROM `jos_comprofiler_plug_profilegallery`WHERE
`userid`=[user_id]
 Number of GJ users in groups the specific user owns
SELECTCOUNT(*) FROM `#__groupjive_users`WHERE `group` IN (
SELECT `id` FROM `#__groupjive_groups`WHERE `user_id` = '[user_id]'
)
JUK-2013 © Joomlapolis - 2013 59
CB DB Lookup field
 DB Lookup field
parameters:
 SQL Query check
 SQL Query update
 SQL Query Roll back
Use Case Examples
 Limit access to registration
for only those that have
active one-use code
JUK-2013 © Joomlapolis - 2013 60
More
DB Lookup Example
 CheckQuery:
SELECT * FROM `testcodes` WHERE `code`= '[value]'AND `userid` = '0’
 Update Query:
UPDATE `testcodes` SET `userid` = '[user_id]'WHERE `code`= '[value]'
AND `userid` = '0' LIMIT 1
 Rollback Query:
UPDATE `testcodes` SET `userid` = '0'WHERE `code` = '[value]'AND
`userid` = '[user_id]' LIMIT 1
JUK-2013 © Joomlapolis - 2013 61
Summary / Questions
Community Builder solutions and framework have great tools to
help integrators prepare quick, clean and future proof use case
implementations with minimum or even no coding.
CBAuto Actions plugin
CB Query Field type
CB DB Lookup Field type
CBSubs SQL and URL actions
JUK-2013 © Joomlapolis - 2013 62

JUK 2013-implementation-wo-coding

  • 1.
    Implementation without codingusing Community Builder framework tools @ JoomlaDay UK 2013
  • 2.
    Hello …. Is everyone havingfun? JUK-2013 © Joomlapolis - 2013 2
  • 3.
    Our profiles: Nick A.Beat B.  ‘beat’ on forums  Lake Geneva, Switzerland  MS EE/CS, PhD CS  Internet security / web-apps  “Make it as simple as possible, but no less”  ‘nant’ on forums  Athens, Greece  MS EE, MS CS  Telecom / CIO  “Good engineers don’t need tools, bad ones also have no use for them” JUK-2013 © Joomlapolis - 2013 3
  • 4.
  • 5.
    Presentation Agenda  Universaluniqueness principle  Hacking vs. coding  90% of code is just overhead  Community Builder™ framework  Available CB Solutions  CBAuto Actions  CBSubs GPL SQL and URL actions  CB Query field and CB Database lookup field  Use case examples  Summary JUK-2013 © Joomlapolis - 2013 5
  • 6.
    Everything is unique Alwaysremember you’re unique Just like everyone else JUK-2013 © Joomlapolis - 2013 6
  • 7.
  • 8.
    More Hacking vs. programming One opinion I have heard expressed is that a hacker can put a lot of code together in a hurry but if a change is needed the code has to be completely rewritten.  A programmer may take a little longer but if changes are needed they are more quickly and easily installed without the need for a complete rewrite.  Hacking is usually described as “quick and dirty.”  Programmers research, think ahead, design and implement, Hackers just make the ”fix” and move on JUK-2013 © Joomlapolis - 2013 8
  • 9.
    90% of codeis overhead  Input handling  Exception handling & special cases  Output presentation  Language readiness  Joomla has event triggers, but coding is still needed What if we could easily interject our use case logic in the right place without modifying existing code and with no overhead? JUK-2013 © Joomlapolis - 2013 9
  • 10.
  • 11.
    Available CB Solutions CB Framework User Profiles Organic Groups Paid Members Activity Streams CB Connect Integra- tions Fields,tabs, apps Empower your users Subscribe for privileges Motivate participation Joomla, Kunena, uddeIM, K2 … Facebook, Twitter, Linkedin, Google+, Live Auto actions JUK-2013 © Joomlapolis - 2013 11
  • 12.
    CB Solution answers Whatif we could easily interject our use case logic in the right place without modifying existing code and with no overhead? Community Builder tools that address this:  CBAutoActions  CBSubsGPL SQL Actions  CBSubsGPL URL Actions  CB Query field  CB DB Lookup validation field JUK-2013 © Joomlapolis - 2013 12
  • 13.
    CB Auto ActionTriggers EventTriggers  Community Builder: 43 frontend, 20 backend, 20 fe & be  GroupJive: 206  CBSubs: 26  Activity: 12  Privacy: 25  Antispam: 40  Conditional filtering  CB Field before/after  Rich unlimited AND criteria JUK-2013 © Joomlapolis - 2013 13 Identify event Choose action Add your use case logic
  • 14.
    CB Auto ActionTypes CBActivity  AcyMailing  CBSubs GPL  Code  Connection  Email  Field  FlySpray  GroupJive  K2  Kunena  Login/Logout  Private Message  Query  Redirect  Registration  Request  Usergroup  VirtueMart  CiviCRM JUK-2013 © Joomlapolis - 2013 14
  • 15.
    CB Activity Action Activity Action settings:  Owner (id)  User (target user)  Type (activity type)  Sub-Type  Item (item id)  From (old value)  To (new value)  Title (activity entry title)  Message (act. message)  Icon (icon name)  Class (class name) Use Case Examples  Mood field change activity  About me update activity JUK-2013 © Joomlapolis - 2013 15
  • 16.
    More Mood field changeactivity JUK-2013 © Joomlapolis - 2013 16 http://www.joomlapolis.com/support/tutorials/107-use-cases/18338-adding-your- own-events-to-activity-stream
  • 17.
    AcyMailing Action  AcyMailingAction Settings:  Subscribe  Unsubscribe  Remove  Pending Use Case Examples  Subscribe during registration based on field selected  Subscribe/Unsubscribe when user joins/leaves a GJ group  Variation with CBSubs plan JUK-2013 © Joomlapolis - 2013 17
  • 18.
  • 19.
    Antispam Action  Antispamaction settings:  Mode (Block,Whitelist)  Type (User, IP, email, domain)  Value (id, IP, email, domain)  Date (start date)  Time (start time)  Duration (how long)  Reason (reason notes) Use Case Examples  Block user for a day when warning field reaches certain level JUK-2013 © Joomlapolis - 2013 19
  • 20.
    More Antispam action example JUK-2013© Joomlapolis - 2013 20
  • 21.
    CBSubs GPL Action CBSubsAction Settings:  Plans (Select plans)  Mode:  Subscribe  Renew  Unsubscribe  Delete Use Case Examples  Subscribe user to plan when user Joins GJ Group  Unsubscribe user from plan when user specific CB field reaches a certain level (Support time consumed use case) JUK-2013 © Joomlapolis - 2013 21
  • 22.
    More CBSubs action exampleon GJ join JUK-2013 © Joomlapolis - 2013 22 www.joomlapolis.com/support/tutorials/107-use-cases/18339-startend-cbsubs-plan-subscription-when-user-joinsleaves-a-groupjive-group
  • 23.
    Code action  CodeActionsettings:  HTML  PHP (eval)  PHP (create_function)  JS (inline)  JS (URL)  jQuery  CSS (inline)  CSS (URL)  Header  PageTitle  Pathway (Breadcrumb) Use Case Examples  Popup alert when user visits profile after long period of time  Registration hidden field population from URL get (Different URL-based registration forms use case) JUK-2013 © Joomlapolis - 2013 23
  • 24.
    More Code action topopup alert JUK-2013 © Joomlapolis - 2013 24
  • 25.
    More Code action registrationform JUK-2013 © Joomlapolis - 2013 25 index.php?option=com_comprofiler&task=registers&Itemid=478&type=Athlete
  • 26.
    More Code action registrationform JUK-2013 © Joomlapolis - 2013 26
  • 27.
    Connection action  ConnectionsAction settings:  Users (ids)  Message  Direction  User to users  Users to user  Accept  Enable  Disabled  Method  Silent  Normal CB Use Case Examples  Establish connection of user with other user based onCB field value JUK-2013 © Joomlapolis - 2013 27
  • 28.
    Email action  EmailAction settings:  To  Subject  Body  Mode (HTML,Text)  CC / BCC  Attachment  From Address  From Name  Mailer  Default CB  PHP Mail  Sendmail  SMTP Use Case Examples  Send email after registration with registration data (Existing membership inquiry use case)  Send language specific emails based on CB field selection  Sending emails from different SMTP mail server (Google non-spam use case) JUK-2013 © Joomlapolis - 2013 28
  • 29.
    More Email with memberdata JUK-2013 © Joomlapolis - 2013 29
  • 30.
    More Email with memberdata JUK-2013 © Joomlapolis - 2013 30
  • 31.
    More Sending email fromother server JUK-2013 © Joomlapolis - 2013 31
  • 32.
    More Sending email fromother server JUK-2013 © Joomlapolis - 2013 32
  • 33.
    Field action  FieldAction settings:  Field  Operator  Set (Field =Value)  Prefix (ValueField)  Suffix (FieldValue)  Add (Field +=Value)  Subtract (Field -=Value)  Divide (Field /=Value)  Multiply (Field *=Value)  Value Use Case Examples  Add 2 integer fields and store result in third field  Concatenate fields and store in third field  Set field value when user joins GJ group  Set field value when user subscribes to specific CBSubs plan (can also be done via CBSubs plan) JUK-2013 © Joomlapolis - 2013 33
  • 34.
    Flyspray action  FlysprayAction settings:  Mode  Synchronize  Delete  Add Groups (S)  Remove Groups (S)  Encryption (S)  MD5  SH1  CRYPT  Database  Host  Username  Password  Database  Charset  Table Prefix Use Case Examples  Add new website users to flyspray database  Sync flyspray user database when user updates profile  Add user to flyspray project when they join a specific GJ group JUK-2013 © Joomlapolis - 2013 34
  • 35.
    More Flyspray action example JUK-2013© Joomlapolis - 2013 35
  • 36.
    More Flyspray action example JUK-2013© Joomlapolis - 2013 36
  • 37.
    GroupJive action  GroupJiveActionsettings:  Auto  Join Groups  LeaveGroups  New Group  New Category  Groups (JG, LG)  Status (JG)  Active | Banned | Inactive | Moderator |Admin | Owner Use Case Examples  Automatically create a new group based on first login and field data (voting area use case)  Join GJ group based on user field value (Interest groups use case) JUK-2013 © Joomlapolis - 2013 37
  • 38.
  • 39.
    K2 action  K2Actionsettings:  Mode  Synchronize  Delete  User Group (S)  Gender (S)  Description (S)  URL (S)  Notes (S) Use Case Examples  Synchronize user to specific K2 group at first login  Delete user from K2 group when user leaves specific GJ group JUK-2013 © Joomlapolis - 2013 39
  • 40.
    Kunena action  KunenaActionsettings:  Name (category)  Parent (category)  Description Use Case Examples  Create new forum category based on field data JUK-2013 © Joomlapolis - 2013 40
  • 41.
    Login/logout action  Login/logoutAction settings:  Mode  Login  Logout  Method (Login)  Username  Email  Username (U)  Email Address (El)  Redirect  Message Use Case Examples  Automatically login user when email confirmation link is clicked JUK-2013 © Joomlapolis - 2013 41
  • 42.
    More Login action example JUK-2013© Joomlapolis - 2013 42
  • 43.
    Menu action  MenuActionsettings:  Title  Type(UE_MENU_VIEW, _UE_MENU_EDIT, _UE_MENU_MESSAGES, _UE_MENU_CONNECTIONS, _UE_MENU_MODERATE)  Class (e.g. _UE_MENU_MYMENU)  Position  Menu Bar  Menu List  URL  URLTarget  Tooltip  Image URL Use Case Examples  Add new personalized CB Menu on a user profile JUK-2013 © Joomlapolis - 2013 43
  • 44.
    More Menu action example JUK-2013© Joomlapolis - 2013 44
  • 45.
    Private Message action Private Messages Action settings:  From  To  Subject  Message Use Case Examples  Send auto-welcome message to user when they join a specific GJ group  Send message to specific user when new member signs in JUK-2013 © Joomlapolis - 2013 45
  • 46.
    Privacy action  PrivacyAction settings:  Owner  Type  Subtype  Item  Rule  Public  Users  Private  Connections  Connections of Connections  ConnectionTypes – Friend – CoWorker Use Case Examples  Add privacy rule to user when user joins GJ group JUK-2013 © Joomlapolis - 2013 46
  • 47.
    Query action  QueryActionsettings:  Query  Mode  Internal  External  Host (E)  Username (E)  Password (E)  Database (E)  Charset (E)  Table Prefix (E) Use Case Examples  Insert entry to legacy user database when new registration happens  Update legacy database when profile update happens JUK-2013 © Joomlapolis - 2013 47
  • 48.
    More Query action example JUK-2013© Joomlapolis - 2013 48
  • 49.
    Redirect action  RedirectAction settings:  URL  Message  Type  Message  Notice  Note  Attention  Alert  Error Use Case Examples  Redirect user to specific site URL after login when a specific CB field criteria is met JUK-2013 © Joomlapolis - 2013 49
  • 50.
    More Redirect action example JUK-2013© Joomlapolis - 2013 50
  • 51.
    Registration action  RegistrationAction settings:  Username  Password  First Name  Middle Name  Last Name  Fields  Suppress Emails  Enable  Disable Use Case Examples  Create new account when user subscribes to specific plan (Child account use case) JUK-2013 © Joomlapolis - 2013 51
  • 52.
    Request action  RequestAction settings:  URL  Method  Get  Post  XML  JSON  Request (e.g. GET: name=[name], POST: username=[username], XML: <email>[email]</email>)  Return (Hide | Show)  Error (Hide | Show)  Debug (Hide | Show) Use Case Examples  Call external script JUK-2013 © Joomlapolis - 2013 52
  • 53.
    Usergroup action  UsergroupActionsettings:  Mode  Create Usergroup  Add Usergroups  Replace Usergroups  Remove Usergroups  Groups Use Case Examples  Add user to specific ACL user group after registration based on CB field value JUK-2013 © Joomlapolis - 2013 53
  • 54.
    VirtueMart 2.x action VirtueMart 2.x Action settings:  Mode:  Synchronize  Delete  Address type  Address Name  User Group  Shopper Group  Fields  VM field  CB field Use Case Examples  Add user toVM shopper group when user subscribes to CBSubs plan  SynchronizeVM data from CB data JUK-2013 © Joomlapolis - 2013 54
  • 55.
    More VM2 action example JUK-2013© Joomlapolis - 2013 55
  • 56.
    CBSubs GPL SQLAction  CBSubs SQL(5) Action parameters:  Type (database connection):  Internal  External  Activation  Renewal  Expiration  Deactivation Use Case Examples  Integration with other Joomla extensions using database layer  External connections to push subscriber data to other systems JUK-2013 © Joomlapolis - 2013 56
  • 57.
    CBSubs GPL URLAction  CBSubs URL Action parameter URLs:  First subscription  Renewal  Expiration  Deactivation All URLs pass XML/POST data to target script: http://www.mysite.com/insert.php? username=[username]&user_id=[us er_id] Use Case Examples  Pass information to external script for integration purposes JUK-2013 © Joomlapolis - 2013 57
  • 58.
    CB Query Field Query field parameters:  Query  Mode  Internal  External  Output  Single row  Multiple rows  Columns  Single column  Multiple colums  Display  Delimiter  Custom Use Case Examples  Count number of CB Gallery items user has  Count total number of users on site  Count number of users in GJ Groups that a specific user owns (use case to give free membership to user if he has attracted many users in his groups) JUK-2013 © Joomlapolis - 2013 58
  • 59.
    More CB Query fieldexamples  Number of users in site: SELECTCOUNT(*) FROM #__comprofiler; SELECT COUNT(*) FROM `jos_comprofiler`WHERE `approved`=1;  Number of Gallery items user has in CB Gallery SELECTCOUNT(*) FROM `jos_comprofiler_plug_profilegallery`; SELECTCOUNT(*) FROM `jos_comprofiler_plug_profilegallery`WHERE `userid`=[user_id]  Number of GJ users in groups the specific user owns SELECTCOUNT(*) FROM `#__groupjive_users`WHERE `group` IN ( SELECT `id` FROM `#__groupjive_groups`WHERE `user_id` = '[user_id]' ) JUK-2013 © Joomlapolis - 2013 59
  • 60.
    CB DB Lookupfield  DB Lookup field parameters:  SQL Query check  SQL Query update  SQL Query Roll back Use Case Examples  Limit access to registration for only those that have active one-use code JUK-2013 © Joomlapolis - 2013 60
  • 61.
    More DB Lookup Example CheckQuery: SELECT * FROM `testcodes` WHERE `code`= '[value]'AND `userid` = '0’  Update Query: UPDATE `testcodes` SET `userid` = '[user_id]'WHERE `code`= '[value]' AND `userid` = '0' LIMIT 1  Rollback Query: UPDATE `testcodes` SET `userid` = '0'WHERE `code` = '[value]'AND `userid` = '[user_id]' LIMIT 1 JUK-2013 © Joomlapolis - 2013 61
  • 62.
    Summary / Questions CommunityBuilder solutions and framework have great tools to help integrators prepare quick, clean and future proof use case implementations with minimum or even no coding. CBAuto Actions plugin CB Query Field type CB DB Lookup Field type CBSubs SQL and URL actions JUK-2013 © Joomlapolis - 2013 62