Transfer of Values between custom fields

Working on number of Project Server 2007 to 2010 upgrades, out team faced number of issues with clearing metadata, especially custom fields. We also met these issue few times doing customizations / audits of Project Server 2010 implementations.

Typical problem is that some fields at customer's systems were using custom lookup tables with custom values - for example Yes, No, TDB (or different set of values); Then customer decides to move to Flag type for this field; or customer was using description field for capturing project summary but then decides to move to special field.

It sounds quite easy - delete fields and create ones; But if you have over 1000 projects, that becomes quite complicated, since efforts to update / transfer those fields manually is quite big.

Second option - go to DB (published) and do SQL update ( Strongly not recommended by Microsoft).

3rd option - create tool and do it via PSI.

So, we've developed a tool that allows conditional transfer / conversion of fields using PSI. It is not fast (it takes about 5 to 300 seconds) for full cycle depending on project size / farm or single WFE / event handlers, but you usually run tool just once.

Case: Field Enterprise project type has values - Enterprise Project, Non - Enterprise, TBD. Field is not required, no default value. Idea is to create new field Enterprise Project - Flag, rename old field, update all projects and set:
1. if Value = Enterprise Project, set Value = 1
2. if Value =TBD, Non-Enterprise or Empty Set Value = 0.
3. Save and publish project.

Tool is developed as WinForms application that allows to define number of such rules applied for the project. Tool iterates all projects (can specify Draft or Published only or all) and applies rules, saves and publish projects, so all data become visible.

Side effect - sometimes projects that sit in Draft for months become published :-)

Tool is available for purchase.
Next Post »
0 Komentar