SlideShare una empresa de Scribd logo
1 de 62
Implementation without coding using
Community Builder framework tools
@ J and Beyond 2013
Hello ….
Is everyone
having fun?
JAB-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”
JAB-2013 © Joomlapolis - 2013 3
Reminder
JAB-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
JAB-2013 © Joomlapolis - 2013 5
Everything is unique
Always remember
you’re
unique
Just like
everyone
else
JAB-2013 © Joomlapolis - 2013 6
Hacking vs. programming
What’s
your
definition?
JAB-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
JAB-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?
JAB-2013 © Joomlapolis - 2013 9
More
Community Builder™ architecture
JAB-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 +++
Facebook, Twitter
, Linkedin, Google
+, Live
Auto actions
JAB-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
JAB-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
JAB-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 (planned)
JAB-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
JAB-2013 © Joomlapolis - 2013 15
More
Mood field change activity
JAB-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
JAB-2013 © Joomlapolis - 2013 17
More
AcyMailing Action example
JAB-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
JAB-2013 © Joomlapolis - 2013 19
More
Antispam action example
JAB-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)
JAB-2013 © Joomlapolis - 2013 21
More
CBSubs action example on GJ join
JAB-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)
JAB-2013 © Joomlapolis - 2013 23
More
Code action to popup alert
JAB-2013 © Joomlapolis - 2013 24
More
Code action registration form
JAB-2013 © Joomlapolis - 2013 25
index.php?option=com_comprofiler&task=registers&Itemid=478&type=Athlete
More
Code action registration form
JAB-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
JAB-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)
JAB-2013 © Joomlapolis - 2013 28
More
Email with member data
JAB-2013 © Joomlapolis - 2013 29
More
Email with member data
JAB-2013 © Joomlapolis - 2013 30
More
Sending email from other server
JAB-2013 © Joomlapolis - 2013 31
More
Sending email from other server
JAB-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)
JAB-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
JAB-2013 © Joomlapolis - 2013 34
More
Flyspray action example
JAB-2013 © Joomlapolis - 2013 35
More
Flyspray action example
JAB-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)
JAB-2013 © Joomlapolis - 2013 37
More
GroupJive action example
JAB-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
JAB-2013 © Joomlapolis - 2013 39
Kunena action
 KunenaAction settings:
 Name (category)
 Parent (category)
 Description
Use Case Examples
 Create new forum category
based on field data
JAB-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
JAB-2013 © Joomlapolis - 2013 41
More
Login action example
JAB-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
JAB-2013 © Joomlapolis - 2013 43
More
Menu action example
JAB-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
JAB-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
JAB-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
JAB-2013 © Joomlapolis - 2013 47
More
Query action example
JAB-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
JAB-2013 © Joomlapolis - 2013 49
More
Redirect action example
JAB-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)
JAB-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
JAB-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
JAB-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
JAB-2013 © Joomlapolis - 2013 54
More
VM2 action example
JAB-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
JAB-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
JAB-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)
JAB-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]'
)
JAB-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
JAB-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
JAB-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
JAB-2013 © Joomlapolis - 2013 62

Más contenido relacionado

Similar a Implementation without coding using Community Builder framework tools

Zimmertwins Presentation
Zimmertwins PresentationZimmertwins Presentation
Zimmertwins Presentation
Ashok Modi
 

Similar a Implementation without coding using Community Builder framework tools (20)

How can a data layer help my seo
How can a data layer help my seoHow can a data layer help my seo
How can a data layer help my seo
 
Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)Six Simple Steps to Service Level Objectives (SLOs)
Six Simple Steps to Service Level Objectives (SLOs)
 
2022 SF Summit - Improving Developer Experience with CDK
2022 SF Summit - Improving Developer Experience with CDK2022 SF Summit - Improving Developer Experience with CDK
2022 SF Summit - Improving Developer Experience with CDK
 
AWS Toronto Summit 2019 - AIM302 - Build, train, and deploy ML models with Am...
AWS Toronto Summit 2019 - AIM302 - Build, train, and deploy ML models with Am...AWS Toronto Summit 2019 - AIM302 - Build, train, and deploy ML models with Am...
AWS Toronto Summit 2019 - AIM302 - Build, train, and deploy ML models with Am...
 
MeasureCamp_Custom GA4 Channel Groups with dbt
MeasureCamp_Custom GA4 Channel Groups with dbtMeasureCamp_Custom GA4 Channel Groups with dbt
MeasureCamp_Custom GA4 Channel Groups with dbt
 
Jd gr-2012-workshop
Jd gr-2012-workshopJd gr-2012-workshop
Jd gr-2012-workshop
 
Your Raw Data is Ready - Introduction to Analytics Engineering | SMX Advanced...
Your Raw Data is Ready - Introduction to Analytics Engineering | SMX Advanced...Your Raw Data is Ready - Introduction to Analytics Engineering | SMX Advanced...
Your Raw Data is Ready - Introduction to Analytics Engineering | SMX Advanced...
 
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto ActionsCivicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
Civicon london-2013: Joomla 2 CiviCRM plugin and CB Auto Actions
 
Juk 2013-getting-started-with-cbsubs
Juk 2013-getting-started-with-cbsubsJuk 2013-getting-started-with-cbsubs
Juk 2013-getting-started-with-cbsubs
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
 
Dannotes50 smart cloud messaging 4 admins
Dannotes50 smart cloud messaging 4 adminsDannotes50 smart cloud messaging 4 admins
Dannotes50 smart cloud messaging 4 admins
 
CampusRecruitment Django.pptx
CampusRecruitment Django.pptxCampusRecruitment Django.pptx
CampusRecruitment Django.pptx
 
Cb subs membership-sites
Cb subs membership-sitesCb subs membership-sites
Cb subs membership-sites
 
KoboToolbox vs Google Form vs Glide no code.pptx
KoboToolbox vs Google Form vs Glide no code.pptxKoboToolbox vs Google Form vs Glide no code.pptx
KoboToolbox vs Google Form vs Glide no code.pptx
 
Building Data Environments for Production Microservices with Geode
Building Data Environments for Production Microservices with GeodeBuilding Data Environments for Production Microservices with Geode
Building Data Environments for Production Microservices with Geode
 
Coghead Overview 21 Aug08
Coghead Overview 21 Aug08Coghead Overview 21 Aug08
Coghead Overview 21 Aug08
 
Zimmertwins Presentation
Zimmertwins PresentationZimmertwins Presentation
Zimmertwins Presentation
 
CB Workshop with uddeIM, Kunena, GroupJive and CBSubs
CB Workshop with uddeIM, Kunena, GroupJive and CBSubsCB Workshop with uddeIM, Kunena, GroupJive and CBSubs
CB Workshop with uddeIM, Kunena, GroupJive and CBSubs
 
DS, BP, EJB, CDI, WTF!? - Graham Charters
DS, BP, EJB, CDI, WTF!? - Graham ChartersDS, BP, EJB, CDI, WTF!? - Graham Charters
DS, BP, EJB, CDI, WTF!? - Graham Charters
 
Hive at LinkedIn
Hive at LinkedIn Hive at LinkedIn
Hive at LinkedIn
 

Más de CB Team @ Joomlapolis

Más de CB Team @ Joomlapolis (20)

JAB14 Honey I shrunk the code
JAB14 Honey I shrunk the codeJAB14 Honey I shrunk the code
JAB14 Honey I shrunk the code
 
Community Builder 2.0 Presentation at Joomla! Day France 2014
Community Builder 2.0 Presentation at Joomla! Day France 2014Community Builder 2.0 Presentation at Joomla! Day France 2014
Community Builder 2.0 Presentation at Joomla! Day France 2014
 
Community Builder 2.0 Preview Webinar
Community Builder 2.0 Preview WebinarCommunity Builder 2.0 Preview Webinar
Community Builder 2.0 Preview Webinar
 
Joomla daytoulouse2013 talk-slides
Joomla daytoulouse2013 talk-slidesJoomla daytoulouse2013 talk-slides
Joomla daytoulouse2013 talk-slides
 
Jd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abcJd greece-2012-joomla-community-abc
Jd greece-2012-joomla-community-abc
 
Jab 2012-contribute
Jab 2012-contributeJab 2012-contribute
Jab 2012-contribute
 
Community Builder 2.0: Using a new way to build Web-Apps
Community Builder 2.0:Using a new way to build Web-AppsCommunity Builder 2.0:Using a new way to build Web-Apps
Community Builder 2.0: Using a new way to build Web-Apps
 
Jpb kunena-quickstart
Jpb kunena-quickstartJpb kunena-quickstart
Jpb kunena-quickstart
 
Jpb cb-joomla-articles-quickstart
Jpb cb-joomla-articles-quickstartJpb cb-joomla-articles-quickstart
Jpb cb-joomla-articles-quickstart
 
Jpb joomla25-quickstart
Jpb joomla25-quickstartJpb joomla25-quickstart
Jpb joomla25-quickstart
 
Jpb cb admin-nav-quickstart
Jpb cb admin-nav-quickstartJpb cb admin-nav-quickstart
Jpb cb admin-nav-quickstart
 
Jpb udde im-quickstart
Jpb udde im-quickstartJpb udde im-quickstart
Jpb udde im-quickstart
 
Jpb group jive-quickstart
Jpb group jive-quickstartJpb group jive-quickstart
Jpb group jive-quickstart
 
Jpb cb-user list-quickstart
Jpb cb-user list-quickstartJpb cb-user list-quickstart
Jpb cb-user list-quickstart
 
Jpb cb-connections-quickstart
Jpb cb-connections-quickstartJpb cb-connections-quickstart
Jpb cb-connections-quickstart
 
Jpb community builder-quickstart
Jpb community builder-quickstartJpb community builder-quickstart
Jpb community builder-quickstart
 
Community Builder Solutions
Community Builder SolutionsCommunity Builder Solutions
Community Builder Solutions
 
The ABC of Joomla Community
The ABC of Joomla CommunityThe ABC of Joomla Community
The ABC of Joomla Community
 
Jand b 2011-cb-solutions-and-coding-finalgiven
Jand b 2011-cb-solutions-and-coding-finalgivenJand b 2011-cb-solutions-and-coding-finalgiven
Jand b 2011-cb-solutions-and-coding-finalgiven
 
Jand b 2011-cb-2.0-and-future-finalgiven
Jand b 2011-cb-2.0-and-future-finalgivenJand b 2011-cb-2.0-and-future-finalgiven
Jand b 2011-cb-2.0-and-future-finalgiven
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Implementation without coding using Community Builder framework tools

  • 1. Implementation without coding using Community Builder framework tools @ J and Beyond 2013
  • 2. Hello …. Is everyone having fun? JAB-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” JAB-2013 © Joomlapolis - 2013 3
  • 5. 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 JAB-2013 © Joomlapolis - 2013 5
  • 6. Everything is unique Always remember you’re unique Just like everyone else JAB-2013 © Joomlapolis - 2013 6
  • 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 JAB-2013 © Joomlapolis - 2013 8
  • 9. 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? JAB-2013 © Joomlapolis - 2013 9
  • 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 +++ Facebook, Twitter , Linkedin, Google +, Live Auto actions JAB-2013 © Joomlapolis - 2013 11
  • 12. 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 JAB-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 JAB-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 (planned) JAB-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 JAB-2013 © Joomlapolis - 2013 15
  • 16. More Mood field change activity JAB-2013 © Joomlapolis - 2013 16 http://www.joomlapolis.com/support/tutorials/107-use-cases/18338-adding-your- own-events-to-activity-stream
  • 17. 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 JAB-2013 © Joomlapolis - 2013 17
  • 18. More AcyMailing Action example JAB-2013 © Joomlapolis - 2013 18
  • 19. 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 JAB-2013 © Joomlapolis - 2013 19
  • 20. More Antispam action example JAB-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) JAB-2013 © Joomlapolis - 2013 21
  • 22. More CBSubs action example on GJ join JAB-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  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) JAB-2013 © Joomlapolis - 2013 23
  • 24. More Code action to popup alert JAB-2013 © Joomlapolis - 2013 24
  • 25. More Code action registration form JAB-2013 © Joomlapolis - 2013 25 index.php?option=com_comprofiler&task=registers&Itemid=478&type=Athlete
  • 26. More Code action registration form JAB-2013 © Joomlapolis - 2013 26
  • 27. 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 JAB-2013 © Joomlapolis - 2013 27
  • 28. 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) JAB-2013 © Joomlapolis - 2013 28
  • 29. More Email with member data JAB-2013 © Joomlapolis - 2013 29
  • 30. More Email with member data JAB-2013 © Joomlapolis - 2013 30
  • 31. More Sending email from other server JAB-2013 © Joomlapolis - 2013 31
  • 32. More Sending email from other server JAB-2013 © Joomlapolis - 2013 32
  • 33. 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) JAB-2013 © Joomlapolis - 2013 33
  • 34. 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 JAB-2013 © Joomlapolis - 2013 34
  • 35. More Flyspray action example JAB-2013 © Joomlapolis - 2013 35
  • 36. More Flyspray action example JAB-2013 © Joomlapolis - 2013 36
  • 37. 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) JAB-2013 © Joomlapolis - 2013 37
  • 38. More GroupJive action example JAB-2013 © Joomlapolis - 2013 38
  • 39. 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 JAB-2013 © Joomlapolis - 2013 39
  • 40. Kunena action  KunenaAction settings:  Name (category)  Parent (category)  Description Use Case Examples  Create new forum category based on field data JAB-2013 © Joomlapolis - 2013 40
  • 41. 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 JAB-2013 © Joomlapolis - 2013 41
  • 42. More Login action example JAB-2013 © Joomlapolis - 2013 42
  • 43. 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 JAB-2013 © Joomlapolis - 2013 43
  • 44. More Menu action example JAB-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 JAB-2013 © Joomlapolis - 2013 45
  • 46. 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 JAB-2013 © Joomlapolis - 2013 46
  • 47. 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 JAB-2013 © Joomlapolis - 2013 47
  • 48. More Query action example JAB-2013 © Joomlapolis - 2013 48
  • 49. 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 JAB-2013 © Joomlapolis - 2013 49
  • 50. More Redirect action example JAB-2013 © Joomlapolis - 2013 50
  • 51. 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) JAB-2013 © Joomlapolis - 2013 51
  • 52. 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 JAB-2013 © Joomlapolis - 2013 52
  • 53. 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 JAB-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 JAB-2013 © Joomlapolis - 2013 54
  • 55. More VM2 action example JAB-2013 © Joomlapolis - 2013 55
  • 56. 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 JAB-2013 © Joomlapolis - 2013 56
  • 57. 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 JAB-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) JAB-2013 © Joomlapolis - 2013 58
  • 59. 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]' ) JAB-2013 © Joomlapolis - 2013 59
  • 60. 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 JAB-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 JAB-2013 © Joomlapolis - 2013 61
  • 62. 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 JAB-2013 © Joomlapolis - 2013 62