tfs 2012 drag drop in web portal no longer works - portal

Background:
new team project with TFS 2012, Agile 6 MSF template
*Modified the project based on http://roadtoalm.com/2013/01/04/changing-the-product-backlog-in-tfs-2012/
added a few new fields and added them to the requirements template
Issues:
I can't drag and drop user stories or tasks in the web portal to assign stories to users on the iteration backlog.
I can right click on tasks to assign to developers, but not user stories.
Thanks in advance.

You didn't mention if you were receiving a specific error when attempting to drag and drop, so I'm not sure if this answer will help. In our case, we were getting this error when dragging and dropping:
TF237165: Team Foundation could not update the work item because of a validation error on the server. This may happen because the work item type has been modified or destroyed, or you do not have permission to update the work item.
The solution in our case was that we had existing decimal values (like 0.09) in the Stack Rank field. The Stack Rank field is what TFS uses to order the fields (see this answer). After we cleared out the Stack Rank field, it worked.

Related

SharePoint Online and prevent users from editing old list items after specific time

We have SharePoint Online site with list. Users can add, edit and delete own items in this list.
How I can resolve new issue - Users can't edit and delete own items older than one week (from creation date).
Is it possible without coding Remote Event Reciever or Azure function?
Per my knowledge, there is not an OOTB way to achieve it, we have to write some custom code.
If you only want to the user can't see some items in list view base on some condition, we can use list view Filter to achieve it. Note:User also access item form through URL.
I suggest you use remote event receiver or azure function to achieve this requirement.
In classic site, we can also add some JavaScript code into master page to prevent users access edit form page and hide the delete button in the page.
For this kind of requirement the solution which is 'no code' and with SP online is Power automate (previously MS Flow).
The best option in Your case would be to create a recurring flow which for example starts every day at 00:10 AM -> please see MS docs with description how to do this.
The Flow should get all items from a specific list for a specific site. You can do that with the 'Get Items' step. After that You can use the 'Apply to each' Step to check each item creation date with a 'Condition' Step. When some item will be older than one week You can use additional steps to break permission inheritance on item and remove all groups from permissions on this item or change the permissions on item from edit to read. Here I found an interesting article where are some predefined steps shown how to remove all permissions, remove and add a group. To tell You the truth I was not aware there already are this kind of steps in Power automate (maybe something new :) ) .
I would use SharePoint HTTP request and use SharePoint API to remove permissions on item and change some group role from edit to read. So I would do a similar procedure like here the only difference is not to break permission on all list but just on a specific item which I would get by ID. You can do all of those API request with a 'SharePoint HTTP request' Step
Please be aware there usually is a 5 000 unique permission levels threshold (50 000 is in on-prem) in list (place check here for latest info on limits in SP Online). So a better option would be to create a folder with view only permissions for the users before and when an item is older than one week You could only move this item to that folder also with Power Automate. That way all the files (items) in this folder would be read only and You would have only one unique item scope in this list and not as many as the old items.
Some other options You could use are:
Also code solution, but not RER and Azure function, would be to create a console app that uses CSOM to look through items in this list and either breaks permission on each item or moves to a folder (like the flow) and schedule this CSOM app on some local or remote server in Task Scheduler... Of Course You would need some local (or other) server for it which is always up and running :)
If You would like to use some 'little coding' and by any chance You are still using classic UI (not modern) You could use JSLink attached to CT or some column like Title and block editing of fields in edit forms etc (this is not the best option as always the users may create a view without a columns with this JSLink and go around this or modify the item using CSOM or Rest API)
You might consider using PowerApps (In case you have it configured in your subscription) to customize the edit form,
Then you use the validate() method, and disable a user from submitting the form in case ("Created" + 7 days) <= Today() or something like that.

SharePoint workflow Current Item is being ignored after a Pause

I have a questions I hope someone has the answer to.
it is a 2010 workflow running on a SharePoint 2013 hosted environment.
The workflow was created by an "Admin account"
I have edited the workflow using my account which is part of the admin group on SharePoint. I am using SharePoint designer to edit the workflow.
The workflow doesn't throw any errors and my code should "work" in theory/practice because it is rather simple.
Here's the problem:
The workflow pauses until it reaches a date
-When it comes out of the pause, it seems to ignore my case statement.
All my debugging logs indicate it should go down an IF statement but it doesn't
One other IF statement works just fine coming out of the PAUSE.
Else if Current Item:Category equals value PTO
Category is a drop down field
The debug log says Category = PTO
Every item in the field statement is obtained from a Pick List!
I have moved this statement to the top of the IF list and it will still be ignored.
I don't understand why it is not dropping into this IF statement while another case it works fine.
Could it be a permission issue?

Requesting Advice: Categorize Account Entity

I have recently inherited a very messy Dynamics CRM system from my predecessor. I want to clean up the way our company navigates around Accounts. At the moment, there are 3 views and one form with about 2000 (exaggeration) lines of javascript code!
We categorize accounts into three types; TypeA, TypeB, TypeC. This is controlled by an Option Drop Down. Once selected, the screen hides/shows depending on it. This has meant we have a very wide AccountExtensionBase table. I am accepting I will have to live with this as I am have been led to believe that building a 1..1 extension is not as easy as it seems?
What I would like to do is change the 'Workplace -> Customer' menu on the right hand side of CRM. I'd like to add three clickable options so it would read
Customers
Accounts
TypeA
TypeB
TypeC
Contacts
Upon clicking, for example, 'TypeA' it would take the user to the 'TypeA' accounts which are filtered by a pre-defined view. Then, any request for the Account Form from this view would redirect the user to a specific 'TypeA' form, which I have yet to create.
I have read this article here Crm 2011 - How to set a default form depending on attribute value (without using Javascript)? which is a good example of how to re-direct the forms. However, I am unsure how to handle this from a 'New' request, as the drop down is not yet populated.
Is there a way of building this concept cleanly in CRM? I am finding it hard to get any decent Google results as I am unsure of what terminology I should be using.
Any help or links to suitable guides would be hugely appreciated.
Thanks.
I think these are the droids you are looking for:
http://www.powerobjects.com/blog/2013/03/08/displaying-filtered-view-in-site-map-crm-2011/
Granted it is for CRM 4, however it may work in 2011.
You might also look at:
http://mscrmtools.blogspot.com/2011/06/new-tool-sitemap-editor-for-microsoft.html

SharePoint 2010 multiple users accessing same list issue

We have a list with 1000+ phone numbers in it. This list is sorted in a specific order by due dates and other criteria. This order is very important and needs to be maintained in the solution.
We have a group of callers (roughly 4) that will be calling the numbers in this list in the order they are sorted by. These callers are to be presented with one list item at a time, via an InfoPath form, and once they make the call they will update the list item and be presented with the next list item dictated by the sort order.
Here's the problem: This would be very easy with 1 caller but with 4 callers we don't want them calling the same people more than once. So they need grab the next list item off the top of the pile that isn't already taken by another caller.
Is there a way to build a webpart (remember without Visual Studio unfortunately) that as soon as it loads would find the first list item that is unassigned and assign it to the current user?
We could accomplish this whole thing manually of course by having an admin assign all the calls each day with a large copy/paste in Datasheet View but automatic would be soooo much better.
I will mention that I DO NOT have Visual Studio so I don't have that as an option here. But I do have SharePoint 2010, SharePoint Designer 2010, and InfoPath 2010.
I hope this makes sense and any ideas, thoughts, approaches would be greatly appreciated since I've run out! Thanks!!!!!
You can develop SharePoint web parts using Visual Studio Express, but its a bit harder as you miss some of the tools that make your life easier like WSPBuilder etc.
SO - Building webparts with Visual Studio 2010 Express
Another alternative would be to use javascript client side to access SharePoints Web Services via SPService - then nothing more than notepad is required.
You're really using a wrench as a hammer with either of these approaches though, so I've got to say - how much do you value your time at? ;)
I can offer a very bodgy alternative; presuming all the items are added piecemeal (not in the same second). You could add a calculated column to assign each item at random on addition, using the following formula:
CHOOSE(MOD(SECOND([Created]),4)+1,"Operator1","Operator2","Operator3","Operator4")
I suggest a workflow that is assigned to listItem's edit; that when a caller edits its extra field like "Operating(bool)" after the calling workflow completes; the item is disabled somehow.
Only overhead of this is a caller needs to edit the item every time.
But the easy part is a listviewer webpart (oob) can be used just with a default view setting like "Operating" field is "false" only.
This is simple. On form load, instruct the form to update a status field to (let's say 'assigned') and automatically resubmit the form back. Your infopath list that pulls in the next number to call would need to exclude any that are in the assigned status. You'd also need to re-query your data connection to refresh the list each time before a call is made to grab the next available. Once the caller is finished, they can click a button that submits the form, clears the status field and closes the form.
Yo can also pull in the active items into an infopath form using a secondary data connection. There is a way to use the insert hyperlink into the form field, and make any of your fields a URL hyperlink directly to the individual item. Although you'd have to have the URL epsaved in a field in the form the item was created in. That's easy to do, you can just con at the URL with the form name.

SharePoint 2010 List - Need direction

I'm a coldfusion developer, and I've been asked to rewrite a coldfusion application for SP 2010. I have no SP experience, but I'm now the SP admin.
My application is a waiting list for customers that enter a service center. The customer is entered into a List that tracks the following:
Name
Location (drop-down list of physical store locations. no multiple/custom values)
Check-In Time (timestamp for when customer was added to list)
Service Required (drop-down list, not allowing multiple or custom values)
Staff Member Requested (option, user select box)
Time Seen by Staff (timestamp when list item edit begins)
Seen By Name (name of user that edited record)
Time Finished with Staff (timestamp when list item edit is saved)
There are a few pieces of functionality that I don't know how to build into this list.
1
The records on the list view must be automatically filtered by the location column. The location to be viewed should be based upon the users group membership. (one group per location)
The Time Seen date/time field must be a timestamp that occurs when the list item is opened for editing.
The Seen By name must be automatically entered when when the user opens the list item for editing.
The Time Finished timestamp must be automatically entered when the user saves the list item after editing.
I don't expect anyone reading this to create this for me, but I would truly appreciate any tips, suggestions, or tutorials you can point me towards that will help me to accomplish these goals.
You will have to create such a list with the SharePoint Administration. You have several possibilities to do this. You can build them in you web browser using your SharePoint Site with the necessary rights, you can use the Microsoft SharePoint Designer (similar, less functionalities but in my opinion easier to use) or you could deploy the list after you built it in Visual Studio (best solution if you want to deploy it on more than one server or you want to change your list afterwards, but difficult).
There are some things you have to know: A list manages one or more content types. A content type is a collection of columns that contain the types (and more information) of your data. There are templates for content types and columns, but you will have to create your own content type and maybe some new columns as the templates might not be enough for your demands.
I'm not sure how to manage your first point. There is definitely a solution but I'm beginner, too.
The other 3 points could be managed by workflows: You can define workflows for a list, that do things after an item of your list is created or edited. I'm not sure if this will be useful for your 2nd point.
Another possibility would be to build a webpart, but that wont be a solution for a coldfusion project as I think. In a webpart you could handle all the interaction that are made by an user and change your list item individually.
A third way is to build an event receiver (using Visual Studio) for your list, but then you would have to build your list with the help of the VS as well.
I'm sure that won't answer all your questions but I hope you have some directions that you can inform about.

Resources