This post is part 2 of the series “Customising the Pentaho User Console (PUC)” Version 3.5.x. Here is a list of what I have covered in other parts:
- Login page and dialog
- Messages (covered in this post)
- Main toolbar, menu bar and logo panel
- Launch page
In this post I will show you how to customise messages for the login dialog and PUC.
Customising Login Dialog Messages
Messages for the login dialog are displayed as text i.e. “Login” as the title of the login dialog or “Login Error” the error message a user receives when they don’t provide the right credentials:

To modify the messages you need to make modifications to the MantleLoginMessages_en.PROPERTIES file, which is located under two different directories:
- \tomcat\webapps\pentaho\mantleLogin\messages\MantleLoginMessages_en.PROPERTIES
- \tomcat\webapps\pentaho\mantle\messages\MantleLoginMessages_en.PROPERTIES *
* I’m not sure why there is a second copy of the file located under the \mantle\ directory, it could be used when users timeout while still logged into the PUC – as the login dialog pops up – but I’m only guessing (if you do know please let me know).
If you look inside these directories you will see a MantleLoginMessages.PROPERTIES file, when you first load the login page this file is loaded first then the MantleLoginMessages_en.PROPERTIES file. This means that we only need to make changes to the MantleLoginMessages_en.PROPERTIES file or MantleLoginMessages_xx.PROPERTIES depending on your language setting (in this example I will be using the MantleLoginMessages_en.PROPERTIES file). Once you have opened the MantleLoginMessages_en.PROPERTIES file you will see a list of messages which can be modified (you should be able to figure out what they relate to from their names):
authFailed=Authentication failed loginError=Login Error launchInNewWindow=Launch in new window login=Login ok=Ok cancel=Cancel username=User Name password=Password error=Error sampleUser=Sample User selectUser=Select a User serverError=A critical server error has occurred, check the logs. popupWarning=We've detected the use of "pop-up blocking" software which prevented<br/>the launch of the Pentaho User Console in a new window.<br/><br/>Disable popup blocking for this site or uncheck<br/> "Launch in new window".
In this example I would like to modify the:
- login message from “Login” to “Login to Steel Wheels”
- username message from “User name” to “Steel Wheels Username”
- sampleUser message from “Sample Users” to “Steel Wheels Sample Users”
After making modifications to both MantleLoginMessages_en.PROPERTIES files they now look like this (you do not have to stop your Apache-Tomcat server before making any modifications):
authFailed=Authentication failed loginError=Login Error launchInNewWindow=Launch in new window login=Login to Steel Wheels ok=Ok cancel=Cancel username=Steel Wheels Username password=Password error=Error sampleUser=Steel Wheels Sample Users selectUser=Select a User serverError=A critical server error has occurred, check the logs. popupWarning=We've detected the use of "pop-up blocking" software which prevented<br/>the launch of the Pentaho User Console in a new window.<br/><br/>Disable popup blocking for this site or uncheck<br/> "Launch in new window".
Save and close the file, clear your web browser’s cache and refresh the login page. The modified login dialog now looks like this:

Another example would be to change the default login error message:

I would like to change the:
- error message from “Error” to “Authentication Error”
- loginError message from “Login Error” to “Your username or password was incorrect. Try again.”
After making modifications to both MantleLoginMessages_en.PROPERTIES files they now look like this (you do not have to stop your Apache-Tomcat server before making any modifications):
authFailed=Authentication failed loginError=Your username or password was incorrect. Try again. launchInNewWindow=Launch in new window login=Login to Steel Wheels ok=Ok cancel=Cancel username=Steel Wheels Username password=Password error=Authentication Error sampleUser=Steel Wheels Sample Users selectUser=Select a User serverError=A critical server error has occurred, check the logs. popupWarning=We've detected the use of "pop-up blocking" software which prevented<br/>the launch of the Pentaho User Console in a new window.<br/><br/>Disable popup blocking for this site or uncheck<br/> "Launch in new window".
Save and close the file, clear your web browser’s cache and refresh the login page. The modified error message now looks like this:

As I mentioned above if you need to change messages for a specific language you will need to modify both MantleLoginMessages_xx.PROPERTIES files (where xx is the language code). Pentaho Business Intelligence (BI) Platform Version 3.5.0 supports the following languages:
- MantleLoginMessages_en.PROPERTIES : English
- MantleLoginMessages_de.PROPERTIES : German
- MantleLoginMessages_es.PROPERTIES : Spanish
- MantleLoginMessages_fr.PROPERTIES : French
- MantleLoginMessages_ja.PROPERTIES : Japanese
Customising User Console Messages
User Console messages are stored in the messages_en.PROPERTIES file which is located under the \tomcat\webapps\pentaho\mantle\messages\ directory.
If you look inside this directory you will see a messages.PROPERTIES file, when you first load the user console this file is loaded first then the messages_en.PROPERTIES file. This means that we only need to make changes to the messages_en.PROPERTIES file or messages_xx.PROPERTIES depending on your language setting (in this example I will be using the messages_en.PROPERTIES file). Once you have opened the messages_en.PROPERTIES file you will see a list of (263) messages which can be modified (I won’t go through each message but you should be able to figure out what they relate to from their names):
productName=Pentaho User Console file=File print=Print... options=Options view=View admin=Admin help=Help logout=Log Out welcome=Welcome refresh=Refresh toggleSolutionBrowser=Toggle Browser solutionBrowser=Browser solutionBrowserRefreshed=Solution Browser refreshed workspace=Workspace myDesktop=My Desktop waqr=Ad hoc Reporting about=About... softwareUpdates=Updates... showSolutionBrowser=Browser showActualFileNames=Show Actual File Names showLocalizedFileNames=Show Localized File Names useDescriptionsForTooltips=Use Descriptions For Tooltips purgeMondrianDataCache=Purge Mondrian Data Cache purgeMondrianSchemaCache=Mondrian Schema Cache mondrianDataCacheFlushedSuccessfully=Mondrian Data Cache Flushed Successfully mondrianSchemaCacheFlushedSuccessfully=Mondrian Schema Cache Flushed Successfully executeGlobalActions=Global Variables refreshReportingMetadata=Reporting Metadata refreshReportingMetadataSuccess=Reporting metadata refreshed successfully refreshReportingMetadataFailed=Reporting metadata refresh failed refreshSystemSettings=System Settings refreshSystemSettingsSuccess=System settings refreshed successfully cleanContentRepository=Clean Content Repository cleanContentRepositorySuccess=Content repository cleaned successfully. resetRepository=Reset Repository refreshRepository=Repository Cache refreshRepositorySuccess=Repository cache refreshed successfully refreshRepositoryFailed=Repository cache refresh failed showClassicView=Switch to Classic View showExplorerView=Switch to Explorer View classicSolutionBrowserDescription=Below lists collections of logically grouped Pentaho folders and documents called Solutions. By default, the "Sample" Solution is installed and contains working examples demonstrating the functionality of the platform. Once a Solution is chosen, use the file browser to locate and launch a document. To learn more about how to modify the examples or build a Solution, read the <A target="_blank" HREF="http://wiki.pentaho.org/display/PentahoDoc/Creating+Pentaho+Solutions">'Creating Pentaho Solutions'</A> document available at wiki.pentaho.org.<BR><BR>The 'Classic View' is provided for nostalgic purposes only and is not supported by Pentaho. showHiddenFiles=Show Hidden Files hideHiddenFiles=Hide Hidden Files enableSubscription=Use Public Schedules schedule=Schedule scheduleEllipsis=Schedule... newSchedule=New Schedule available=Available: current=Current: add=Add remove=Remove addAll=Add All removeAll=Remove All close=Close name=Name scheduleDate=Schedule/Date type=Type size=Size actions=Actions run=Run Now runInBackground=Run In Background archive=Run and Archive edit=Edit editAction=Edit Action delete=Delete deleteConfirm=Confirm Delete deleteQuestion=Do you want to delete {0}? deleteContentItem=Do you want to delete this content item? deletePublicSchedule=The selected report and all history will be removed from schedule. yes=Yes no=No share=Share properties=Properties propertiesEllipsis=Properties... files=Files browse=Browse documentation=Documentation documentationEllipsis=Documentation... tools=Tools save=Save saveAsEllipsis=Save As... saveAs=Save As _new=New newAnalysisView=New Analysis View newAnalysisViewEllipsis=Analysis View... newAdhocReport=New Report newAdhocReportEllipsis=New Report... publicSchedules=Public Schedules allSchedulesAdminOnly=All Schedules (Admin Only) mySchedules=My Schedules waiting=Waiting complete=Complete manage=Manage manageContent=Manage Content manageContentSelectFunction=Select the Manage function to perform open=Open openEllipsis=Open... openURLEllipsis=Open URL... openInNewWindow=Open In New Window noUpdatesAvailable=No updates are available. link=Link os=Os version=Version softwareUpdateAvailable=Software Update Available download=Download globalActionsExecutedSuccessfully=Global actions executed successfully. enterURL=Enter URL: ok=OK cancel=Cancel info=Info error=Error question=Quesion urlNotSpecified=URL not specified fileExistsOverwrite=File exists, overwrite? untitled=Untitled schema=Schema cube=Cube noMondrianSchemas=Could not retrieve mondrian schema and cube info selectSchema=You must select a schema selectCube=You must select a cube preferencesSetSuccess=Preferences set successfully.<BR>You must restart the application for the settings to take effect. preferencesSetFailed=Preferences were not set successfully chooseColor=Choose color... apply=Apply revert=Revert revertToDefault=Revert to Default Setting revertToGlobal=Revert to Global Setting effectiveValue=Effective Value defaultValue=Default Value globalValue=Global Value userPreferences=User Preferences userPreferencesEllipsis=User Preferences... styles=Styles repository=Repository favorites=Favorites windowCloseWarning=Navigating away from this page may terminate your session. pentahoHomePageName=Pentaho.com actionSequenceScheduledSuccess=Report scheduled. Note: Only last scheduled report run will be displayed from the Workspace.<BR><BR> To see subsequent scheduled report runs, please use public schedules. general=General advanced=Advanced couldNotGetFileProperties=Could not get file properties couldNotGetUserSettings=Could not get user settings analysisViewIsOpen=An analysis view, {0}, is already open.<BR>Select OK to close this view and continue? loadingEllipsis=Loading... fileDoesNotExist=Error: The file {0} does not exist. Check the spelling and try again or browse to the file and select it directly. couldNotLoadBookmarks=Could not load bookmarks couldNotGetRepositoryDocument=Could not get repository document couldNotCreateSchedule=Could not create schedule manageGroups=Manage Groups favoriteGroups=Favorite Groups preview=Preview errorPerformingWAQRPreview=Error occurred while previewing the report closeTab=Close Tab closeOtherTabs=Close Other Tabs closeAllTabs=Close All Tabs groupName=Group Name bookmarkTab=Bookmark Tab reloadTab=Reload Tab reloadAllTabs=Reload All Tabs openTabInNewWindow=Open Tab in New Window deepLink=Deep Link createDeepLink=Create Deep Link couldNotDelete=Could not delete {0}, check permissions. createNewFolderEllipsis=New Folder... newFolderName=Name: newFolderDesc=New Folder Description newFolder=New Folder couldNotCreateFolder=Could not create folder {0}, check permissions. noSchedulePermission=You do not have permission to schedule to this action sequence. allPermissions=All Permissions create=Create update=Update execute=Execute grantPermissions=Grant Permissions permissionsColon=Permissions: addPeriods=Add... usersAndRoles=Users and Roles: permissionsFor=Permissions for {0}: user={0} (User) role={0} (Role) lastModified=Last Modified source=Source location=Location report=Report xaction=XAction analysisView=Analysis View folder=Folder waitMessage=Operation in progress... pleaseWait=Please wait. back=Back featureDisabled=This feature is disabled description=Description jobName=Job Name jobGroup=Job Group date=Date state=State lastRunNextRun=Last Run / Next Run workspaceMessage=<BR><H3>&nbsp;&nbsp;My Workspace</H3><BR>&nbsp;&nbsp;This page shows reports that you have submitted to run in background on the server.<BR>&nbsp;&nbsp;You can cancel ones that have not run yet, and you can view or delete ones that have.<BR><BR> viewContent=View Content deleteContent=Delete Content cancelExecution=Cancel Execution suspend=Suspend couldNotGetLogicalReportPage=Could not get logical report page suspendThisJob=Suspend This Job resume=Resume resumeThisJob=Resume This Job runThisJob=Run This Job deleteThisJob=Delete This Job never=Never normal=Normal paused=Paused running=Running unknown=Unknown editingColon=Editing: backgroundExecutionWarning=Reports that prompt for parameters are not supported with this feature and may result in errors.<BR><BR> Please check Workspace to view the status of the report. adhocPreview=Ad Hoc Report Preview solutions=Solutions customCRONSchedule=Custom CRON Schedule appliedSchedulesWillBeLost=All applied schedules will be lost. Continue? choiceColon=Choice: selectionColon=Selection: pentahoSolutionBrowser=Pentaho Solution Browser selectUserOrRole=Select User or Role users=Users roles=Roles couldNotGetRoles=Could not get list of roles couldNotGetUsers=Could not get list of users pageMustBeBetweenOneAnd=Page must be between 1 and invalidPageNumberColon=Invalid page number: page=Page of=Of reportParameters=Report Parameters automaticallySubmitParameters=Automatically Submit Parameters on Selection submit=Submit couldNotBackgroundExecute=Background execution failed reportIsScheduledForBE=Report is scheduled for background execution couldNotSchedule=Report could not be scheduled for background execution. couldNotDeleteContentItem=Could not delete content couldNotFetchWaitingBackgroundItems=Could not fetch waiting background items couldNotFetchCompletedBackgroundItems=Could not fetch completed background items couldNotCancelBackgroundJob=Could not cancel background job couldNotDeleteContentItem=Could not delete content item couldNotSuspendJob=Could not suspend job couldNotResumeJob=Could not resume job couldNotDeleteJob=Could not delete job couldNotFetchSubscriptions=Could not fetch subscriptions couldNotFetchMySchedules=Could not fetch schedules couldNotFetchAllSchedules=Could not fetch all schedules editEllipsis=Edit... shareEllipsis=Share... scheduleEllipsis=Schedule... cannotEditFileType=Document cannot be edited. scheduleInvalidFileType=Unable to schedule {0}, invalid file type. cannotEditFileType=Document cannot be edited. backgroundJobScheduled=Job is scheduled for background execution. confirm=Confirm userParamBackgroundWarning=Reports that prompt for parameters are not supported with this feature. Run in Background may report errors. Click OK to continue. couldNotDeletePublicScheduleAndContents=Could not delete public schedule & contents. editContent=Edit Content invalidLogin=Invalid Login languages=Languages loadingConsole=Pentaho User Console is Loading... pleaseWait=Please Wait
In this example I would like to modify the:
- productName (the page title) message from “Pentaho User Console” to “Steel Wheels Reporting Console”
- loadingConsole (the loading box) message from “Pentaho User Console is Loading…” to “Steel Wheels Reporting Console is Loading…”
- manage (the menu item under the File menu) message from “Manage” to “Manage Steel Wheels Reports”
- openEllipsis (the tooltip when you hover over the open reports icon) message from “Open…” to “Open your reports”
- workspaceMessage (the text displayed on the workspace page) message from the current output to nothing
After making modifications to the messages_en.PROPERTIES file the new messages now like look like this (you do not have to stop your Apache-Tomcat server before making any modifications):
productName=Steel Wheels Reporting Console loadingConsole=Steel Wheels Reporting Console is Loading... manage=Manage my reports openEllisis=Open your reports workspaceMessage=
Save and close the file, clear your web browser’s cache and refresh the PUC. Below are before and after screenshots of the message changes:
productName
Before the productName message was “Pentaho User Console”:

After the productName message is “Steel Wheels Reporting Console”:
loadingConsole
Before the loadingConsole message was “Pentaho User Console is Loading…”:

After the loadingConsole message is “Steel Wheels Reporting Console is Loading…”:

manage
Before the manage message was “Manage”:

After the manage message is “Manage my reports”:
openEllisis
Before the openEllisis message was “Open…”:

After the openEllisis message is “Open your reports…”:
workspaceMessage
Before the workspaceMessage message can be seen below:

After the workspaceMessage message is removed:
As I mentioned above if you need to change messages for a specific language you will need to modify both messages_xx.PROPERTIES files (where xx is the language code). Pentaho Business Intelligence (BI) Platform Version 3.5.0 supports the following languages:
- MantleLoginMessages_en.PROPERTIES : English
- MantleLoginMessages_de.PROPERTIES : German
- MantleLoginMessages_es.PROPERTIES : Spanish
- MantleLoginMessages_fr.PROPERTIES : French
- MantleLoginMessages_ja.PROPERTIES : Japanese
Stay tuned for the next part in this series which outlines how to change menu bars (includes both menu bars) and the logo panel in the PUC.
Enjoy.