Version control and Deployment process implementation for views/reports/dashboards

Philipp U. shared this question 7 days ago
Awaiting Reply

Hi Yellowfin Support,

We currently have various tenants set up for clients in production. We would like to achieve two features from Yellowfin to help us with CI/CD:


Feature one, deployment process:

We would like to be able to work on a private clone of an active dashboard/report/view in production, make some changes, and deploy it to replace the existing active dashboard/report/view.

We thought of a couple of ways to do this:

  1. Work on the same tenant as the production version. Make a private clone of the single item to change. Do the changes, and replace the original version by renaming and deleting. This causes problems when there are linked filters, reports, and drill throughs and also for viewing permissions.
  2. Work on the same tenant as the production version. Make a private clone of the single item to change. Export the item. Import the item, hitting “replace” and selecting the production version of the item. This also causes problems when there are linked filters, reports, and drill throughs.
  3. Work on a dev instance identical to the one in production. Make changes as desired. Export the complete set of linked items. Import these into the production tenant as new items. Delete the old items. The problem here is that it may affect the user experience, in that their favourited dashboards may suddenly appear at the back. It seems we will also manually need to reset the permissions of who can view what, after we import.

Are there any solutions in production that would allow us to bypass all of these issues without a significant chunk of work in deploying every new piece of development?


Feature two, version control:

We are looking for a version control system similar to the style of Git, where we can follow the complete history of a report/view/dashboard. The only idea we have right now is to export an item each time a change is made, so it could be imported to be restored in the future. This is cumbersome. Is there a better way to do this?


Many thanks for your help,

Philipp

Comments (3)

photo
1

Hey Philipp,

I hope you are well!


What Version of Yellowfin are you currently running on?

I have tested the security access in version 9.4.2 when importing a a private content folder and the user access was also imported - I will test this again on the same version you are on, if it is not the same, to check the outcome. but in version 9.4.2, this should work.

1b27b4e920f788faddcc47d77a74b92f


So saying that, for Deployment Process - I would suggest option number 3.


In regards to Version History - if you have this enabled in a content folder, and then enable report refresh on a report, this will keep all report versions (or at least how many you have set in the content folder)

This is where you will find the report versions - Although I dont have any right now as I have not refreshed the report -

e28eabc00b9dbec599a20cbc68604060


But as long as you have Version history > report refresh enabled > you should see this icon to access previous versions.


In regards to the Views, if you use the 'Clone' option when editing, you should be able to roll back to the previous version if the cloned version is not to your liking/ any problems arise, though this will only keep 1 previous version of the view -

d149bfd5474010ac417a680793dfedd9


And for Dashboards, unfortunately, you cannot keep version history the same way as reports, I believe the best option for this would be to export the dashboard :(


But if you are looking for complete history, then exporting dashboard and view each time a change is made would be the best option

And for reports using the version history is the best option


Let me know your thoughts :)

Best Wishes,

Lesley

photo
1

Hi Lesley,


Thank you very much for the detailed response. That clears up some issues for me and hopefully will help us decide a way forward.


Kind regards,

Philipp

photo
1

Hey Philipp,

I hope you are well & had a lovely weekend!


No problem - I would also suggest giving these options a test first before making any concrete decisions. Best way to find out the right option for you is to test it out first :)


Let me know if you have any further questions regarding this :)

Best Wishes,

Lesley