David Warring > Elive-1.30 > Elive::Entity::Report

Download:
Elive-1.30.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source   Latest Release: Elive-1.32

NAME ^

Elive::Entity::Report - Elluminate Report entity instance class

DESCRIPTION ^

This is the entity class for server side reports. These are visible on the Elluminate server under the 'Reports' tab.

Please note that the list method (listReports command) does not return the body of the report. The report object needs to be refetched via the retrieve method.

For example, the following code snippet exports all reports for a site:

    my $reports = Elive::Entity::Report->list;
    my @report_ids = map {$_->reportId} @$reports;

    foreach my $report_id (@report_ids) {

        #
        # listed objects don't have the report body, refetch them.
        #

        my $rpt = Elive::Entity::Report->retrieve( $report_id );

        my $name = $rpt->name;
        $name =~ s/[^\w]//g; # sanitise
        my $export_file = "/tmp/report_${reportId}_${name}.xml";

        open (my $dump_fh, '>', $export_file)
            or die "unable to open $export_file: $!";
        print $dump_fh $rpt->xml;
        close ($dump_fh);

    }

METHODS ^

list

    my $all_reports = Elive::Entity::Report->list();

List reports.

Note: This command does not return the body of the report (xml property).

retrieve

    my $report = Elive::Entity::Report->retrieve( $report_id );
    my $report_xml = $report->xml;

Retrieves a report, including the body of the report (xml property).

insert

The insert method is not available for reports.

update

The update method is not available for reports.

delete

    my $report = Elive::Entity::Report->retrieve( $report_id );
    $report->delete if $report;

Deletes a report.

syntax highlighting: