Tfs Extension for a specific project - tfs

Im pretty new in TFS and need to create a hub extension.
The thing is I can't find a way to specify a collection project for the extension so it will exist only when this project is selected on the TFS and not for all projects.
Maybe there is a way to specify this in the extension-manifest.json file?

No, extensions are installed into the collection level https://learn.microsoft.com/en-us/vsts/marketplace/get-tfs-extensions
Data storage is also either at the collection level or user level.

This is not support for now. When you install a extension, you need to specify a collection, the extension will be installed for all team projects under this collection.
There has been a related uservoice, you could vote up it, TFS PM will kindly review your suggestion:
Limit the custom extensions to specific projects only
https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/16469686-limit-the-custom-extensions-to-specific-projects-o

Related

Is there way we could determine the usage of TFS Extensions in our organisation?

We are using TFS 2018 (2018.1 to be precise). I need to find out how many projects are using a particular TFS Extension. How can I get this information? Few of these extensions are installed through Visual Studio Market Place and few are developed internally.
Actually, when you install a extension, you need to specify a collection, the extension will be installed for all team projects under this collection.
In other words, extensions are installed into the collection level, it's not able to use extension for a specific project. All projects in the collection are installed.
You could take a look at our official link here: Install extensions for on-premises servers
For now, only with for a paid extension, you can restrict who can access it by Assigning paid extension access to users.
Update
However, to find out the number of builds or projects using a particular TFS extension is not available at present. There's no such build-in feature.
You could submit a feature request in Azure DevOps Develop Community site.
Our PM will kindly review your suggestion.

How to install a TFS extension only on some project instead the whole collection

we have a TFS collection with a huge amount of projects inside (it's a design choice).
We have create extensions (that works great), but out current problem is: How to install the extension not on the whole collection.
If the solution is to install it on the whole collection but hide it after with a setting, it should be great too.
I have take a look inside the manifest, but for now I hadn't found the solution.
Has anyone have a clue about this problematic ?
Unfortunately this is not supported for now. When you install an extension, you need to specify a collection, the extension will be installed for all team projects under this collection.
But for a paid extension, you can restrict who can access it by Assigning paid extension access to users
There have been user voices below to suggest the feature, you can go and vote it up to achieve that in future release.
Limit the custom extensions to specific projects only
VSTS extension project restrict
Besides, if you don't want to apply the extension to some team projects under a collection, then as a workaround you can split a team project collection to organize your projects into separate collections (Collection A : The projects which you want to apply the extension; Collection B: The projects which you don't want to apply the extension.).

How do i limit the custom extensions to specific projects only

Hi have created an extension using then following link
https://www.visualstudio.com/en-us/docs/integrate/extensions/get-started/node
But , i want to display this "Tab" which i have created using the TFS Extensions only to specific projects in my collection. is it possible
No, it's not possible currently. The extension is installed on the project collection level, not team project level.

deny read access to single project in a solution consisting of multiple projects

We use TFS as source control. In TFS we host a solution consisting of multiple Visual Studio projects. We do not want our contractors to see the source code of ONE of these projects (limited users should still see all compiled assemblies). What is the best way to achieve our objective without setting up two repositories and having to synchronize all code changes between them?
I would recommend that instead of just changing the permissions in place that you move the projects that you want to protect to a separate folder with its own solution. Secure that folder as above. You can then build it separately and deploy it to an internal nuget repository.
you can then reference that repository from within the Visual Studio package manager and it will be managed as an external dependency. If you update and publish the other solution then the other devs will be notified of updates..
You control access rights to a folder by selecting Advanced->Security from Source Control Explorer. From there, you can turn off security inheritance for the item(s) you need to protect. Then, create a TFS-specific group containing the 'limited users' only and only allow them access to the particular project folder. Alternatively, create a group for the contractors and deny them access.
This is based on VS/TFS 2012.
But my guess is that you will also need to create a specific solution for the contractors that doesn't have the particular project included.

Moving a Team Project from one Collection to another

is there a (simple) way to move a single TeamProject from one collection to another (in one server) in TFS 2010? Including source code, work items, documents, project site...
No not really simple, you can split a collection and creata a new collection with the team projects you move in it, but you cannot out-of-the-box merge a team project into an existing collection.
What you can do is to use the TFS integration platform http://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe or http://tfsintegration.codeplex.com to migrate your team project over to the new collection. This is however a DataMigration that doesnt keep or even move all data, but it will move Source Code & Workitems. Moving a team project site (if needed) , including documents can be done by using the STSADM Export and Import commands, please refer to http://technet.microsoft.com/en-us/library/cc288191%28v=office.12%29.aspx for more info about moving SharePoint sites
No there isn't.
But it is a requested feature: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2037613-make-it-possible-to-move-a-team-project-between-te
It is not easy, but it is doable: Split a Team Project Collection
Yes there is a feature request, but I don't think it will be shipped in the box, so the other option to use TFS Integration Platform
There is a way to move from one collection to another using git-tfs and git-tf tools, it is a kind of workaround, but works if this is really required to be done.
This is posted step-by-step here:
https://fabiostawinski.wordpress.com/2017/03/22/tfvc-to-git-to-tfvc-is-it-possible/
In VS 2013 - map both collections to some folders, and then "Move" command will be available:

Resources