Blog

Storing icons and reports in the database

  • 11 June 2020
  • 4 replies
  • 509 views
Storing icons and reports in the database
Userlevel 3
Badge +2

When creating an application, using icons is an important part of the user experience. Likewise, reports can add a lot in terms of BI. Up until now these files have always had to reside on the file system, which can bring some added hassles during deployment. The files needed to be present in the correct location, all users needed the appropriate rights to access these locations and after deployment IAM always had to be pointed to the right location to be able to find the files. With the release of version 2020.2 of the SF and IAM we’ve taken some steps to relieve these issues.

Starting with 2020.2, icons and reports will be stored as BLOBs in the database. This means that whenever the database is deployed, all icons and reports will automatically be deployed with it and the SF and IAM will instantly have access to them.

 

Icon overview screen

 

Uploading files to the database

After upgrading to 2020.2 you will need to upload all images and reports from the file system to the database. This can be done with the task Upload images and reports to database which can be found in the Advanced menu under Master data > Software Factory. When you run this task you will be prompted to enter a project version. After executing the task will check the places where icons and reports are used for file paths and if it finds one, uploads the linked file to the database. This task needs to be run for each project version separately. This way the database won’t be bloated unnecessarily by uploading files from unused projects and project versions.

During the upload process the task my come across a file link that points to a file that no longer exists in that location on the file system. In that case an error will be displayed in the information panel with information about the object that contained an invalid file path. If this happens a new file will need to be uploaded manually for that object.

 

Example of a file uploaded to the database

 

Files in IAM

Of course all the files need to be present in IAM as well to work with end products. Once all files have been uploaded to the database in the SF, the project version can be synchronized with IAM to automatically bring them all over.

If the project version isn’t ready to be synchronized with IAM yet however, all the files can be uploaded for any project version already synchronized with IAM. This can be done by going to Projects > Project overview in the sidebar. On the Project versions tab click on the task Upload images and reports to database. You will then be prompted to enter a project version, after which the task will upload all files for that project version to the database.

Upload images and reports task in IAM

 


4 replies

Userlevel 6
Badge +16

Can't wait to work with this new feature this will save lots of time! 

Userlevel 4
Badge +13

This will be of great help, thanks everyone!

Userlevel 5
Badge +16

Especially for reports like Crystal Reports, how are sub reports supported? They can now me automatically loaded with relative paths. How would this work in this new situation?

Userlevel 3
Badge +2

At the moment, importing sub reports directly from the database is not supported. However when a report is imported as a sub report it will become part of the main report and will still be available even if the original sub report can’t be reached.

If the sub report is frequently edited however, and needs to be reimported on a regular basis there are a few ways to do this.

One way is to keep the report available on the file system. This way the main report will always be able to reach it. This works best when the report isn’t imported to the SF (when an external party maintains the report for example).

If the sub report is imported to the SF the easiest way to keep the main report up to date is to create a copy of the sub report on the file system when it is updated and then reimport it to the main report from there.

Reply