Behaviour of republishing APP for existing users - google-apps-marketplace

We have an app which is already used by customers
We will be soon adding new API and adding new scopes and publishing it again.
This new API is used by only 5 customers out of our 100 customers.
Wanted to know what happens to all the customers who are using the existing APP. Since the same App is published again, will the functionality is broken if they don't install the APP?
This new API is only required for few customers, so can this newly republished app needs to be installed by only those customers ?
Or it has to be installed by all Customers who does not require this API and scopes as well?
Can some customers who do not need this API and scopes need not install this APP?

It depends on the type of deployment
There are Head Deployments which are automatically in sync with most recently saved code and there are Versioned Deployments which are a snapshot of your code.
In this specific case I'd use a versioned deployment by following the steps in the documentation in order to make the difference mentioned above (only 5 customers).

Related

Building and installing a Teams bot app for on-premises softwares

I am quite new to Teams and to building bots for it.
Using NodeJS, I built a simple prototype one that can receive notifications and send requests to my software.
However, my software is installed on-premises, which means all users using it have a different domain name for it (xxx.com, abc.com…). To be able to use it, the app needs to know what is the endpoint of the requests.
I wonder how I can build my bot app in those conditions and have it in the Teams Marketplace.
My question is :
I assume I want a team admin to set the domain name in some app settings before installing it for a team and users to use.
Is that possible somehow? Is it even possible to build such an bot app?
I suppose it is possible to achieve that by having the users install a custom app, but then the app cannot be in the Marketplace.
I also suppose I can ask individual users to first enter the name of the domain, it sounds repetitive and the info would then be stored in some userData.
Isn't there some teamData instead? Could it mean having one user set those information and have them stored for everyone?

slack show webhooks configured for user when they leave

We've had a DevOps member leave recently and have had complaints that all of the integrations (incoming webhooks) that they had set up have stopped working... (once the user was disabled).
One suggestion for dealing with this was to notify the affected channels when we deactivate the user, but I can't find in the API methods a way to look up which channels a user might have configured these webhooks for...
Anyone had to do something like this?
To get the apps and internal integrations that have been installed by a specific user use the API method called team.integrationLogs.
This method lists the integration activity logs for a team, including
when integrations are added, modified and removed. This method can
only be called by Admins.
For a programmatic solution you will need to go through all log entries for one user / app to find out its latest status.
However, it might still become difficult to reinstall all that apps / setup all that webhooks again properly after a DevOps member has left depending on how good your documentation is. We have therefore started using a generic admin user (e.g. "slackadmin") as main installer for all important apps / integrations for our workspace.

Restrict any new installation of already published google-marketplace-app

We have a google-marketplace-app which is already published and actively used by consumers. But there is a new requirement, where we need to block any new installations of the app without impacting the existing consumers.
Is there a straight forward option to achieve this? Or do we have to unpublish existing app and republish with some specific options (i.e: "visibility-options")?
The ideal expectation from our perspective is not to let existing app consumers/domain-admins to perform anything on this regard. But only that existing domains needs to whitelisted from our end (by app developers) to allow installation of the app to admins of those domains, where as any other domains shouldn't have install access (even with direct app installation link).
Appreciate any recommendations on this.
In the Chrome Developer Dashboard there is an option to add trusted testers to the app. The accounts that are in that list will have the visibility to the application.
You can also create a group and add that group to the list, and the people inside that group will also have visibility to the app.
Here you can find the documentation related to this. Hope this helps.

Migrating from parse.com

Say I have 10K users for my app and I want to switch to my own custom server for backend. I have seen the Parse export functionality but I don't get how it can help me in this situation.
I mean even if I export all data and make updates to app so that it makes calls to my new custom server, still, it will take months for all my users to use updated version of app(many users don't update immediately, my last update on fb was year ago).
Also, during this transition half of my users would be having their
data on my custom server and other half(those who haven't updated)
would be using parse server, so for queries that require all data in one place this becomes an issue (I could solve this via replication but imagine how slow it would be in realtime to push the data to both - my server and parse.com).
Has anyone thought about this ?
What you could do is when you release a new version of your app, when a user logs in and they are on parse, migrate their data at that point to the new server and from that point on that user uses the custom server. That way users move to the new server as they upgrade, I always have a flag that is fetched from my server to force the user to upgrade if is needed. Hope that helps.
Copying data over to your new backend periodically until you have finalize your mobile client code and then allow the user to update their app on the App Store or Google Play Store would provide the switch over. Doing that elegantly would be dependent on the type of app and user base you have for the app. I wrote up a part 1 of a blog on these considerations for migrating over from Parse to Couchbase Mobile stack and the reasons why to consider the stack.
If you can already attach a new system in place to have new data in two places (Parse and customer backend) then the copy and merge in the future might be easier to handle but this is case by case. Then when on mobile app update, you can depreciate the server. Or push data to have local store for those users who will be on older versions since Parse will eventually stop working. Any new experiences will require update to the new App version.

How can we change ownership of a Heroku add-on

Is it possible to change ownership of a Heroku add-on? If so, how can we do that? In fact, I want to move an add-on from one Heroku account to another.
Let me elaborate my scenario a bit more to be clear.
I created an add-on with my test provider acount. Is there any way that I can delete the add-on from my test account and create the add-on with the same name with my official provider account? As a matter of fact, there is nothing about deleting the add-on or moving it under a different account in the Provider's documentation.
A Google search lead me to this support page, which says
This currently depends on whether or not the app has any paid resources associated with it.
For an app with no paid resources, you can use "heroku sharing:transfer" from the command line to transfer the app to a new owner.
For an app with paid resources, you have two options.
1) Remove all paid resources, transfer the app like a free app, then have the new owner re-add the paid resources.
2) Both the old and new owners should file a support tickets at http://support.heroku.com authorizing the transfer and with the new owner accepting charges for the app.
Also check out the Transferring apps and Collaborating with Others articles on Heroku's Dev Centre.
Since you're talking about ownership of add-ons as an add-on provider and not just ownership of your heroku app, I would say you should probably contact the heroku add-on support team via email. See this page here for an email address. Hopefully as an add-on provider if you submit a help ticket they'll be able to help you as well.

Resources