Hi,
I’m quite encouraged by what I’ve read of ReportServer. My concerns are around automated deployment of ReportServer and packages of reports. I have a pipeline (sequence) of non-production environments that I would be using to validate new releases of ReportServer, configuration changes, and new reports. Because much of the configuration of ReportServer is handled through the web interface I’m thinking it may be hard to automate in a consistent way using tools like Puppet and RPM. In this regard it’s in no worse shape than Oracle BI Publisher or MicroStrategy - any reporting solution with its own metadata database is going to be a challenge to a certain extent.
In any case, here’s some feedback on a few changes that could make ReportServer easier to automate.
- persistence.xml includes a mix of internal software configuration that changes from release to release (a list of classes) and user-supplied data (database connection parameters). If you can split this out somehow and store the user-supplied data in a separate configuration file, the internal data could be deployed with the software release and the user-supplied file would not have to be merged on each release.
For extra flexibility, ReportServer could load the user-supplied file from the classpath; this would allow me to add a directory under /etc to the Tomcat classpath and store configuration there instead of inside the webapp deployment directory. It would make upgrades easier by avoiding a mix of
-
reportserver.properties includes a mix of defaults and configured settings, if I understood correctly. If you split this into an internal defaults file, with a user-supplied file that only overrides the defaults, the user-supplied file would not have to change on each release.
-
Configuration files such as mail.cf are stored in the database. I would like to have some way to push these out through Puppet - for example, ReportServer could look for them from the classpath before trying the database.
-
Report files like BIRT .rptdesign bundles are uploaded through the web interface. What I’d like to do is build a bundle of reports in my build system and deploy them to the Linux server filesystem through Puppet and RPM, and then somehow have them available to ReportServer (e.g. via the Tomcat classpath).
-
Report metadata is also configured through the web interface - parameters, data source configuration, metadata. I’d like to have a way to export a report’s metadata from one ReportServer instance so I can import it into another instance, preferably on the server command-line so I can automate it with Puppet when I deploy new/updated reports.
I admit I haven’t yet purchased the scripting or administration guides, so I may be missing some key information that would answer some of the items above.
Thanks,
Mike