I am pretty much giving up on Jasper at this point. There is zero support from their user group and I have limited time. My plan was to use postgresql because jasper can directly use it. But actually I need to store images and it is not clear if jasper uses the ByteA fields or the Blobs stored as separate files. Just too many unknowns. So I am back to trying to use KoolReports. It seems that they allow you to store small versions of images in mySQL. I will store the large versions in S3 and keep the URL that points at them. But I won't use the large images in the Jasperreport, just the small ones.
Now I have an issue of how to have CI and Jaspereports coexist in the same controller. My CI controller starts off with class extends. And then all the functions I use are defined within that.
class Configure extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->helper(array('form', 'url'));
$this->load->library('grocery_CRUD');
$this->load->library('email');
$this->load->library('image_CRUD');
$this->_init();
}
private function _init()
{
$this->output->set_template('default2');
$this->load->js('assets/themes/default/js/jquery-1.9.1.min.js');
$this->load->js('assets/themes/default/hero_files/bootstrap-transition.js');
$this->load->js('assets/themes/default/hero_files/bootstrap-collapse.js');
$this->load->js('js/jquery.orgchart.js'); // for charts
}
}
But the sample for KoolReport starts off with its own class extends:
class MyReport extends \koolreport\KoolReport
{
use \koolreport\clients\Bootstrap;
function settings()
{
return array(
"assets"=>array(
"path"=>"../../assets",
"url"=>"assets",
),
"dataSources"=>array(
"automaker"=>array(
"connectionString"=>"mysql:host=localhost;dbname=automaker",
"username"=>"admin",
"password"=>"xxxx",
"charset"=>"utf8"
)
)
);
I'd like to use the same dsn[default] defined in database.php for both. I am also concerned about how to setup KoolReport within CI. Can a "class extends" be inside of anther class extends?
proof that an old dog can learn new tricks