As a Customer Onboarding Specialist, I'm responsible for guiding customers through HubSpot software setup, tool training, and initial campaign planning.
Hey HubSpot Community,
My name is Patrick Eng and I’m a member of the Onboarding Scale Team at HubSpot. Throughout this week, we’ll be running an Ask Me Anything (AMA) that will answer all of your website migration questions. Have you ever wa read more
Hi @EDash ,
Sorry for the late response but since this AMA is more website migration-related and not API data migration, I would highly recom...read more
Hey HubSpot Community,
My name is Patrick Eng and I’m a member of the Onboarding Scale Team at HubSpot. Throughout this week, we’ll be running an Ask Me Anything (AMA) that will answer all of your website migration questions. Have you ever wa read more
Hi @EDash ,
Sorry for the late response but since this AMA is more website migration-related and not API data migration, I would highly recom...read more
Looking for some suggestions/best practices on how to handle the rebranding of a site without affecting the live site. There will be some significant changes to colors, banners, and the structure of some of the modules being used. Based on this, I f read more
Hi @tmcmillan99 ,
The Content Staging tool would be the best option here as it will let you build out the entirely rebranded website within a...read more
I've long been developing custom website modules that link to HubDB, but does anyone know how I can link modules directly to Deals / custom objects without using an API? I've found an option within the design tools that lets me select some deal read more
Hey @ben-duchy ,
Have you had a chance to review the CRM Objects " display associated records " HubL function yet? It sounds like that could ...read more
Hi there We are in the process of migrating our website from Wordpress to HubSpot CMS. Wordpress adds a trailing slash to the end of all URLs by default, my understanding is that HubSpot doesn't. My question is whether there is a way for Hub read more
Hi @AWilkinson3 ,
I'm not aware of any setting to change that can make it default to have URLs with a slash. I found a similar community post...read more
Hi there We are in the process of migrating our website from Wordpress to HubSpot CMS. Wordpress adds a trailing slash to the end of all URLs by default, my understanding is that HubSpot doesn't. My question is whether there is a way for Hub read more
Hi @AWilkinson3 ,
I'm not aware of any setting to change that can make it default to have URLs with a slash. I found a similar community post...read more
We've recently begun venturing into the bot-space and are wondering if HubSpot is working on an additional Bot action for delaying messages. I know that we can do message delays in the Settings tab, but that feels very restricting. It would be aweso read more
Mark your calendars! Starting April 5, thought leaders and product experts from around HubSpot will be joining forces to answer all of your CMS Hub questions in our 2nd CMS Hub Ask Me Anything!
Missed the first one? You can see all the qu read more
Hi all, the AMA is now live! You can access the post here: https://community.hubspot.com/t5/CMS-Development/Now-Open-CMS-Hub-Ask-Me-Anything-April-5...read more
Mark your calendars! Starting November 16, thought leaders from around HubSpot will be joining forces to answer all of your CMS Hub questions!
When: November 16 - November 20
Where: The Community! We’ll be answering questions throu read more
Hi everyone, happy Monday! The CMS Hub AMA event is now live: https://community.hubspot.com/t5/CMS-Development/Now-Live-Exclusive-CMS-Hub-AMA-Nov-16...read more
Instead of keeping the Membership-Content feature of HubSpot exclusive to Marketing Enterprise, include it as an Add-on that we can purchase on the side (like Website, Dedicated IP, Reports, etc). This way, any HubSpot account (like Pro) can seg read more
Hey HubSpot Community,
My name is Patrick Eng and I’m a member of the Onboarding Team at HubSpot. Your website is one of your biggest assets and with your CMS Hub plan, you can easily set up, customize, and manage all your pages while also lever read more
Hi @celi ,
The best way to view the analytics of your dynamic pages from HubDB would be through Traffic analytics. From your portal, you woul...read more
Start gathering your CMS Hub questions now! Starting on January 24th and going all week long, HubSpot thought leaders and product experts will be working together to answer your CMS Hub questions in our 4th CMS Hub AMA.
Missed our other AM read more
The CMS Hub AMA is now live, please go over to our main thread and ask all your CMS Hub questions there!
https://community.hubspot.com/t5/CMS-...read more
//
//
//
//
//
(function($) {
//START END-USER CONFIGURATION
//------------------------------
//selectors for hover card triggers
var allHoverCardTriggers = '.author-name-link,.friend-list .friend a,.username a,.avatar,.user-avatar,.author-img, .authors a, .messageauthorusername a, a.lia-user-name-link, .js-latest-post-by-from a, .user-online-list li a, a.UserAvatar, .customUsersOnline a, #authors a,.dashboard-followers a.user-name, .dashboard-following a.user-name,.author-login-wrapper a, .hb-leaderboard a, .author-img-floated';
// Forward calling page's URL params to endpoint URL as well, helps with testing!
var params = (new URL(location.href)).searchParams;
var userApiUrl = '/plugins/custom/hubspot/hubspot/hovercardendpoint?' + ((params.set('user_id', '') == []._) && params.toString());
if($('.hover-card-container').length<1){
$('body').append('');
}
var cardWrapper = $('.hover-card-container');
var error = false;
var thisUserID = '';
var thisUserLogin = '';
var userLink ='';
var cardTimer;
var leaveTimer;
function mouseenter(Elem) {
var thisEl = Elem;
cardTimer = setTimeout(function(){
var docWidth = $(document).width();
var rightSide = false;
var userLink = thisEl.attr('href');
if($('.ViewProfilePage').length && $('img.lia-user-avatar-profile',thisEl).length){thisUserID = '14244';}
else if(thisEl.attr('href')=='#' || thisEl.attr('href')=='' || !userLink.match('viewprofilepage')){
return false;}
else{
var thisLen = (userLink).split('/');
thisUserID = (thisLen)[thisLen.length-1];
}
var thisCard = $('.profileCard[data-user='+thisUserID+']',cardWrapper);
var cardId = 'userProfileCard-'+ thisUserID;
var addAttr = thisEl.attr('aria-describedby',cardId);
var thisElTopOffset = Math.round(thisEl.offset().top+(thisEl.height()/2)+30);
var thisElbottomoffset = "auto";
var className = "";
var winHeight = $(window).height();
var elOffset = thisEl.offset();
var scrollTop = $(window).scrollTop();
var elementOffset = thisEl.offset().top;
var distanceTop = (elementOffset - scrollTop);
var distanceBottom = (winHeight + scrollTop) - (elOffset.top + thisEl.outerHeight(true));
var distanceLeft = Math.round(thisEl.offset().left);
var bodyHight = $('body').height();
var topParam = '';
var bottomparam = '';
var position = '';
var className = 'topArrow';
cardId
if(distanceBottom < 300 ){
if(distanceLeft < 59){
thisCard.removeClass('bottomArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
var thisElTopOffset = (thisElTopOffset)-(301); var className = 'bottomArrow'; thisCard.removeClass('topArrow');
thisCard.removeClass('leftArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
else{
if(distanceLeft < 59){
thisCard.removeClass('topArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
thisCard.removeClass('leftArrow');
thisCard.removeClass('bottomArrow').addClass('topArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
if(thisCard.length && $('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length<1){
$('.profileCard',cardWrapper).hide();
thisCard.addClass(className);
rightSide?thisCard.addClass('rightArrow'):thisCard.removeClass('rightArrow');
thisCard.delay(0).css({'top':(thisElTopOffset),'left':distanceLeft,'bottom':thisElbottomoffset}).fadeIn();
} else {
var ajaxReturn = '';
//just in case
thisCard.remove();
//hover card wrapper markup
var rightArrowClass = rightSide?'rightArrow':'';
if(thisElTopOffset != "auto"){
topParam = 'px';
}
if(thisElbottomoffset != "auto"){
bottomparam = 'px';
}
var profileCardHtml = '';
$.when(
//get the background
$.ajax({
type: 'GET',
url: userApiUrl+thisUserID,
dataType: 'html',
success: function(data) {
$('.profileCard',cardWrapper).hide();
ajaxReturn = data;
}
})
)
.done(function(){
cardWrapper.append(profileCardHtml);
$('.profileCard[data-user='+thisUserID+']',cardWrapper).eq(0).empty().html(ajaxReturn);
if($('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length){
$('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).parents('div.profileCard').remove();
}
})
.fail(function(){
//uh oh - bail out!
$('.profileCard',cardWrapper).hide();
});
}
}, 360);
}
function mouseleave(e) {
clearTimeout(cardTimer);
// glowingblue: When the user leaves the hovercard trigger, wait because the leaving could be
// to interact with the hovercard, if we don't wait it will just disappear...because
// we left the trigger, right...so we'll have another handler that check if the mouse is
// over the hovercard and if so clears this timer, so the card doesn't close here
leaveTimer = setTimeout(function() {
if ($('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).length) {
$('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).fadeOut('fast');
} else {
$(".profileCard").fadeOut('fast');
}
}, 2400);
}
$(document).on("mouseenter focusin", allHoverCardTriggers, function(event) {
if(!($(this).parents().hasClass('custom-header'))&& !($(this).parents().hasClass('green-wrap'))){
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseenter($(this));
event.stopPropagation();
}
});
$(document).on("mouseleave focusout", allHoverCardTriggers, function(event) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseleave(event);
event.stopPropagation();
});
// glowingblue: Add handlers for when the users interacts with the hovercard, no closing!
$('.hover-card-container').on('mouseenter', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
});
$('.hover-card-container').on('mouseleave', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
if ( $(e.target).is('.profileCard[style*="block"]') ) {
leaveTimer = setTimeout(function() {
$(e.target).fadeOut('fast');
}, 2400);
}
});
// glowingblue: add one global root level click handler to also close any visible hovercards
// if the user taps/clicks outside the hovercard
$(document).on('mousedown', function(e) {
if ( !$(e.target).parents('.hover-card-container').length ) {
(leaveTimer != []._) && clearTimeout(leaveTimer);
$('.hover-card-container .profileCard[style*="block"]').each(function() {
$(this).fadeOut('fast');
});
}
});
})(LITHIUM.jQuery);
(function($) {
$(document).ready(function(){
var originalElementId;
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function errorDisplay(errType) {
var errAuth = '
To access this area of the Community, please log in.
';
var errAuthLogin = '
To access HubFans and complete challenges, confirm you are logged in by clicking here. Find additional troubleshooting steps here
';
var noBadges = '
To start earning advocacy badges go to the HubFan advocacy program page and start completing advocacy challenges.
';
var noAsks = '
Hooray! No more challenges for you to complete today. Check back in for more challenges tomorrow.