New Process Template not applied after upload - tfs

I'm working on setting up a new installation of TFS, and I seem to be having some issues getting an updated version of a process template applied to my project. Here's what I've attempted so far:
Tried to update the existing Agile process template; but it was locked down (and apparently you can't change this). OK; not a big deal; I'll create a new template; and create a new project as you can't change the workflow of an existing one.
Created a new project; applied the new template (which only has a few new transitions & states applied to work item types) and everything looks good.
Now, i wanted to tweak this a little further; adding in a few new transitions. Updated the workflow, uploaded it back to the server, and that process went fine. However, my new transitions aren't showing up.
If I create a new project using the same process template my new transitions show up in that one.
Any ideas on how I can get the new template applied to an existing project?

You have to apply the changes to the project with the witadmin command.

Related

webContext in azure-devops-extension-api

Im attempting to create my first azure devops extension to plug a gap we have but I'll be honest I'm a little stuck.
I am using the new react templates from MS and have successfully created the shell of my extension that renders a tab item in the iterations board. This displays successfully in devops when deployed.
I now want to retrieve all work items for the visible iteration. I can see that the iteration id is available via the webContext. I can also see that its accessible via the VSS object, however the new typescript model takes a totally different approach:
public componentDidMount() {
SDK.init();
this.initializeComponent();
}
private async initializeComponent() {
const projects = await getClient(CoreRestClient).getProjects();
this.setState({
projects: new ArrayItemProvider(projects)
});
}
for example.
Does anyone know out there how to get the webContext using the SDK object or how I would go about getting the current displayed iteration id, project and team....so i can at least use a wiql query to get what i need?
Any help is appreciated.
Lee
I have been wrestling with the same issue. I have discovered that this isn't supported yet in the new SDK. Just to try something out I forked the sdk and modified it and I am able to get the webContext. However I myself am trying to develop a Dashboard Widget and realized that getting webContext was just one of many things that are missing from the new SDK. Hopefully Microsoft will do something to complete this new SDK - there are many comments under the issues tab of their git repos with people complaining about how unusable it is.

Is there any "load policy" for new models in the same way as there are for new versions in Tensorflow-Serving?

I have read on the official website that we can set a version policy preserving resources or disponibility for new versions but i haven't found anything about load new models. I'm using tensoflow-serving with Docker and I want to know what is the behavior for example if my allocated memory is full and I try to load a new one.
Thanks a lot!!
You can load new versions of the same model by simply adding a new version to the folder, and you can load new models with a little bit of extra work.
Add new version of a model
To load new versions of the same model you would need to have a folder hierarchy and add the new version to the model folder with incrementing numbers. Imagine that you have this folder structure;
C:/mymodelfolder/
L->resnet-model
L->1
L->nlp-model
L->1
if you wish to load v2 of nlp-model, all you need to do is put the v2 of the model in a folder called 2 like so
C:/mymodelfolder/
...
L->nlp-model
L->1
L->2 //new model is here
in a second or so, tf-serving should discover and load that model (you can discard the one of the models later on or serve them both with right configuration in an A/B manner)
Add new model to be served
in case you wish to load another model without restarting the tf-serving, you first would need to copy the model to another folder and then send a gRPC request to the exposed port of the app using a ReloadConfigRequest proto with all the models to be served. this way you can add/remove/specify versions dynamically.
there is also a flag => --model_config_file_poll_wait_seconds which tells tf-serving to listen to changes on the model.config file but I couldnt get that to work in the latest version on docker.
For official docs and more you may visit https://www.tensorflow.org/tfx/serving/serving_config#model_server_config_details
Memory Behavior
I want to know what is the behavior for example if my allocated memory
is full and I try to load a new one.
when you are updating a model to a new version, unless you configure them to be served together, the previous model gets unloaded and the new model gets loaded. so if the first model has a different size than the second model, it will be reflected to the memory.
If you happen to load a model which would exceed the memory of the allocation for the app/container/environment then unfortunately in the current version of the app, it will shut itself down. but there is a lengthy conversation and some workarounds on this post which you may want to check out: https://github.com/tensorflow/serving/issues/1215

JBPM 6.0.1 adding custom task to workbench

I've created task in ecplise which calls DB stored procedure. I've written WID and Work Item Handler for this (running from eclipse works). But now I would like to add this task to workbench to let workbench users creating processes with it. How to do it?
Can you please elaborate a little bit more about what you are doing?
Take a look at this blog post to see if it answer your questions:
http://salaboy.com/2013/10/22/kie-wb-jbpm-console-ng-configurations/
Create a new process and open it in designer. After doing that, you should also see a work definitions file being created in the same folder (by default with 4 predefined service tasks), if you open that, add your custom wid and save, reopening the process should show your custom service task in the palette under the service tasks category.

Revert (or undo saved changes) a WorkItem to an older version in TFS API

I am looking to create an "undo" mechanism for a TFS work item using the TFS API - this will undo committed changes. Basically, after saving new data (also using the API) to the work item, I would like the option to revert the WorkItem back to the previous version.
Pseudo code something like this...
1)Get current Work Item for Id:xxxxxx
2)Get "revision id" of this latest
work item and store in "PreviousRevId"
3)Modify field values
4)Save
5)For
whatever reason we don't want these changes any more (domain logic as
to reasons are excluded for brevity)
6)Revert to old revision
("PreviousRevId") and make it the current (latest) revision
Have a look at the Work Item History Visualizer i created. By taking the work item Id, you can pull out the history of all work item fields.
http://geekswithblogs.net/TarunArora/archive/2011/08/21/tfs-sdk-work-item-history-visualizer-using-tfs-api.aspx
But this will only help you get the information, rest you'll have to build your own control to build the revert functionality.
EDIT: Also worth checking this visual studio extension **
http://visualstudiogallery.msdn.microsoft.com/d127b275-b7b6-4504-b01e-58b4a010ff53
This lets you see the work item as it was on the historic date. Giving you the baseline affect you are after. HTH
I don't think this could be achieved by SDK, you can do this against the DB directly but this is of course not recommended at all, anyway the main 2 tables to hold work items are WorkItemsWere and WorkItemsLates see the following:
There is no automatic way to revert, but it's an easy foreach loop to iterate through the fields to update them to the previous value. You also have to worry about links and attachments.

dhtmlxScheduler using ASP.NET MVC Refresh Error

I am getting an error about incorrect html when I return from the Save view which means the displayed scheduler is not being refreshed to fix the last set of data. Having made a change or addition, it is displayed correctly if I close the website and open it again, so the update has been saved in the table. It is just the refreshing of the currennt view that I am having problems with. Does anybody have any suggestions as to where I might look?
As usual, this was my mistake. I had created a new project and copied the Save.aspx view from another project. The Inherits="System.Web.Mvc.ViewPage<RLSBCWebSite.Controllers.CalendarActionResponseModel>" still referred to the old project.
Make sure you create a new page in your project and copy just the contenets from old projects!

Resources