Saturday, March 5, 2016

PeopleTools 8.55.x - Branding - Part I - What has changed?

PeopleTools 8.55 release packs a punch when it comes to new features. There are also some notable improvements to Branding in PeopleTools 8.55 building on the Branding framework that was previously delivered as part of PeopleTools 8.54.

In this post, I will cover some of my key findings at a high level and follow up with an additional article on some 'how-to' guides for common Branding tasks.

Note: This post assumes that the branding is applied to a stand-alone PeopleSoft application without the use of PeopleSoft Interaction Hub. There is a new Branding Activity Guide in PeopleSoft Interaction Hub Image 2 which provides a guided step-by-step process for customers to perform simple or advanced branding tasks and to publish the Branding Theme to other PeopleSoft applications in the cluster. Please refer to this Oracle blog post which highlights the latest Interaction Hub features and provides additional resources.

Unified Header:

This certainly deserves a mention because there may be some misconception that starting from 8.55 users are forced to use Fluid. The point to clarify and understand is that the only thing changing is the Branding header and the navigation mechanism. In 8.55, we now have the same header (hence the term unified) for both Classic and Fluid. With that, there is a shift in user navigation as well. That is, we would need to use the NavBar, Fluid Homepages, Dashboards, etc. to navigate around the application instead of using the traditional drop-down menu/breadcrumb navigation for Classic.

Matthew Haavisto from Oracle has detailed this in his blog entry with some references and how-to steps for those who might still want to use the Classic navigation.

Note: I updated the title of this section from 'Unified Header and Navigation' to just 'Unified Header'. I realize that 'Unified Navigation' is not a term to be used loosely as it may have a different meaning depending on whether we are using PeopleSoft Interaction Hub or not. Please refer to another blog post (again authored by Matthew Haavisto) which level sets these concepts.

Global Javascript Injection:

I previously wrote about the issue with custom javascript injection in Fluid pages. The same challenge still persists in 8.55. This means that any custom javascripts added to the Branding System Options does not work on the Fluid pages but it does on the Classic pages.

E.g.:

NavBar > Navigator > PeopleTools > Portal > Branding > Branding System Options


The test javascript CSK_TEST_JS contains a simple alert message.

NavBar > Navigator > PeopleTools > Portal > Branding > Branding Objects


Results in Classic: The javascript gets injected and the alert message is displayed.


Results in Fluid: The javascript does not get injected and the alert message is not displayed.


Workaround: We can still use the same workaround that I previously described here.

Global Style Sheet Injection:

The same issue exists for global style sheet injection using the Branding System Objects. But there is a delivered alternative to include custom styles to Fluid which I detailed in my previous post.

Theme Macro Sets for overriding Branding Elements:

I am saving the best for the last! This is definitely a great addition to the framework and I believe that it can only get better with future releases. In 8.55, we can now override some of the common Fluid Branding elements such as images, icons and styles with just configuration (macro sets). I previously detailed the complexity of overriding Fluid Branding elements in 8.54 (Part 5A and Part 5C).

PeopleBooks Reference: Defining Macro Sets and Macros

I will show you a teaser on how we can use the Theme Macro Sets to override the unified header (classic/fluid) branding logo image.

Before that we must start of with some housekeeping tasks to assemble a custom theme with custom homepage header, classic - theme style sheet and fluid - global override style sheet definitions. This would enable us to not only override the logo image but also to override subsequent Branding elements.

Step 1: Create Custom - Classic - Theme Style Sheet Definition

Note: We only need to perform this step if we intend to override some of the delivered styles for Classic while using Theme Macro Sets.

Clone delivered style sheet: PT_BRAND_CLASSIC_TEMPLTE_FLUID

Copy the entire contents on the freeform tab of the delivered style sheet (PT_BRAND_CLASSIC_TEMPLTE_FLUID) using App Designer.


Paste it as the contents of a custom style sheet object - CSK_BRAND_CLASSIC_TEMPLTE_FLUID.

NavBar > Navigator > PeopleTools > Portal > Branding > Branding Objects


Step 2: Create Custom - Fluid - Global Override Style Sheet Definition

Note: We only need to perform this step if we intend to override some of the delivered styles for Fluid while using Theme Macro Sets.

Clone delivered style sheet: PT_BRAND_FLUID_TEMPLATE

Copy the entire contents on the freeform tab of the delivered style sheet (PT_BRAND_FLUID_TEMPLATE) using App Designer.


Paste it as the contents of a custom style sheet object - CSK_BRAND_FLUID_TEMPLATE.

NavBar > Navigator > PeopleTools > Portal > Branding > Branding Objects


Step 3: Create Custom - Homepage Header:

NavBar > Navigator > PeopleTools > Portal > Branding > Define Header and Footers

Search for header definition DEFAULT_HEADER_FLUID and 'Save As' CSK_HEADER_FLUID (custom header).



Step 4: Create Custom - Theme Macro Set:

NavBar > Navigator > PeopleTools > Portal > Branding > Theme Macro Set

Copy the delivered Macro Set (PT_DEFAULT_MACROSET_855) and save as CSK_DEFAULT_MACROSET_855.


Enter custom Macro Set name (CSK_DEFAULT_MACROSET_855) and Save.



Step 5: Assemble Custom Theme

NavBar > Navigator > PeopleTools > Portal > Branding > Assemble Themes

Search for theme definition DEFAULT_THEME_FLUID and 'Save As' CSK_THEME_FLUID (custom theme).


Update the custom theme CSK_THEME_FLUID with the custom definitions created in the preceding steps.

Note: If you did not clone PT_BRAND_CLASSIC_TEMPLTE_FLUID and PT_BRAND_FLUID_TEMPLATE in steps 1 and 2 respectively, then you can just use the delivered styles for Classic - Theme Style Sheet and Fluid Components - Global Override Style Sheet.


Note: The following settings are mandatory for using Theme Macro Set. I did not find these mentioned anywhere in the documentation.
  1. Homepage Header: Must be derived (cloned) from DEFAULT_HEADER_FLUID.
  2. Classic - Theme Style Sheet: Must be derived (cloned) from PT_BRAND_CLASSIC_TEMPLTE_FLUID.
  3. Fluid - Global Override Style Sheet: Must be derived (cloned) from PT_BRAND_FLUID_TEMPLATE or PT_BRAND_FLUID_NOIMG_TEMPLATE.
These are the reasons why we completed steps 1-3. I believe the above requirements for Theme Macro Set are to be released shortly as part of a more detailed Branding guidelines document.

Step 6: Update Branding System Options

Update Branding System Options to reference the custom theme CSK_THEME_FLUID (created in the previous step).


We have completed all the housekeeping tasks to assemble a custom theme in the Branding framework. Now, we can start using the Theme Macro Sets to override Branding elements.

Step 7: Override Logo (or other available Branding elements) using Theme Macro Sets

NavBar > Navigator > PeopleTools > Portal > Branding > Theme Macro Set

Click on the custom Theme Macro Set to override the available Branding elements (177 elements - images, icons and styles - are available as delivered).



Since we want to override the logo, let us find the Branding elements (macro names) that represent the logo and override the macro content to use a custom image.




Note: I used a custom logo which is a SVG image with a height of 32 pixels. You may need to adjust other styles if your image height varies. I tried to match the height of the delivered image for the sake of this proof of concept.

NavBar > Navigator > PeopleTools > Portal > Branding > Branding Objects


Results in Fluid:


Results in Classic:


Now we can see the results of using a macro to override the logo image. But if you look at the screenshots closely, the logo is a little displaced. Let us fix that by adjusting the style (top padding).

Macro Name: PT_LOGO_TOP_PADDING
- Adjust top padding from 0.25em to 0.00em


Results in Fluid:


Results in Classic:

While the difference is subtle, you might notice that the Fluid logo appears to be positioned as expected (padding-top: 0.00em;) but the Classic logo is still displaced.

When I looked into it further, I figured that the classic homepage logo styling is getting generated a little differently and does not honor the macro override (PT_LOGO_TOP_PADDING) we just updated.


Since we already did all the housekeeping work, it is very easy to override this style using the custom Classic - Theme Style Sheet (CSK_BRAND_CLASSIC_TEMPL_FLUID).

NavBar > Navigator > PeopleTools > Portal > Branding > Branding Objects

Edit CSK_BRAND_CLASSIC_TEMPL_FLUID and set top to 4px for .homePageHdr #pthdr2logofluid:before selector.


Results:


Hope this gives you an understanding of what is new with Branding in PeopleTools 8.55. In the next post, I will provide guidelines on how to perform some more detailed branding tasks. Stay tuned!

Notes:
  1. Details of the environment used for this post: HCM 9.2 - PUM Image 16 - PeopleTools 8.55.01.
  2. If you find any inconsistent results while going through any of the steps detailed in this post (especially while assembling the theme) then please make sure you bounce your web and app servers and purge the cache.

54 comments:

  1. This is a fantastic tutorial! Thanks so much

    ReplyDelete
  2. Nice one Sasank, useful feature to save all the laborious 'manual' overrides! Thanks

    ReplyDelete
    Replies
    1. Thanks Simon! :)

      Absolutely, I also found that we can add custom macros to the macrosets which is very useful.

      Delete
  3. Hi Sasank..Wonderful blog. Tip my hat. I have one question though - I have made all the changes followed by app/web bounce. Still the new logo isnt getting reflected.

    ReplyDelete
    Replies
    1. Couple of things that troubled me was:
      - Cache which you said you already cleared.
      - Making sure the Theme is exactly as specified in this section:
      https://pe0ples0ft.blogspot.com/2016/03/peopletools-855x-branding-part-i-what.html#CustomClassicThemeStyleSheet
      The Homepage Header, Classic - Theme Style Sheet and Fluid - Global Override Style Sheet need to be cloned from the delivered counterparts. If any of these are not as specified, the theme macroset overrides would not work.

      Other than that, it has been pretty straight-forward as you can see in my examples.

      One more suggestion is to inspect the DOM and see if your image is out there somewhere and not positioned as expected. I would suggest that you first try with an logo image which is the exact same size as the delivered image. Then once you know it is working, you can experiment with your desired size and adjust other styles accordingly.

      Delete
    2. Anon, I ran into the same problem, where things were not refreshing. If you are keeping the default Fluid theme stylesheet (DEFAULT_THEME_FLUID) that stylesheet DOES NOT use the Theme Macro Set items for logo and many other objects. It appears only PT_BRAND_FLUID_TEMPLATE is using those.

      Delete
    3. If I understand what you are saying correctly, then I agree. The 'Default Style Sheet Name' under the 'Fluid Components' section on the 'Branding System Options' should be blank as shown in step 6 above.

      Also, the notes (in red) towards the end of step 5 is important. The theme should comprise of header, style sheet and macro set objects which are cloned from the delivered objects as detailed.

      Delete
  4. Great posting Sasank! I had a few glitches with rendering, but it was in the cutting and pasting of the two CSS files to the customized ones. All i had to do is open the PeopleTool delivered ones and save them as the customized ones and things worked as a charm. Also, prior to adjusting the logo position on the classic view, I went looking for the Macro parameter PT_LOGO_TOP_PADDING in the classic sheet and did not find it, so I didn't expect the Macro adjustment to take any effect.
    Anyways, good work on your part.

    ReplyDelete
    Replies
    1. Thanks Titoo! Glad to hear that you got it to work.

      Yes. I tried the same thing with the PT_LOGO_TOP_PADDING and then found that we need to work around certain things for Classic. But overall it seems a very neat architecture to start with. I am sure it will improve further with the later releases!

      Delete
  5. Thanks a lot for posting this, however, I am unable to see any images. All of the images are showing as broken links. It might be on my side, but I wanted to let you know. Thanks!

    ReplyDelete
    Replies
    1. Only thing I can think of is cache. Try restarting and clearing cache on app/web servers if you have not done so already.

      Delete
  6. Anyone have any ideas on how change the tile..... like label being on the bottom and centered?

    ReplyDelete
    Replies
    1. Great question. I ran into a similar requirement in the past where I wanted to change the position of the tile image. Here are couple of links that might be useful for you:

      Styling Tiles - Part I

      Styling Tiles - Part II

      Delete
  7. Thanks for your reply. It would be so much easier if the style I want could be applied to all the tiles as a default. :) -Heidi

    ReplyDelete
  8. @Heidi - That should be a lot easier actually. It is usually more difficult to target specific tiles. :)

    It really is controlled by what selector we are using for apply the style. If you use the below styles then it should apply it across the board to all tiles (I just removed the id condition in the span). But you will notice that these may overlay on some delivered tile content (e.g.: Manager Self Service > Team Time, Team Performance tiles have some Tile content at the bottom, so if you move the tile header to the bottom, you might have some spacing issues.) Hope this helps.

    .nuitile .ps_groupleth > span.ps-label {
    margin: 170px 0 0 45px;
    }
    @media only screen and (max-width: 519px) {
    .nuitile .ps_groupleth > span.ps-label {
    margin: 95px 0 0 10px;
    }
    }

    ReplyDelete
    Replies
    1. Also, keep in mind that if you have tiles of varying sizes (1*1,2*1,2*2, etc.), then your margin might vary in terms of where you want to place the title. You will need to get a bit creative in terms of how you might want to achieve that from a CSS point of view.

      Delete
  9. Hi Sasank, It's Heidi again...do you know of an easy way to remove a label from one single tile? I opened an Oracle case but they told me it's not possible. Looking for any suggestion. Thanks, Heidi

    ReplyDelete
    Replies
    1. Hi Heidi - Welcome back!

      Simple fix would be to find that element and hide it using CSS. I wrote a post on how to change the position of the Tile label. You follow a similar approach and instead of overriding the margin css property, you could simply use a "display: none;" to hide the Tile label.

      Refer: https://pe0ples0ft.blogspot.com/2016/09/fluid-ui-styling-tiles-part-ii.html

      Delete
  10. So there's no Content Reference Attributes to set for that? In previous versions, I just used PTPPB_HP_COMP_NOHEAD. I will try overriding the CSS property for this element. Thanks!

    ReplyDelete
    Replies
    1. It would be nice if there was some setting like that. But I am not aware of any CREF attributes or CREF tile properties that we can use to further customize the look and feel of the tiles.

      Delete
  11. Hi Sasank. I am having an issue with my header not changing on the homepage. My changes take effect on all of the other pages but they are not all rendering on the homepage.

    I have cloned the Header Classic and added it into my new theme. My changes have been to set the background-image: none and set background-color: Red. The background-color impacts pthdr2syslinkscontainer but not #pthdr2linkcurve. I did the same with the #pthdr2curve and #pthdr2bkgrnd but they are also not changing to Red. I also set background-image: none on #pthdr2shadow, the that still appears too.

    They all render properly on all other pages. The homepage is the only one I have issues with.

    Any input would be appreciated.

    Thanks,
    Fred

    ReplyDelete
    Replies
    1. Hi Fred - Are you using 8.55? And have you turned off Fluid completely?

      Which homepage are you referring to Fluid/Classic when you say it is not working?

      I have not worked much wit the DEFAULT_THEME_CLASSIC. I would suggest that you use either the DEFAULT_THEME_TANGERINE or DEFAULT_THEME_TANGERINE_ALT if you want to style your classic header different. I have examples of how to modify those these from my 8.54 posts. The steps should be the same. Refer to the links at the end of this post:
      https://pe0ples0ft.blogspot.com/2014/11/peopletools-854-branding-part-1.html

      Delete
  12. Sasank-

    Thank you for the reply. We are using 8.55. No, Fluid is also on. I am trying to do branding for both simultaneously.

    The Classic homepage is the one that is not rendering correctly.

    Unfortunately I not sure I will be able to use the Tangerine styles. Organizationally, the choice was made to stay will the Classic styling until we move to 9.2.

    I will take a look at the links.

    Thanks,
    Fred

    ReplyDelete
    Replies
    1. Hi Fred - Based on your previous comment, I tried the following and it seems to work for me on both the Classic Homepage and Classic pages.

      1. Updated Branding System Options as follows:
      Default Branding Theme: DEFAULT_THEME_CLASSIC
      Theme Style Type: Classic (DarkBlue)
      Default Style Sheet Name: PSSTYLEDEF

      2. Using Branding System Options, I added a custom Style Sheet under "Additional Style Sheet Objects" with the following contents:

      #pthdr2top > #pthdr2bkgrnd, #pthdr2top > #pthdr2curve, #pthdr2top > #pthdr2shadow {
      background-image: none;
      background-color: red;
      }

      This will replace the background color to red. Notice that I am using the pthdr2top parent id selector for pthdr2bkgrnd, pthdr2curve and pthdr2shadow ids. This helps targeting the specific elements and applying the style class.

      That said, if you are still running into issues with the homepage alone, you might want to bounce your web server and clear the cache. Depending on how your web profile is configured, homepage caching could cause some issues.

      Let us know how it goes.

      Delete
    2. Sasank-

      That did the trick. Thank you so much for the help.

      Thanks Again,
      Fred

      Delete
  13. Sasank
    I have learned a lot from your blogs. I have been trying to replicate your fluid changes and in my case, I too have not been able to use the macro set changes to influence my fluid home page header. I have started just trying to change colors. If I am understanding things correctly, I'm wondering if Oracle change something in the later PT maintenance releases. I'm currently running PT 8.55.11. According to the styles I am seeing used on the fluid homepage, they are using PSSTYLEDEF_FMODE. That style sheet has different names than the PT_BRAND_FLUID_TEMPLATE stylesheet we copied to create a custom fluid stylesheet.

    ReplyDelete
    Replies
    1. I think PSSTYLEDEF_FMODE does get used even in prior releases of PeopleTools. Take a look at this screenshot which I took in a 8.55.06 environment.
      https://snag.gy/BkTIiv.jpg

      I doubt that style sheet is going to impact the macrosets. You can see that the macroset based theme is also loaded.

      Although, it is very important for the theme to be defined exactly as follows with either the delivered style sheets of cloned versions of the delivered style sheets.
      https://pe0ples0ft.blogspot.com/2016/03/peopletools-855x-branding-part-i-what.html#CustomClassicThemeStyleSheet

      And also, the Branding System Options should be set as described in this link:
      https://3.bp.blogspot.com/-6xP14-46GQ8/VtkIJXi3DOI/AAAAAAAABjY/-pch6ClMdco/s1600/16.png

      Hope this helps.

      Delete
    2. Well, I'm not sure where the hangup was, but for other reasons I ended up rebuilding the web domain and it suddenly started working. Must have been something that wasn't refreshing. I had deleted the main web cache folder before. Thanks!

      Delete
  14. Hi,

    Updaing the logo in them microset worked for you in 8.55?

    Logo on landing page is displayed from PTNUI_LANDING_CSS, where its hard-coded to Oracle Logo.

    ReplyDelete
  15. Hi Madhan - Yes. If you follow all the steps detailed in this blog then it will be overridden by styles in the Theme MacroSet CSS.

    Here is the Landing Page: https://snag.gy/metWsu.jpg

    Here is the Theme MacroSet CSS: https://snag.gy/RdxjZc.jpg

    ReplyDelete
  16. WE have disabled the Fluid interface in our system but when we go to the org chart and career opportunities pages they are still in fluid for our super users. Any ideas as to why this is happening?

    ReplyDelete
    Replies
    1. Hi Josh - Is it behaving differently for other users?

      Then I would check if your super users have access to any delivered roles such as 'Portal Administrator' or 'PeopleSoft Administrator'.

      Also, how are your super users navigating to these pages?

      Delete
  17. Nicely done Sasank. This certainly saves time and supplement practical info not in PT documentation.

    LaiCC

    ReplyDelete
  18. Very well done. I follows your pages for the HCM 9.2 upgrade under Tools 8.54 and now looking at FSCM 9.2 under Tools 8.55.

    Have you looked at what it would take to have a different logo for the different portals (Employee, Supplier, ...)?

    ReplyDelete
    Replies
    1. Great question. Sorry for the delay in responding but I hope this post helps:
      Using Different Branding Themes for Different Portals

      Delete
  19. Hi Sasank,

    Does this mean all the branding changes detailed in your 8.54 posting can be accomplished using theme macro set, if we're on tools 8.55 but not using fluid?

    Thanks,
    wendy

    ReplyDelete
    Replies
    1. Hi Wendy - Yes. I would recommend using the theme macro set as it takes care of both Fluid and Classic.

      Delete
  20. Hi Sasank,

    Thank you for wonderful blog once again.
    I have followed the instruction step by step but the Logo is not replaced. Bounced the webserver as well but still the same. What am I missing ?

    Thanks

    Saad

    ReplyDelete
    Replies
    1. Assuming you cleared the web cache as well?

      I am not entirely sure. It should work if you followed the steps. What tools release are you on?

      Often times, it has been cache. See this comment thread:
      https://pe0ples0ft.blogspot.com/2016/03/peopletools-855x-branding-part-i-what.html?showComment=1479787243529#c4604373250501143759

      Delete
  21. Hi Sasank - EXCELLENT blog and write-up on theme customization. I wanted to point out that when I followed the steps in this article against a PUM image, they did not take effect until I also went to PeopleTools > Portal > Branding > Assign Branding Themes and added an entry for the Role I wanted (in my case 'PeopleSoft User'). By default only 'PeopleSoft Guest' was in the list.

    Thanks,
    Charlie

    ReplyDelete
    Replies
    1. Hi Charlie - Thanks for sharing your experience.

      That is interesting. I have never had that issue so far working on different PUM images (all the way up until 8.55.12). What tools release are you on?

      If there was a default theme assigned in that page (with a delivered theme) then it has the possibility of overriding the theme on the 'Branding System Options'.

      Delete
    2. Hi Sasank - I did this on image #22, PT 8.55.14.

      Delete
  22. Hi Sasank,

    Does Macroset works with Branding theme - "Default_Theme_Fluid" only. I want to make logo change for "Default_Theme_Tangerine_Alt".

    Requirement:
    - Purpose is custom logo required on all pages and components but it is appearing only on Homepage.

    Problem:
    - when we are on fluid theme, logo appear on homepage. ideally with fluid, logo doesn't appear On pages/components navigation, alternatively HOME or other link appear on top left.

    - We want logo inside on pages, so switch to 'Def Theme tang alt', but not sure what values tpo select under assemble theme, for 'classic component - Theme Style Sheet' and 'Global Override Style Sheet'

    please suggest
    .

    ReplyDelete
    Replies
    1. Hi Rahul - It is a good question and a valid one too! I have not tried using a different theme for Branding Theme Macrosets. I doubt it will work based on the second note in Step 5.

      The problem that you have described is actually the way Fluid is designed and intended to work. That is, the logo will appear on the Fluid Homepage but it will not appear on Fluid pages. This is because PeopleTools uses that header space for various things including but not limited to 'Back' button, 'Activity Guide' buttons, Page Title, etc. So, it is not ideal to display logo at all times.

      That said, you still have your requirement which I guess is also valid. You may have to either update the Fluid header to incorporate your logo (might be quite an effort) or you could try something as suggested in the below link:
      https://pe0ples0ft.blogspot.com/2016/04/peopletools-855x-branding-part-iii.html#2

      These are just a couple of ideas. You may have other options that I am not aware of as well! Let us know how you end up implementing this requirement!

      Delete
  23. Hey Shashank,

    For the Remote Tiles in Portal. When the tile is clicked, then it takes out of portal and goes to the Content Provider applications URL. Do we have any settings for it?

    For Example : Click on any delivered HCM/Finance Tiles from Employee Self Service HomePage of Portal. When Personal Details Tile is clicked, it takes to the HCM Component URL, rather than the component wrapped within Portal.

    ReplyDelete
    Replies
    1. Hi Karthic - Sorry for the delay in responding.

      Since Fluid uses the psc servlet, I would imagine that is how it would work. Basically, there is no portal header wrapper in Fluid. The header is generated by the content servlet itself.

      Hope this helps.

      Delete
  24. Hi Sasank:
    First I want to thank you for all the great insight and tips your provide us. You are the best. I wanted to find how to put the UserDescription in the Fluid Header of the Interaction Hub and HCM. This used to be an easy customization in both IH and HCM in the past but with fluid I am not sure.
    Have you done this and would you know/have a solution?
    Thanks in advance and keep up the great work.

    David

    ReplyDelete
    Replies
    1. Hi David - Great question. This is something I have thought about quite bit. I think with the NUI framework for navigation and branding, there is limited space in the header which is also dynamic in nature.

      One approach I found was to add a descriptive label on the 'Sign out' link which is part of the Action Menu. This may not be a direct answer to your question but hope it gives you some ideas:
      https://pe0ples0ft.blogspot.com/2017/08/branding-sign-out-label-oprid.html

      Delete
  25. Hi Sasank: This is in PeopleTools 8.55 BTW.

    Thanks,
    Dave

    ReplyDelete
  26. Hi Sasank,
    Have you had much luck making the logo a hyperlink to take users back to the homepage? I know we can hardcode the full url, but trying to see if here is a better way to do it, so we can test it in all environments.

    ReplyDelete
    Replies
    1. Yes. Here is a post on that topic:
      https://pe0ples0ft.blogspot.com/2017/06/pt-855-branding-logo-hyperlink.html

      Delete
  27. Thanks buddy!!!!! this helped me...!!!

    ReplyDelete