Dashboards, custom apps and end user changes

Daniel Peel
Mega Sage

I'm curious what others are doing in this space... 

 

We have custom apps built in app engine studio, published and installed in production.  Some of those apps contain dashboards... which are end user editable.  

How do you maintain the changes the users have made, over time, with your published versions.  Do you always clone to dev before you make changes to the applications, do you publish updates to the app repo from prod, do you not allow end users to made changes to things like dashboards in custom apps?  

Since dashboard changes are capturable in updates made and published... if we install an update with changes to the other parts of the application, the dashboards shouldn't be lost... but if we has to reinstall, they would.

Thanks for any feedback.

4 REPLIES 4

James Chun
Kilo Patron

Hi @Daniel Peel,

 

Although I haven't faced this situation before, I would recommend making the dashboards non-editable.

If they wish to customize it, they should be able to copy it and modify it as per their needs.

Note that a change that a user makes may not be beneficial for other users, so you need to be careful on granting the edit access.

Also, since you always have the preconfigured dashboards, the users have the option to revert back to them if wish.

 

Hope that helps, cheers

While a valid path... if an application is made for a team/group of users and that application admin wants to update the dashboard to show a new tracked stat or something, would you prevent that?  Make them go through development for an update to a dashboard?  

I guess I should have been a slight clearer... I'm not really talking about user/personal created dashboards but ones created for the app that would be shared, similar to an overview... but that application admins should/would be able to amend over time.

Right, that makes more sense, thanks for the elaboration.

 

Following the standard dev process ( Change in Dev -> Test -> republish the app ->download/update the app in the Prod) would be the 'clean' way of doing things.

But if you consider the time/effort needed for this and if the change is only for dashboards/reports that don't require much testing/validation, do you think there is a value in spending that much time following the standard process?

If not, why not allow the admins to apply the changes directly in Production and only when you need to publish a new version of the app, export all the changes from Prod to Dev, and republish the app so that the new version incorporates all the changes.

 

Of course, this would be different if you are publishing the app to the Store but since it's just within your organization, you have the flexibility to make other choices. But if your company is very strict on Change Management (i.e. all changes must start from Dev), you will always have to start from Dev.

 

Cheers

Ya I guess that's why I was curious what others do...

Dashboards shouldn't need dev/test/prod work... they can be built in production... they are all the time. 

If, following that same logic, I let users modify ( like we can ) those dashboard they own, in their own app... how do I ensure they are kept in the published application versions... so the next time we make a change and deploy a new version... those dashboards aren't reverted.  Now... I understand that if I don't modify the dashboard in DEV, no update will happen in prod... but if I lost the instance and pulled my repo back... those changes would not have been captured.  

We do, in fact, publish to the company application store and install that application and it's newer versions.  Along the same lines, if I don't have those updates published... additional installs/repairs etc will also not contain them.

 

I'm just wondering how others allow, if they allow, those changes and keep the published applications up to date with the changes.

I'm guessing for the sake of argument, you would rather prevent users from modifying, as you've said, thus losing default functionality, in favor of requiring updates be developed and deployed.  

I haven't looked much in to the app engine pipelines... I wonder if this would aid... having the app admin make those changes in DEV and using the pipelines, preconfigured, to push those to prod.