Override Built In Reports

Post Reply
Declan Lynch
Posts: 15
Joined: 14 Jun 2022, 17:47

In Essential Cloud how can I override a built in report?

I want to take the 'enterprise/core_el_project_summary.xsl' report and add a few custom slots as well as expose the 'project_activitys' slot on the report. I know I can create a report in the users folder but how would I then go about making sure that anything that links to the original report would get repointed to my new version?
JohnM
Posts: 478
Joined: 17 Feb 2009, 20:19

There are a couple of ways to do this. Go to the Report class in the instance browser and open the report instance for Project Summary
Either:
1) Update the xsl path in the existing report to point to user/[YOUR REPORT].xsl and publish
This will just replace the current report with your version
Note, the downside is that if we update the path in a future update, it may reset the path to our new path.

2)
a) Create a copy of the existing report add your xsl path as above, turn off the old report by clicking the enabled boolean in the original report.
b) Go to the Report_Menu_Item class and find 'Project Summary Menu Item'. Change the target report slot to your version of the report.
c) make sure your report is in a portal - add it to the relevant Portal_Section

Then publish.

1 is quicker but 2 is the best way and what we recommend. Your report will now get picked up in the views.
Declan Lynch
Posts: 15
Joined: 14 Jun 2022, 17:47

Thanks. I ended up using the second option and it looks like it is working well.

I added a 'Project Activities' section to the project summary with the following code.

Code: Select all

<div class="col-xs-12">
	<div class="sectionIcon">
		<i class="fa fa-cubes icon-section icon-color"/>
	</div>

	<h2 class="text-primary">
		<xsl:value-of select="eas:i18n('Project Activities')"/>
	</h2>
	<div class="content-section">
		<table class="table table-bordered table-striped">
			<tr>
				<th>Name</th>
				<th>Start Date</th>
				<th>End Date</th>
			</tr>
			<xsl:apply-templates select="$thisProjectActivities" mode="getActivities">
				<xsl:sort select="own_slot_value[slot_reference='ca_proposed_start_date_iso_8601']/value" order="ascending"/>
			</xsl:apply-templates>
		</table>
	</div>
	<hr/>
</div>
using the following xsl template

Code: Select all

	<xsl:template match="node()" mode="getActivities">
		<xsl:variable name="this" select="current()"/>
		<tr>
			<td><xsl:value-of select="$this/own_slot_value[slot_reference='project_activity_label']/value"/></td>
			<td><xsl:value-of select="$this/own_slot_value[slot_reference='ca_proposed_start_date_iso_8601']/value"/></td>
			<td><xsl:value-of select="$this/own_slot_value[slot_reference='ca_target_end_date_iso_8601']/value"/></td>
		</tr>
	</xsl:template>
Post Reply