Monday, June 23, 2014

Finding out the process template for a project in TFS 2013

Go to the project collection in which the project is located
Find the project ID using the

select * from tbl_Projects where project_name like '%XXXXXXXX%'
PartitionId  project_id  project_name  state last_update
    1 F4C0DF3A-A3BD-458E-9356-8D071897D1C8 XXXXXXX WellFormed 2014-04-09 13:49:28.513


        select * from tbl_project_properties where project_id = 'F4C0DF3A-A3BD-458E-9356-8D071897D1C8'

            PartitionId project_id name value
              1 48833EE1-8CBE-43A6-8653-4CF16E10FD56 Microsoft.TeamFoundation.Team.Default 60004022-0dfe-4225-a358-ec942aab72bd
                1 48833EE1-8CBE-43A6-8653-4CF16E10FD56 MSPROJ <?xml version="1.0" encoding="utf-8"?>
                  <MSProject>
                      <Mappings>
                          <Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
                            <Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
                              <Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID" />
                                <Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" ProjectName="Sprint" />
                                  <Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
                                    <Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
                                      <Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" ProjectName="State" />
                                        <Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
                                          <Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
                                            <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.BacklogPriority" ProjectField="pjTaskNumber1" ProjectName="Backlog Priority" />
                                              <Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour" IfSummaryRefreshOnly="true" />
                                                <LinksField ProjectField="pjTaskText26" />
                                                  <SyncField ProjectField="pjTaskText25" />
                                                  </Mappings>
                                                  </MSProject>
                                                    1 F4C0DF3A-A3BD-458E-9356-8D071897D1C8 Process Template Microsoft Visual Studio Scrum 2013


                                                    Monday, June 2, 2014

                                                    Configuring OLAP on Project Server 2013

                                                    ·         Central Admin, Application management select manage service applications.  
                                                            Click on Project service application
                                                                   Point to Proj Web App instance (PWA) and click on Manage



                                                    ·         Click on OLAP Database Management


                                                    ·         On the OLAP Database Management page, click New and Configure the OLAP Database build settings page
                                                    ·         If you get the following error

                                                    ·         Download  SSAS Management objects SQLSERVER2008_ASAMO10_amd64.msi  from
                                                    and install it on all the servers where Project Server 2013 is installed.

                                                    ·         If you get following error
                                                    ·         Failed to build the OLAP cubes. Error: Failed to create the Olap database: ProjectServerPWA. Error: Cannot set StorageEngineMode property of database 'ProjectServerPWA' to 'Traditional' because Analysis Services is in Tabular mode.
                                                    ·         Change the C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Config\msmdsrv.ini file
                                                    ·         You cant directly edit it, copy it over to desktop . modify it and overwrite the original file
                                                    ·         Restart SSAS service
                                                    ·   





                                                    Developing SharePoint Online website for Anonymous users

                                                    Microsoft  creates one public site collection per tenant. This public site URL will be like livecompanyname-public.SharePoint.com
                                                    We cannot create child sites in this public site.

                                                     There is currently no best way to develop a second public site collection for anonymous users in SharePoint Online.

                                                    Following are alternatives we can have
                                                     You can enable external sharing on admin side and create a site collection with Sharing enabled for anonymous users. This site collection allows sharing the site to anonymous users by invitation.
                                                    These anonymous users can only have Read-only access based on out of the box functionality.
                                                    . If you want to capture data from anonymous users for this type of site, there are three alternatives
                                                    1. Modify the contact form so that we can capture the fields that we need.
                                                    2. Use the following web-part or write something similar to create a contribute privileges .   https://anonymous365.codeplex.com/releases/view/105618
                                                    3. The external user can create a live account and use that to login to the site. This live account in most cases can be treated as a normal AD account in office 365 and can be given contribute privileges. The problem with  this approach is, the site is not truly anonymous like the one we specify in SharePoint 2010. We would have to share the site to the user's email Id. 
                                                    Thanks
                                                    Nate




                                                    Wednesday, February 19, 2014

                                                    Error message while adding your workflowManager to SharePoint server 2013

                                                    If you get the following error message while adding the workflow manager to SharePoint farm
                                                    PS C:\Windows\system32> REgister-SPWorkflowService -SPSite "http://mismsvas05:80
                                                    80/" -WorkflowHostUri "http://mismsvc2ws01:12291/" -allowOAuthHttp
                                                    REgister-SPWorkflowService : Failed to query the OAuth S2S metadata endpoint
                                                    at URI 'http://mismsvas05:8080/_layouts/15/metadata/json/1'. Error details:
                                                    'The metadata endpoint responded with an error. HTTP status code: Forbidden.'.
                                                    HTTP headers received from the server - ActivityId:
                                                    57d02aff-9556-4f88-b525-629bf4e5f2a8. NodeId: MISMSVC2WS01. Scope:
                                                    /SharePoint. Client ActivityId : 77031a9e-8912-4c66-b6fb-d6866e566d94.
                                                    At line:1 char:1
                                                    + REgister-SPWorkflowService -SPSite "http://mismsvas05:8080/"
                                                    -WorkflowHostUri "h ...
                                                    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                    ~~~
                                                        + CategoryInfo          : InvalidData: (Microsoft.Share...WorkflowService:
                                                       RegisterSPWorkflowService) [Register-SPWorkflowService], InvalidRequestExc
                                                      eption
                                                        + FullyQualifiedErrorId : Microsoft.SharePoint.WorkflowServices.PowerShell
                                                       .RegisterSPWorkflowService


                                                    The error happened in my case because, the account that I used for WorkflowManager was not a farm administrator. Once I added it as Farm admin, It worked like charm.

                                                    Monday, November 4, 2013

                                                    Powershell script to go through all lists in a website and update the field value if a field exists

                                                    ##Go through all lists in a website and update the field value if a field exists

                                                     $web = get-spweb http://webSite/ITSprojects/ERP/

                                                     foreach ($list in $web.lists)
                                                     {
                                                    if( $list.Fields.ContainsField("Required for Round 6") -eq $true)
                                                        {                                      
                                                            Write-Host "Required for Round 6 found and updating value in " $list.title
                                                    $listItms = $list.Items
                                                    foreach ($item in $listItms)
                                                    {
                                                    $item["Required for Round 6"]="0";
                                                    $item.Update();
                                                    }
                                                    Write-Host "Required for Round 6 update completed-------" $list.title
                                                        }
                                                    else
                                                    {
                                                    Write-Host "Required for Round 6 not found in " $list.title
                                                    }
                                                    if( $list.Fields.ContainsField("Round 6 Result") -eq $true)
                                                        {                                      
                                                            Write-Host "Round 6 Result found and updating value in " $list.title
                                                    $listItms = $list.Items
                                                    foreach ($item in $listItms)
                                                    {
                                                    $item["Round 6 Result"]="Not Tested";
                                                    $item.Update();
                                                    }
                                                    Write-Host "Round 6 Result update completed-------" $list.title
                                                        }
                                                    else
                                                    {
                                                    Write-Host "Round 6 Result not found in " $list.title
                                                    }
                                                    }

                                                    Friday, November 1, 2013

                                                    Display Native mode in SharePoint


                                                    To display SSRS reports running in native (Not Integrated mode) we have to follow these steps
                                                    For  Integrated mode, it is pretty straight forward.Intergrated mode is recommended way to go for most of scenarios.

                                                    For the native mode reports showing them is not straight forward
                                                    • Copy RSWebPArts.cab found in \\DatabaseServer\c$\Program Files (x86)\Microsoft SQL Server\100\Tools\Reporting Services\SharePoint  to SharePoint server.
                                                    • Run following stsadm command or equivalent  Powershell command

                                                    STSADM.EXE -o addwppack -filename "local directory\RSWebParts.cab" -globalinstall
                                                    Install-SPWebPartPack -LiteralPath "localdirectory/RSwebparts.cab" -GlobalInstall
                                                    
                                                    
                                                    •  In the sharePoint page that you want to show the report, clikc on page ->  Edit to edit page
                                                    • Insert Report viewer webpart by selecting it from Miscellaneous group
                                                    
                                                    
                                                    •  Edit the webpart and enter the URL for Reports, for ex: http://RSserver/Reports
                                                    • and in the ReportPath enter /Report  (without the .RDL extension)