Menu Items Missing From Top of Confluence
Symptoms
On a page, a user is missing the buttons for 'create', 'edit dashboard', 'invite users', and 'create space' from the top right-hand corner. In their place, the following line of code appears:
#menuMacros_renderHeaderRightPanels()
or
#menuMacros_renderHeaderWorkDayLink()
The following appears in the atlassian-confluence.log
:
WARN [http-8090-1] [confluence.velocity.introspection.AnnotationBoxingUberspect] lookupMethod Velocity template accessing deprecated method com.atlassian.confluence.util.profiling.DecoratorAction#getRemoteUser - template/includes/menu-macros.vm
The following is an example of the errors on a page:
or
Diagnosis
For
#menuMacros_renderHeaderRightPanels()
Looking at the name of the macro, we can then search in the installation directory for 'renderHeaderRightPanels.' This particular macro is in the 'menu-macros.vm' file.
Run the following on the affected database:
Select * from decorator;
Looking at the output and determine if an entry in the 'DECORATORNAME' column has a record that corresponds to 'menu-macros.vm.' If there is an entry, note the 'DECORATORID', and please continue with the resolution.
Please keep this output as a copy of your customizations
For
#menuMacros_renderHeaderWorkDayLink()
The #menuMacros_renderHeaderWorkDayLink()
is missing from the menu-macros.vm
file. Please check the file for this line of code, and if it is missing, proceed with the resolution below.
Please take a copy of this file before making any changes
Cause
This happens because of a footer modification that was implemented in a previous Confluence installation that is not compatible with your current Confluence version.
Resolution
Remove the customization that was applied in the previous Confluence installation.
For
#menuMacros_renderHeaderRightPanels()
Remove Customization
- Back up your database using database-native tools
Save a copy of your customizations by saving the output of this query:
select * from decorator;
Delete your customizations:
delete from decorator;
- Restart Confluence
For
#menuMacros_renderHeaderWorkDayLink()
Add the following to the menu-macros.vm
file
## The workday plugin point is provided exclusively for workday, as such it only outputs the first webitem found
#macro (menuMacros_renderHeaderWorkDayLink)
#set ($workDay = $webInterfaceManager.getDisplayableItems("system.header/workday-non-public", $action.webInterfaceContext))
#if ($workDay.size() > 0)
#menuMacros_renderImageLink($workDay.get(0) "aui-align-right")
#end
#end