Team Foundation Server CheckIn Comment Template - templates

I want to be able to provide a default comment template when developers check in items into TFS.
e.g.
"Description:
Code Reviewer:
Incident #: "
I know there's a policy with Power Tools that checks if any text has been entered at all, but I'd like some predefined text to be presented ready for the developer to fill in the rest.
I know there's also a 'Check-in Notes' section, but I'm trying to avoid this to make the process as streamlined as possible.
The comments are also the first thing a user sees in the history list. That's why I want to use the comments box over the other options that are available.

I don't think you can do that the way you want. Check-in policy are one-way only in the sense you can only read the data and validate but you can't update what's in the Pending Changes dialogs.
You're not supposed to directly interact with the pending changes dialog of Visual Studio (which has been revamped in the 2012 version anyway), so I don't think there's a solution.

Related

Make windows 10 narrator to speak some text

I'm making a GUI application in C++.
Is there a simple way to make the narrator of windows 10 to speak some text ?
Given of course that it is currently active.
A trick that sometimes works is to select some text in a text field and then focus it briefly. But
It doesn't work all the time
The focus is moved out and back. Even if it's for a short time, it's invasive and may disturb whatever the user is currently doing
The text field must be present at some place on screen, what is not always desired
If possible, I would like a solution without these three issues.
Other screen readers, in particular Jaws and NVDA, provide API to do this.
I'm even the author of a library, UniversalSpeech, which allow to make the currently running screen reader, if any, to speak text, abstracting the need to detect yourself which one is running.
Given that the narrator has greatly improved with the last 3 or 4 releases of windows 10, it would probably be interesting to support it, not only in my own program and for my particular usecase, but for everybody in my library.
However, I can't find any documentation or anything telling me if the narrator has an API similar to those of Jaws or NVDA.
In fact if there is currently no such API for Narrator, it would probably be interesting to suggest Microsoft to add one.
Note that this question is different from such as this one
where the answer suggests to use speech API directly. Using screen readers API and not speech API directly has great benefits:
Screen reader users are used to specific voice settings (voice, rate, pitch, language and regional accents, etc.). The default settings set in the control panel may not at all be similar. It implies
whether the user must configure speech settings in the control panel, what is global for all applications; not very good
and/or managing application-specific speech settings in a business application which isn't at all devoted to speech stuff; it would be rather strange to find speech settings in a financial app for example.
Using both screen reader and independent speech engine simultenously means that both can speak at the same time, what is of course extremely annoying. In fact in practice it happens quite often, I have already tested.
So, is there a simple way to make narrator to speak some text ?
My program is in C++, the library is in C, so in theory I have access to the whole winapi, through LoadLibrary/GetProcAddress if needed.
Please don't give any C# or VisualStudio-dependent solution.
Thank you.
After quite a while, I answer my own question !
IN fact, the simplest to make narrator speak something is probably to:
Define some label as being a live region
When something has to be spoken by narrator, change the text in the label and then send an update notification
Turning a label into a live region and sending a notification whenever the text changes is explained here:
https://learn.microsoft.com/en-us/accessibility-tools-docs/items/win32/text_livesetting
Live setting can be set to 0=off, 1=polite and 2=assertive. The meaning of polite and assertive are the same as in WAI ARIA.
Though as present (april 2021), narrator always interrupts speech as soon as the text of the label is replaced, even in polite mode.
What changes in assertive mode is that the text even take priority against interruptions due to normal keyboard navigation, i.e. you may not hear where you are when pressing tab, arrow keys, etc.
For that reason, I don't recommand it at all.
Note also that live setting only works on static text controls (win32 STATIC window class).
It is totally ignored when applied to text fields and text areas (win32 EDIT window class).
The label with live setting still works when placed off-screen or even hidden.
As far as I know, Microsoft Narrator doesn't expose the API for developers, and you can suggest a feature for it using Feedback App on Windows 10.
I want to achieve the same behavior as in a live region, i.e. have some text read by the SR as it appears at the bottom of a multiline rich text field, but in a native GUI app. For info, I'm using WXWidgets.
You can use the UI automation events to subscribe the property change of rich text field so that you can get notified when the text is updated. And since you are using third-party control, you also need to implement providers for any third party controls that do not include a provider. And below are links about UI automation provides and
UI Automation events for your reference:
UI Automation Events Overview
UI Automation Providers Overview

Customize WixUI_Minimal on WiX 3.11 / Visual Studio 2017

I'm trying to customzie the WixUI_Minimal dialog set on WiX 3.11, using Visual Studio.
Following the manual here does not work anymore as it reports of a lot of duplicate symbols. For example:
Duplicate symbol 'ControlEvent:VerifyReadyDlg/Back/NewDialog/WelcomeDlg/Installed AND PATCH' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique
(This stack overflow question ran into the same issue)
Trying the solutions in this question did not help either as it was coming up with various error codes (different than those mentioned in the question).
This question and this one didn't help either.
It seems something broke in Wix 3.11 / Visual Studio 2017. Has anyone managed to understand how to fix it? Am kind of fearing WiX is losing it's support from its authors...
I'm not sure why you think WiX is losing support. Plenty of free support is provided here and on the wix-users mailing list. They also offer paid support options with SLAs and fixes. Other consultants such as myself provide free support and paid support also.
The WiXUI is a simple to use canned set of UI with limited override/transformation capabilities. You can do things like insert a dialog into a wizard loop sequence but doing so requires that you understand how the rows in the ControlEvent table area evaluated.
You can get an example here:
https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI.wxs
My uncommenting line 10 it causes it to consume this fragment:
https://github.com/iswix-llc/iswix/blob/master/Application/IsWiXNewAddIn/MSISolutionTemplate/SetupProjectTemplate/UI-CustomDialog.wxs
Lines 33-34 insert rows into the ControlEvent table that take priority over existing rows based on:
https://learn.microsoft.com/en-us/windows/desktop/msi/controlevent-table
If this is too limiting for your needs, you can intead not use the UI extension and simply take a copy of all of it's files from here and do anything you want with them:
https://github.com/wixtoolset/wix3/tree/develop/src/ext/UIExtension/wixlib
Finally if that doesn't meet your needs you can always create a custom bootstrapper application for Burn and use WPF/MVVM to do anything you could possibly want.
FWIW, I've been writing installers for 23 years and using MSI for 16 years. I'm the author for the FOSS project IsWiX which provides templates and designers to simplify automate most of this work. You can get an idea of how IsWiX works here:
https://github.com/iswix-llc/iswix-tutorials
1 hour free consultations are available for interested parties. Just shoot me an email or send me a LinkedIn invite.

XPages are rebuilt automatically when opening designer

I have a customer who likes to do some basic stuff in Domino Designer in a specific database. He only works with Forms, agents etc and never do any Xpages stuff. I have done all the xpages stuff in the Database.
This morning when I opened designer I can see that almost all of the xpages design object has been signed by him. but he has not opened any of the xpages design objects. (only forms) and have not signed the application.
When I look at the webpage I can see that the designn changes I did from a few days back have disapeared, so I seem to be looking at an older version of my webpage.
If I go in to the application and Build the application with my id everything is back to normal.
This scenario seem to repeat only a few times a week even though my customer do changes to the application every day.
Image show the xpages time stamp this morning which seem to be about the same time my customer opened the application in designer.
Currently we are both using 9.0.1 FP10 but I have also seen this problem before FP10
ps.
Not sure if it is related but my customer also have another version of Domino Designer (8.5.3 Swedish) which he use when signing agents as signing them with v9 cause them to not work.
What can be the cause of this behaviour and how can I avoid it.
thanks
Thomas
Open Designer. From the top menu, select Project > Build Automatically and ensure it is disabled (not checked).
For additional reading, refer to Nathan T. Freeman's wonderful article "Taming Domino Designer" https://nathantfreeman.files.wordpress.com/2013/04/tamingdesigner.pdf
I am pretty sure that it's the 8.5.3 Designer that does the rebuild when opening the database in Designer. So this happens when the user just wants to sign some agents.
This problematic behaviour has been fixed in 9.0.1 (or perhaps in a fix pack release of 9.0.1). See this IBM technote about the problem: http://www-01.ibm.com/support/docview.wss?uid=swg1LO80591

How to accept the Free form text as input to Amazon Skill Kit?

I'm required to create a Amazon Skill Kit to open a ticket in our ticketing tool.
By looking at the examples for Amazon Skill Kit, I couldn't find a way of accepting the free form text as input. Other option is by creating a custom slot with all probable set of inputs as custom slot inputs.
But in my case, all i have to do is capture the full content of user input to log it somewhere in the ticket which is very unlikely to expect the probable utterances before hand.
Correction to my comment... I, and others, may be misunderstanding the deprecation of the AMAZON.LITERAL. I found that custom slots still pass through literal content that did not match the predefined entries. If you have a custom slot with the entries "Bob" and "John" and I say "Samuel" my skill is still sent "Samuel". Which seems identical to previous AMAZON.LITERAL behavior. (AMAZON.LITERAL required you to provide example utterances, just as custom slots require to provide example utterances, so it seems only a difference in definition, not function.)
As you think about what users are likely to ask, consider using a built-in or custom slot type to capture user input that is more predictable, and the AMAZON.SearchQuery slot type to capture less-predictable input that makes up the search query.
You can read more here
To get the value in your application you will have to this
event.request.intent.slots.IntentName.value
Update: This is no longer possible as of October 2018.
AMAZON.LITERAL is deprecated as of October 22, 2018. Older skills
built with AMAZON.LITERAL do continue to work, but you must migrate
away from AMAZON.LITERAL when you update those older skills, and for
all new skills.
You can use the AMAZON.LITERAL slot type to capture freeform text. Amazon recommends providing sample phrases, but according to this thread, you may be able to get away with not providing them.

Is there a C++ or Qt library available to measure feature use of an application

I would like to be able to measure the features in our application that are being used.
For example how much certain windows are opened, certain controls are clicked.
I can imagine a tool that measures this and sends a report to a web server, that can further process it to create meaningful data from it
First question : should you do it ? People don't like when their software phones home without their consent. But assuming they are ok with it then:
It's technically possible, with two approaches: automatic or manual. Of course, given your question, I assume that you are using Qt.
Automatic:
give a proper name to all the QObject that you want to trace
install an event filter on your application to catch all the ChildEvent about objects that are created and destroyed.
from the ChildEvent, you can extract the object's name
then you can already log how often that object is created. You can also use the opportunity to add an event listener to that specific object, to be notified when it is shown or hidden or track other kind of usage
log everything to a log file
Manual :
add log statements to relevant part of your code that you want to track.
Final :
send the log file on a regular basis
I guess, your answer is "No". I don't think there are such libraries.
I also think, the best solution here is logging, meaning you should manually introduce some log functions into your main program features and send back the log file. When it comes to logging, you may consider using aspect-oriented programming (and there are such tools for C++), it may simplify your task...