Skip to main content
June 14, 2021
Question

Can a Site's properties (e.g. branding colors) be accessed by the interface or form displayed on any site page?

  • June 14, 2021
  • 5 replies
  • 0 views

I had an idea for how to make PM-generated Emails look on-brand, but I don't know if it's currently able to be implemented.

  1. Basically, storing the colors, logo, anything that can be defined with an Expression on the Site designer page in a database table. 
  2. Retrieve these branding attributes using an expression rule, and use them to display the Site appropriately.
  3. Also be able to access up-to-date branding using the same expression rule, which can be saved as a PV and thus influence an expression-based Send Email Smart Service.

As I see it, storing Brand attributes in the database also allows for easy updates to a site's look, while making the transition seamless for any branded emails. 

So my question is--can a site's properties/attributes be accessed using any native (or plugin) function? 

I was also looking around to see if I can find the UUID of the site itself, but I can only seem to find the UUID for a Constant version of that Site.

5 replies

stefanhelzle0001
Brainy
June 15, 2021

I just put constants into some of the expressionable values. Then created a small UI/process to update these. No DB required.

June 15, 2021

TIL you can update a constant using a Smart Service! Thanks so much, Stefan. That sounds easier. 

My question does still stand since I'm envisioning an application with more than one site, which therefore may contain more than one set of branding configurations. If an interface is reused on any of those, is it possible for it to 'know' which site it is being displayed on?

stefanhelzle0001
Brainy
June 15, 2021

AFAIK there is no direct way. You could create a wrapped interface for each branding and call the actual interfaces passing a branding value. Not very dynamic, I know. Maybe others have better ideas.