CB Connect with FourSquare

4 months 2 weeks ago #311686 by smaira
I have a customer who is using EasySocial but it's very restrictive in terms of enhancement. I am evaluating other extensions like JomSocial and Community Builder as an alternative for them. Is it possible to talk to a sales engineer from your side to help me understand how the CB Connect AddOn can be used on our current site to integrate with FourSquare APIs, before I pitch it to them?

The end goal is to search and display pages for a set of organizations from FourSquare (fetched from the API).

The implementation I have in mind is below. I just need to understand if and how CB and CB Connect can help build this. Also, can I use CB Connect without CB with something like EasySocial?
  • A logged in or public user has a site wide advanced search
  • The search works on CB profiles/site info and also one of FourSquare's API.
  • If they search for an organization from FourSquare, the organization's page shows up.
  • I was thinking there could be one page created to serve "a foursquare org" whose details can be dynamically populated from their API.

So a typical flow would be like
  • User searches for "Abc Ltd".
  • Search makes a request to FourSquare API and receives a response array that matches all such orgs/companies
  • They select one from the search drop down
  • This makes another request to foursquare to get details of that particular org/company.
  • The user is redirected to a common organization page in CB
  • But the information on that page changes based on whatever FourSquare returns in point 4.


Thanks
Sameer
4 months 2 weeks ago #311714 by krileon
CB Connect only provides single sign-on. It does not integrate with the supported providers in any way beyond that. It's possible to use the API in CB Connect to interact with the supported providers though, but anything beyond single sign-on you'd have to develop your self.

Also, can I use CB Connect without CB with something like EasySocial?

No, all of our products depend on CB. You can of course use CB alongside EasySocial if you so choose though, but they don't integrate with one another.

So a typical flow would be like
User searches for "Abc Ltd".
Search makes a request to FourSquare API and receives a response array that matches all such orgs/companies
They select one from the search drop down
This makes another request to foursquare to get details of that particular org/company.
The user is redirected to a common organization page in CB
But the information on that page changes based on whatever FourSquare returns in point 4.

I don't think CB, EasySocial, or JomSocial are going to provide such functionality out of the box. All 3 of course will let you search your own existing user profiles, but to also use Foursquare Places API to search nearby places is a far stretch from these types of extensions intended purpose. It likely would be best to develop your own extensions that searches your users and calls Foursquare Places API using CURL to consolidate the results then display them however you like.

The only other alternative I can think of is maybe if there's a Joomla search bot that does what you're wanting in regards to using Foursquare Places API then also use CB Search Bot. Then just use Joomlas search module which would search CB users and Foursquare. This all assumes such a Joomla search bot exists for searching Foursquare, which I don't think it does but making a search bot is significantly easier than rolling your own search component from the ground up. The below resources should help you get started.

Foursquare Places API:
developer.foursquare.com/docs/api/endpoints

Joomla Search Bot Development:
docs.joomla.org/J3.x:Creating_a_search_plugin


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
4 months 2 weeks ago #311718 by smaira
Thanks for the detailed response, Kyle. Could you please point me to the CB Connect repo so I can take a look at the API being used to make the SSO call to FourSquare? Also, what are some typical use cases that CB Connect would solve? Can you share some user journey examples?

If I am able to develop a custom search bot to bring in data from FourSquare, what addons/functionality of CB could I use to dynamically populate a profile or page? Is there a cache I can save the external data to and map it to internal datapoints?
4 months 2 weeks ago #311720 by krileon

Thanks for the detailed response, Kyle. Could you please point me to the CB Connect repo so I can take a look at the API being used to make the SSO call to FourSquare?

We do not provide public GIT access. You shouldn't need CB Connect for this though. You'd just need to create a CURL call in your search bot to access Foursquare API provided above.

Also, what are some typical use cases that CB Connect would solve? Can you share some user journey examples?

It provides single sign-on. Basically someone can register on your site and subsequently login to your site using their social accounts (e.g. Facebook, etc..). It doesn't do anything beyond that.

If I am able to develop a custom search bot to bring in data from FourSquare, what addons/functionality of CB could I use to dynamically populate a profile or page?

I suppose you could generate a profile based off the results if you wanted in your search bot. You'd just need to establish a UserTable object and populate it then call the store function. See the below on how to do this.

www.joomlapolis.com/documentation/279-community-builder/tutorials/18362-registering-a-user-through-cb-api

Is there a cache I can save the external data to and map it to internal datapoints?

You'd be developing all this so whatever caching you choose to use is up to you. If it's stored to a user then I guess it'd be cached that way.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
4 months 2 weeks ago #311722 by smaira

I suppose you could generate a profile based off the results if you wanted in your search bot. You'd just need to establish a UserTable object and populate it then call the store function. See the below on how to do this.


Do you see a way of doing this without calling the store function? The data coming in from FourSquare may change so maybe keeping it for just presentation would be better. Also, does CB differentiate between Pages and Users? In my head it seems like I would create something like a PageTableObject for an Org Page vs a UserTableObject?
4 months 2 weeks ago #311723 by krileon
If you don't want to generate CB users from that data you could cache the data in Joomlas cache folder or a custom database table to reduce the amount of information requested from Foursquare. Otherwise if you do store them as CB users I'd do so by some sort of unique username for each business or location returned by the Foursquare API. It's entirely up to you as like I said you'll have to entirely develop this; we provide nothing of the sort.

Also, does CB differentiate between Pages and Users?

Don't understand what you mean. CB doesn't have pages. It has users. What a user is is entirely up to you. Some have each user and their profile be a property as the site is being used for real-estate, etc.. I suggest taking a look at our demo site below to get a better understanding of what CB is.

demo.cbdemosites.com/


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
Moderators: beatnantkrileon
Time to create page: 0.401 seconds
Facebook Twitter Google LinkedIn