Monday, 1 October 2012

How to make ReadProjectProperty works

I don't know whether this is an intended behaviour or not, but when you click on the button in property PropertyValues, it will always open dialog string collection editor.  But actualy this should point to a variable in code behind that will store the value from project information.  Assigning variable string[] (using ReadProjectProperty1.PropertyValues = arrayOfStringVariable) in code behind manualy also doesn't seem to work either.  You need to use ActivityBind method for this to work.  This is how i did (_projectName is variable string[]):
ActivityBind activityBindReadProjectName = new ActivityBind();
activityBindReadProjectName.Name =  "Workflow1";
activityBindReadProjectName.Path = "_projectName";
this.ReadProjectName.SetBinding(Microsoft.Office.Project.Server.Workflow.ReadProjectProperty.PropertyValuesProperty, ((System.Workflow.ComponentModel.ActivityBind)(activityBindReadProjectName)));
 
 I put that code in Workflow1.Designer.cs class file inside InitializeComponent().

Edit: actually you can bind that PropertyValues from designer by pressing database icon next to PropertyValues, this will allow you to select variable you want to bind

Friday, 21 September 2012

How to debug project server 2010 workflow

If you want to debug sequential workflow that is made for project server 2010, attach visual studio to process name Microsoft.Office.Project.Server.Queuing.exe

Tuesday, 29 May 2012

Configure Project Server 2010 to work with Exchange Server 2010

Today I stumbled on a problem when trying to configure exchange server 2010 to work with project server 2010 task.
Cannot bind argument to parameter 'Identity' because it is null get-exchangeserver.DistinguishedName

Searching through google i found this http://spblog.oasisskinandbody.co.za/2011/12/add-adpermission-cannot-bind-argument.html#!/2011/12/add-adpermission-cannot-bind-argument.html

This command will configure all exchange server to work with project server 2010
$CAS = get-exchangeserver | where { $_.Name -match "<Specific Server Name/IP>" } 
$CAS = get-exchangeserver | where { $_.ServerRole -match "ClientAccess" }
$User = "<domain>\<user>"
$CAS | foreach-object {Add-ADPermission -Identity $_.DistinguishedName -User (Get-User -Identity $User | select-object).identity -extendedRights ms-Exch-EPI-Impersonation}
I find a good post on how to solve:UserName showing up as DomainName\UserName instead of Full Name in SharePoint 2010

refer to this post
http://sharepointpolice.com/blog/2010/12/06/username-showing-up-as-domainnameusername-instead-of-full-name-in-sharepoint-2010/

Wednesday, 28 December 2011

create element in javascript

This is a javascript to insert in the head tag. Similarly to this, we can use it for other elements.

var headID = document.getElementsByTagName("head"[0];
var baseT = document.createElement('base');
baseT.target = '_self';
headID.appendChild(baseT);