Such changes work for you on your Mac, but won’t be available for other Merlin users in your company. They will also be reseted the next time you update your Merlin version. To create a report template of your own to transfer to others and to be independent of updates resetting Merlin’s application package, you need to work a bit differently. This means, you do the same changes but create first a new report template of your own.
Creating a new own report based on an existing Merlin project template
- Locate first your Merlin application package
- ctrl + click it and select “Show Package Contents”
- Navigate to the folder /Contents/PlugIns
- Locate the .mrept package you want to duplicate
- ctrl + click it and select “Duplicate”
- Move this new file into the following path in your home directory ~/Library/Application Support/Merlin/Reports
- Remove the ” copy” out of the packages’ name
- ctrl + click the newly inserted template and select “Show Package Contents”
- Open the ‘info.plist’ under /Contents by a plist editor or a text editor
- Check the string value for the key CFBundleIdentifier and modify its last item. For example: If having duplicated the “NextDueActivities.mrept” and see in the info.plist the following string for CFBundleIdentifier
Just enter now your own bundle identifier. Let’s say
- Now you can rename your report template .mrept package to MyCompanyNextDueActivities.mrept
- Edit the “InfoPlist.strings” in your language folder to specify another title and description to your template (work as explained here but open the file from your new template located in the ~/Library/Application Support/Merlin/Reports folder)
- Quit Merlin if it runs and restart it.
Additional step for python and wbl report templates:
A report based on python and wbl also contains one or more pairs of .py and .wbl files within the following path /Contents/Resources/
While the last item of the string for CFBundleIdentifier refers to the name of the package and the preferences for this report , in the info.plist of python/wbl report templates there is also another key NSPrincipalClass referring the names of the scripts and also the class it should load.
That means, you need to additionally rename the string for NSPrincipalClass in the index.plist (to make sure your report calls the classes defined in your template) AND the py and wbl files contained in your report template package…
You duplicated the CostDistribution.mrept template and want to name it MyCompanyCostDistribution.mrept:
- You have already edited the last item of CFBundleIdentifier
- Renamed the report template package.
- You edit the string for NSPrincipalClass to MyCompanyCostDistribution…
- And rename the files MERCostDistribution.py, MERCostDistribution.wbl to MyCompanyCostDistribution.py and MyCompanyCostDistribution.wbl
- Open the MyCompanyCostDistribution.py in a text editor and do a search and replace for MERCostDistribution to MyCompanyCostDistribution
Localize a Merlin report template in your own language
See next blog post…