CMS Development

PatrickEng
HubSpot Employee
HubSpot Employee

[Closed] CMS Hub Ask Me Anything (January 24)

CMS Hub DevelopmentCMS Hub Development

 

 Hey HubSpot Community, 

 

Get ready for our next round of the CMS Hub Ask Me Anything! 2021 was a big year for CMS Hub as it added multiple features with CMS Starter, CRM Object pages, hundreds of new themes, and most recently, our Payments tool. With all these new tools, you’re bound to have questions on how to use them effectively. 

 

To best support you all, we’ve once again gathered product experts and HubSpot power users from across the world to help answer all your CMS Hub questions!

 

Need some suggestions for what to ask? Here are some example questions:

 

  • How do I best use a child theme? How is it different?
  • What website page import tools does HubSpot provide? 
  • How do I set up a reusable section for my team to use?
  • How can I add a payments module to my CMS-hosted website?
  • What functionality does a sandbox provide to my pipeline?
  • How can I add HubDB to my modules in a marketer-friendly way?

 

We have members of the HubSpot product, developer, support, and success team here to answer any questions you might have.

 

Alex Girard (@agirard) - CMS Hub Senior Product Marketing Manager

Jon McLaren (@jmclaren) - Senior CMS Developer Advocate

A.J. LaPorte (@AJLaPorte) - Senior CMS Developer Advocate

Joe Roche (@joerr) - Senior Customer Success Manager

Allison Nichols (@anichols) - Principal Onboarding Specialist

Patrick Eng (@PatrickEng) - Senior Customer Onboarding Specialist

Ernestina Spinu (@eSpinu) - Replatforming Specialist

 

Feel free to drop in your questions below. We’ll start answering questions on January 24th and until 3 PM EST on January 28th.

 

Looking forward to hearing from you all soon!

21 Replies 21
AWilliam
Member

[Closed] CMS Hub Ask Me Anything (January 24)

I will investigate this. I did attempt to make a custom item into my creation account just to eliminate the chance it could be a sandbox issue, yet I got a similar missing extension blunder.

https://www.eusol.net/

0 Upvotes
ETaylor75
Contributor

[Closed] CMS Hub Ask Me Anything (January 24)

Still having the same error no matter what I try.

0 Upvotes
Indra
Guide | Elite Partner
Guide | Elite Partner

[Closed] CMS Hub Ask Me Anything (January 24)

Hi @PatrickEng , 

 

We at Bureau Vet have build a lot of greate websites onto the HubSpot CMS. It's great to build on. Never the less, we sometimes run into difficulties and have a few questions and hope that you can provide us with some great feedback.

 

Blog taxonomies
For some customers we have to migrate there old website to HubSpot blog. When there old website is in most cases WordPress they can have multiple taxonomies to setup multiple filters. For example, when it's a car dealer, they want to add a taxonomy for categories, seasons of the year. Will HubSpot provide extra options for adding extra taxonomies other then only the 'Tags' and 'Author'?

 

Blog filters and HubDB filters
We can add 'Tags' to the blog. But there is only one option, and that is to filter by one tag by default. Will there be an option to filter by multiple tags for the blog listing page.

 

When that is possible, we would like to choose from an AND or OR filter.

 

The same thing goes for HubDB. We can create custom filters for them. But now the only option is to setup an AND filter. Not an OR filter. When will there be an option to select wat kind of filter we want to apply to?

 

Extent the AMP

It's great that HubSpot supports AMP for blog since it's great for SEO and will make the web much faster. We would like to create custom AMP templates and modules. But since AMP pages are quite strict in it's HTML markup for now it's not possible to create custom AMP pages because of the supported template includes like {{ standard_header_includes }} and {{ standard_footer_includes }}. Can there be an option to tell it's an AMP page to disable these options?

 

Customize the HubSpot Service and knowledge base
These tooling makes it great for support management as an extention for the HubSpot usage. Also the use of it makes it easy for marketeers to manages tickets and answering questions. But as a developer we don't have any options to customize the front-end other then changing some colors. Will there be any options to load a custom templates, or load extra CSS to customize these modules?

 

Structured data

That HubSpot has build in SEO tooling is great, but to take the next step we at Bureau Vet are thinking that default modules, blog and pages sould have basic structure data according to the schema.org. Especially for blog this will provide the page more rich data for search engines, since an author is required, we know what company it is etc. 

 

The same goes for the knowledge base. It's a great tooling. But if structured data will be added, it will be a lot more value.

 

Is structured date on the roadmap and can you tell me if there will be some default options comming up our way?

 

Preloading images

To make the web faster, it would be great if HubSpot support preloading (responsive) images. When adding a width and height to an image, HubSpot will automatically add the responsive html attributes. But to make performance even better it would be great if there is an option to enable preloading the responsive images. 

Is this something that the product team is looking into?

 

HubSpot Files

HubSpot has a new feature called 'business units'. And also it's possible to setup multiple domains inside HubSpot. But for SEO, it would be great if content creaters don't have to think about what url's they have to apply when selecting images or media onto there page.

 

For now, it's only possible to setup a default File Manager Hosting Domain. But this can't be setup by other domains. If a content creater adds an image on website www.example.com the image should be having that as the base domain. When creating content for  www.bureauvet.nl the image should have this base domain. Is there or will there be any update regarding this matter for the HubSpot File Manager?

 

Bulk change

It sometimes happens that a website will change from domain. Olso when working on a staging site. When setting up the website we want to change all domains for these pages. Now we have to change this with the use of an API, but an bulk edit would be great inside of HubSpot.

 

As mentioned we @Sjardo @EllenvanZutphen @TDwebdev and I from Bureau Vet have run into these questions and hope you can provide an answer.


Indra Pinsel - Front-end developer - Bright Digital
Did my answer solve your issue? Help the community by marking it as the solution.
PatrickEng
HubSpot Employee
HubSpot Employee

[Closed] CMS Hub Ask Me Anything (January 24)

Hey @Indra,

 

These are all fantastic questions, I'll try to answer the ones that I can!

 

Blog taxonomies

I’m not aware of any changing taxonomies in play but using that example of a Car Dealer, the better solution than trying force a blog to do something it might not be best suited for could be instead leveraging something like HubDB or Custom Objects to setup records or rows for Cars that have all this type of information and list out this data using whatever filters we see fit using HubL.

 

Blog filters and HubDB filters

Two possible options here could be leveraging Serverless Functions to manage the and / or logic or taking advantage of our newly announced GraphQL functionality in Beta. 

 

Structured data

I’m not able to speak to what’s on the roadmap as I am not sure but I do know that we also understand the value of structured data and are talking about how it can help our customers. Something worth looking at in the meantime is a Schema Helper integration we have on the marketplace that can help set it up. 

 

Preloading images

For preloading images, you could take advantage of the HubL tag to require_head and have it add those prefetch links you need to your template’s head section. 

aronerid23
Member

[Closed] CMS Hub Ask Me Anything (January 24)

What are the prescribed procedures you should use on HubSpot CMS when making changes on custom modules and layouts on a site that has been sent off? I battle with the work process of how to keep the progressions disconnected in a testing climate, how to audit the alterations utilizing this  live information, and how to carry out a work process of improvement => test => creation.

0 Upvotes
jmclaren
HubSpot Employee
HubSpot Employee

[Closed] CMS Hub Ask Me Anything (January 24)

Hey there @aronerid23 , 

I answered a question that seemed very similar to yours. See this answer. 

If I interpreted your question incorrectly, please let me know and maybe elaborate a little more and I'll do my best to answer.

Jon McLaren

Sr. CMS Developer Advocate

Get started developing on the HubSpot CMS Developer Changelog
How to optimize your CMS Hub site for speed

If my reply answered your question, please mark it as a solution, to make it easier for others to find.

0 Upvotes
SBasile
Participant | Elite Partner
Participant | Elite Partner

[Closed] CMS Hub Ask Me Anything (January 24)

What are the best practices you should use on HubSpot CMS when making modifications on custom modules and templates on a site that has been launched?  I struggle with the workflow of how to keep the changes offline in a test environment, how to review the modifications using the live data, and how to implement a workflow of development => test => production.

0 Upvotes
jmclaren
HubSpot Employee
HubSpot Employee

[Closed] CMS Hub Ask Me Anything (January 24)

Hey @SBasile, great question, there are a few paths and it ultimately depends on your situation.
If you're working on templates or building a new module, and you need to work with real data a simple way of doing it is to use Content Staging.

  1. Stage a page that you will be redesigning/updating.
  2. Create your new module/new template or clone of a template you plan to change.
  3. in your staged page set your page to use the new template, or add the module you're planning to develop. You can access all of the live data from the account, but the page you have is on a staging website. It's not going to affect the live site until you publish from staging.

Learn more about content staging.

 

Additionally you may have heard of the enterprise feature Sandboxes, not to be confused with CMS sandbox accounts. Basically it's a copy of your production portal. Currently today when you create a sandbox you can sync everything in your developer file system to the sandbox, forms, the schema/structure of your CRM data, and more. As of this posting the feature does not currently have the ability to sync page content. That said having all of the rest of the data enables you to use that environment as a testing/development area.

 

Sandboxes are a new feature and we're continuing to add functionality to it over time. Learn more about Sandboxes.

If you do not have an enterprise hub and subsequently don't have the sandbox functionality, you can use a CMS Sandbox. The trade off right now is that you would need to use your CLI or the design manager to transfer your development assets to that account, and the sandbox account won't have any of your production accounts data. A workaround is to simply make sure your default values in your templates and modules reflect a similar experience to what's on your live site.

Once you have one of those account types (CMS Sandbox or enterprise Sandbox) you can do a more traditional git based workflow by taking advantage of our GitHub Deploy Action. Effectively if you were following the traditional git-flow method where you have a feature branch, develop branch, and main branch. You can set it up so that merges to your develop branch will automatically result in the files being deployed to your CMS Sandbox or enterprise Sandbox account. Then set it up so that any merges into your main branch, get deployed directly to your production account.

This enables you to have 1 account for safely working on your feature branch, 1 (CMS Sandbox or enterprise Sandbox) for your develop branch which you'd share with any colleages developing. then your main production account.

That workflow is ideal for teams that actively work on the same sites at the same time. You can alter the workflow, say skipping the sandbox for your feature branch based on how you or your team work.

We realize that having a lot of options and some having trade-offs can be daunting. We're actively thinking about ways we can make it easier and while we may not always be able to respond, we are watching for feedback and iterating based on that feedback from our community around the development workflow.

Additionally we have some more tips on creating an efficient development workflow.

Jon McLaren

Sr. CMS Developer Advocate

Get started developing on the HubSpot CMS Developer Changelog
How to optimize your CMS Hub site for speed

If my reply answered your question, please mark it as a solution, to make it easier for others to find.

0 Upvotes
SteveHTM
Guide | Partner
Guide | Partner

[Closed] CMS Hub Ask Me Anything (January 24)

Hope that I'm doing this right - and thanks for providing this forum!

 

I'm very confused by the changing ststus and contradictary documentation on HubSpot standard themes.

- One the one hand Its suggested that Growth and Session are available going forward, but only Session appears to be consistently available in design tools to support the creation of a child theme. I'd assume that both should be consistently accessible in the @hubspot folder to enable page design efforts. In fact, why not make all the prior themes available in the @hubspot folder for access. No downside to anyone that I can see!

- In the theme documention, it states that only Growth will be available for use in CMS starter, but that seems like an odd restiction - especially when I see how new recent accounts have been set up. And how will this restriction be applied - what's teh impact on landing pages, blogs already designed in a Session child theme?

When I try and use Session (for example), I regularly come up with issues of mis-configuration. An example is the theme_overides.css file referencing missing fields.json elements. But I don't understand how to provide feedback and get correctons to this "supported" theme. The regular support route isn't really very interested in getting such comments it would seem.

 

Steve

Steve Christian

HTM Solutions

https://info.htmsolutions.biz/meetings/stevec2

mobilePhone
+1 6195183009
emailAddress
stevec@htmsolutions.biz
website
www.htmsolutions.biz
address
San Diego, CA
Create Your Own Free Signature
0 Upvotes
AJLaPorte
HubSpot Product Team
HubSpot Product Team

[Closed] CMS Hub Ask Me Anything (January 24)

Hi @SteveHTM ,
 
When I try and use Session (for example), I regularly come up with issues of mis-configuration.
For this item, would you be able to send me the ticket ID of your support request (can do this via a private message)? I can take a look internally at this for you. Ideally, any issues you find with HubSpot-provided assets should be reported to the support team. 
 
 
In the theme documention, it states that only Growth will be available for use in CMS starter, but that seems like an odd restiction - especially when I see how new recent accounts have been set up. 
You are correct, that at this moment, Growth theme is only available for customers with CMS Starter+ via the Design Tools. We are currently working internally to provide the Growth theme to customers without CMS Hub and will be sure to communicate it out once this is rolled out
 
-AJ
SteveHTM
Guide | Partner
Guide | Partner

[Closed] CMS Hub Ask Me Anything (January 24)

AJ - thank you for the response. 

I have raised tickets when discoving functional bugs in the CMS releases, but I've been given the strong impression by the support team that detailed technical issues in code etc. shoudl be routed to the community pages. I have no problem to raise a ticket against issues I see in the Session theme if that's the appropriate route (currently, for example, regarding 4 warnings in session_overrides.css).

I believe that the CMS team should reinforce this message - perhaps in header comments etc. like the commercial theme publisher AND insert a date stamp in each of the files so that users can see what may have changed (the design manager revision history - which might be useful here - does not work on files within HubSpot themes.

 

Thanks again for providing this forum. CMS is complex and evolving faster than it's knowledge base seems to support. So it's useful to have a way to communicate with the experts!

 

Steve

Steve Christian

HTM Solutions

https://info.htmsolutions.biz/meetings/stevec2

mobilePhone
+1 6195183009
emailAddress
stevec@htmsolutions.biz
website
www.htmsolutions.biz
address
San Diego, CA
Create Your Own Free Signature
0 Upvotes
ETaylor75
Contributor

[Closed] CMS Hub Ask Me Anything (January 24)

I am trying to create a custom object using the site https://developers.hubspot.com/docs/api/crm/crm-custom-objects. I am using the “Create a new schema” section. I have filled out the required fields and applied the script it generated using our sandbox API. Below is the script the site generated minus the sandbox API key. This keep failing with the error message "This app hasn't been granted all required scopes to make this call. Read more about required scopes here: https://developers.hubspot.com/scopes", "All of the following scopes are required". Below is the error message in full.

curl --request POST \
--url 'https://api.hubapi.com/crm/v3/schemas?hapikey={Sandbox API key}' \
--header 'content-type: application/json' \
--data '{
"labels": {
"singular": "Dealer Agreement",
"plural": "Dealer Agreements"
},
"requiredProperties": [
"name"
],
"searchableProperties": [
"name"
],
"secondaryDisplayProperties": [
"status"
],
"properties": [
{
"name": "name",
"label": "Name",
"isPrimaryDisplayLabel": true,
"type": "string",
"fieldType": "text"
},
{
"name": "status",
"label": "Status",
"type": "string",
"fieldType": "text"
}
],
"associatedObjects": [
"COMPANY"
],
"name": "dealer_agreement",
"primaryDisplayProperty": "name",
"metaType": "PORTAL_SPECIFIC"
}'

 

-----------------------------------------------------------------

{
"status": "error",
"message": "This app hasn't been granted all required scopes to make this call. Read more about required scopes here: https://developers.hubspot.com/scopes.",
"correlationId": "e7fac4c5-4495-4bb7-9ca0-4edd2a8a0726",
"errors": [
{
"message": "All of the following scopes are required.",
"context": {
"requiredScopes": [
"crm.objects.custom.write"
]
}
}
],
"links": {
"scopes": "https://developers.hubspot.com/scopes"
},
"category": "MISSING_SCOPES"
}

0 Upvotes
PatrickEng
HubSpot Employee
HubSpot Employee

[Closed] CMS Hub Ask Me Anything (January 24)

Hi @ETaylor75 ,

 

My understanding for this is that the integration you're currently using to run the script doesn't have the correct permissions to make the object within the sandbox account. Something you could try as an alternative could be some integrations we have in the Marketplace that streamline the building of Custom Objects. Or, within the Create Schema endpoint, you can click the See All Parameters button near the bottom, ensure all fields are filled, and then run a test call using your API key to make sure you get a 200 response!

ETaylor75
Contributor

[Closed] CMS Hub Ask Me Anything (January 24)

Is there anyone that can help me on this?

0 Upvotes
ETaylor75
Contributor

[Closed] CMS Hub Ask Me Anything (January 24)

I did go to the site https://developers.hubspot.com/docs/api/crm/crm-custom-objects and used the "Create Schema Endpoint" tab. I also clicked on the "See All Parameters"  button and made sure that all the required information was provided. I also tried to create a test object in production to make sure the issue was not isolated to the sandbox. I still get the same error message:

{
"status": "error",
"message": "This app hasn't been granted all required scopes to make this call. Read more about required scopes here: https://developers.hubspot.com/scopes.",
"correlationId": "e7fac4c5-4495-4bb7-9ca0-4edd2a8a0726",
"errors": [
{
"message": "All of the following scopes are required.",
"context": {
"requiredScopes": [
"crm.objects.custom.write"
]
}
}
],
"links": {
"scopes": "https://developers.hubspot.com/scopes"
},
"category": "MISSING_SCOPES"
}

 

0 Upvotes
SBasile
Participant | Elite Partner
Participant | Elite Partner

[Closed] CMS Hub Ask Me Anything (January 24)

Hi @ETaylor75 -

Are you using OAuth?  Have you granted write permissions from there?  This page and the links mentioned might help.  https://developers.hubspot.com/docs/api/working-with-oauth

 

0 Upvotes
ETaylor75
Contributor

[Closed] CMS Hub Ask Me Anything (January 24)

No I am using the API 

0 Upvotes
SBasile
Participant | Elite Partner
Participant | Elite Partner

[Closed] CMS Hub Ask Me Anything (January 24)

But don't you have to provide some form of authentication with the API?

 

0 Upvotes
ETaylor75
Contributor

[Closed] CMS Hub Ask Me Anything (January 24)

This is the only option the developer site gives me.

ETaylor75_0-1643816799407.png

 

0 Upvotes
SBasile
Participant | Elite Partner
Participant | Elite Partner

[Closed] CMS Hub Ask Me Anything (January 24)

Hmm.  I wonder if it is related to this?  Sorry if you already know this.  Are you working in a developer account that might not be associated with the Enterprise account with which you are trying to work?  https://community.hubspot.com/t5/APIs-Integrations/MISSING-SCOPES-while-fetching-companies/m-p/38155...

 

0 Upvotes