2 Replies Latest reply: Jul 16, 2013 7:44 AM by hulqamaniac RSS

    deploying BI publisher report from OEM plug-in

    991744
      Hi!

      I am a bit confused about how to deploy & access BI publisher report from the plugin I develop
      I've found only the http://docs.oracle.com/cd/E24628_01/doc.121/e25161/bi_pub.htm and am a bit confused
      What I did:
      1) Integrated BI publisher with OEM
      2) Developed a BI publisher report
      3) Downloaded 2 files : xdoz and xdmz (DataModel & report)
      4) made folder structure
      /bipublisherreports/
      /EM_Datamodels
      5)packed into jar
      jar cf myjar.jar ./bipublisherreports
      6)put jar into ../oms/reports/emreports

      7)written report.xml (in ../oms/reports/) file:

      <?xml version = '1.0' encoding = 'UTF-8' ?>
      <BIPublisherReports
      xmlns="http://<what ip is here???>/DataCenter/BIPublisherReport">
      <ReportFile relativePath="emreports" fileName="myjar.jar"/>
      </BIPublisherReports>

      The plug-in does not pass validation...
      cvc-elt.1: Cannot find the declaration of element 'BIPublisherReports'. for the MDS id report

      Error is ungooglable =(

      Can anybody help or point to some clear doc?
        • 1. Re: deploying BI publisher report from OEM plug-in
          Jerry Abramson-Oracle
          cd /tmp
          mkdir STAGE
          cd STAGE
          mkdir bipublisherreports
          cd bipublisherreports
          mkdir EM_Datamodels [notice the underscore]
          mkdir "My Sample Report" [notice, the quotes are necessary since the directory name contains spaces]

          The datamodel needs to go in the following directory:
          -------------- "bipublisherreports/EM_Datamodels/My Datamodel.xdmz" [there is an underscore between EM & Datamodels]

          The reports go in a report directory, for example:
          --------------- "bipublisherreports/My Sample Report/My Report.xdoz" [use spaces here wherever you prefer]

          Make sure your report refers to the datamodel in the right location. So, in BIP, when editing the report, use the above folder names, under the 'Enterprise Manager Cloud Control' shared folder.
          For example, your BIP catalog will look like this:

          Shared Folders
          ---Enterprise Manager Cloud Control
          -------- EM_Datamodels
          -------------- My Datamodel
          -------- My Sample Report
          -------------- My Report

          You then create a jar file with this:
          cd /tmp/STAGE
          jar cvf myemreports.jar bipublisherreports

          Now, you need to make your bip reports part of your plugin source code.

          You put your report.xml in your sysman/metadata/bipublisherreport [note the singular] directory.

          For example:
          <BIPublisherReports
          xmlns="http://www.oracle.com/DataCenter/BIPublisherReport">
          <ReportFile relativePath="emreports" fileName="myemreports.jar"/>
          </BIPublisherReports>

          You then create a subdirectory, sysman/metadata/bipublisherreport/emreports
          And you put your myemreportrs.jar file here.

          You then rebuild your opar using standard EM procedures.

          When a customer later on instals your plugin, the BIP reports that go with the plugin are installed into the EM database repository automatically.

          they can simply do this to deploy the bi publisher reports from em to BIP at any point:
          emcli deploy_bipublisher_reports -plugind="my.sample.plugin" -pluginversion ="12.1.0.3.0" [-force]

          The -force operation overwrites the reports.


          See the complete help text like this:
          emcli help deploy_bipublisher_reprorts




          If they have not yet configured BIP with the configureBIP script, this deploy step happens automatically when they run configureBIP.
          • 2. Re: deploying BI publisher report from OEM plug-in
            hulqamaniac

            I think the problem you face is in your xml.  The first attribute of the BIPublisher element must be the xml namespace which must match the target namespace outlined in the schema.  During opar packaging you'll find that it extracts a schema to $TMP/BIPublisherReport.xsd_partner.  Once it finds your report.xml it validates against this schema.  To directly answer your question, the xmlns must be xmlns="http://www.oracle.com/DataCenter/BIPublisherReport".  You can test the validation of your xml against the schema with Eclipse or because the xml and schema are so short you can use an online validation tool.