Global theme footer
Asked by Karie Kelly:

I need for a confidential and proprietary footer to appear on all pages. In 4.x, we had customized the footer in the global theme - there was a field called footer and we input the text. Consequently, it appeared on every page and wasn't something a user cannot remove (that's why it's not in a page template).

But, with the upgrade to 5.x, none of the theme customizations are converted. From what I can tell, I have to know CSS and HTML. Unfortunately, I'm not a developer and now I'm stuck.

I guess with this upgrade, the data is in the database, but wasn't migrated - so, all customization you may have done is lost and you have to redo for the global and space customizations that you did...unless, I've missed something.

Could anyone help me and let me know how I add this footer context to all pages and in such a way that a user cannot remove it? This is critical for our IP and legal protection.


Answers:
author: Karie Kelly
body: Does anyone have ideas on how to add the same kind of footer that you do on the documentation theme (that is going away) to the global theme since the global does not have the input boxes as mentioned below?


author: Alejandro Conde Carrillo
body: [How to Edit the Footer in Confluence](https://confluence.atlassian.com/display/CONFKB/How+to+Edit+the+Footer+in+Confluence) :)

comments: author: Karie Kelly
body: Sorry, that's not actually the footer I was referring to. I want to customize the new global theme. Previously, I went to the Documentation Theme \> Customize Theme \> and then there were two fields associated with the Messags section: Header and Footer. You put in information/text that you wanted to appear on every page - it wasn't editable by the user. We included another page that had our copyright and confidentiality statement in the Footer field and this information appeared on all pages.

This is what I'm trying to replicate in the new theme since the documentation theme is going way. I cannot determine how to do this with the Default Global Theme in a way that Atlassian supports. I don't understand why this theme wouldn't have the same header and footer fields as I'm sure that we are not the only customer that must have such statements on all their pages. As indicated in the referenced doc, Atlassian doesn't recommend it. So, I'm looking for how Atlassian recommends doing this. It looks like I have to hire a developer for this...but, it would be very nice if someone that doesn't know CSS and HTML could do this like we could do before.


author: Karie Kelly
body: It looks like you now have to figure out how to edit. Unfortunately, I have no idea how to edit this - as mentioned, it was much easier to have a field specifically for these content areas to input the text. I understand that this will be flexible for those that are developers; but, I'm not a developer. It would be helpful if Atlassian can post how those of us who are not, can make common updates.

`## PAGE SPECIFIC DECORATOR`  
`## Here the context is the page. Modes are 'view', 'edit', 'edit-preview', 'view-information', and 'view-attachments'.`  

`#set ($helper = $params.get("helper"))`  
`#set ($mode = $params.get("mode"))`  
`#set ($context = $params.get("context"))`  
`#set ($confPage = $helper.page)`  

`#infoPanelInitFromParams()`  
`## GENERAL PAGE DECORATING BEGINS`  

`#requireResourcesForContext("page")`  

`#if ($mode != "edit" && $mode != "edit-preview")`  
` #parse ("`[/decorators/includes/content-navigation.vm](https://jira.phytel.com/wiki/spaces/viewdefaultdecorator.action?decoratorName=/decorators/includes/content-navigation.vm&key=PG)`")`  
`#end`  

`#if ($infoPanelRequired)`  
`<content tag="sidebar">`  
` #infoPanel(true true true true)`  
`</content>`  
`#end`  

`#if( ($mode != "edit" && $mode != "edit-preview" ) && $darkFeatures.isFeatureEnabled("confluence.new-space-ia"))`  
`<content tag="ia-sidebar">`  
` #foreach ($webPanel in $webInterfaceManager.getDisplayableWebPanels("atl.page.left.sidebar", {"page": $confPage, "context": $context}))`  
` $!webPanel.getHtml($action.context)`  
` #end`  
`</content>`  
`#end`  

`<div id="content" class="page $!mode">`  
` #parse("/decorators/includes/page-content-includes.vm")`  

` ## MODE SPECIFIC DECORATING BEGINS`  
` #*`  
` Display page based on mode: currently 'view', 'edit', 'preview-edit', 'info' and 'attachments.`  
` See the individual page templates (viewpage.vm, editpage.vm, etc.) for the setting of the mode parameter.`  
` *#`  
` ## VIEW`  

`... and it continues for several more lines....`