After upgrading ProjectWise Explorer from V8i to CONNECT Edition we noticed that our Family + Parts in AECOsim Building Designer were not loading correctly: there are errors in the Message Center such as "Part and Family Defined for Configuration Variable HVAC_FAMILY_DUCT_DEFAULT not found" and "Part and Family Defined for Configuration Variable BMECH_FAMILY_DIFFUSER_DEFAULT not found", and when opening Dataset Explorer the dialog box is empty with no XML files displayed.
How can we resolve this issue for our users that now have ProjectWise CONNECT Edition while still accomodating those that are still on ProjectWise V8i?
This behavior was the result of the configuration variables TFDIR_PART, TFDIR_CPART and TFDIR_COMP being defined twice at the project level which prevented the Family + Part XML files from loading properly.
ProjectWise CONNECT Edition handles Managed WorkSpaces differently than V8i at the Project level in order to provide a simpler configuration setup, which in turn allows users to point WORKSPACEROOT to a ProjectWise folder and essentially run the entire configuration from ProjectWise. But for this to work the V8i client application's *.pcf file needs to be explictly processed which was not the case in ProjectWise V8i. Due to the way that the custom managed workspace was configured the *.pcf file variables were loaded twice: once via _USTN_PROJECTCFG at the project level (Level 3) in a custom CSB that included "TFDIR_PART =", and once by ProjectWise CONNECT Edition itself at the user level (Level 4) using "TFDIR_PART >".
For the long-term you can remove the explicit Level 3 statement and allow ProjectWise to load the *.pcf file instead. For an interim option to allow both ProjectWise CONNECT Edition and V8i to work properly together you could try one of the following methods:
The following is an example taken from the PW.cfg file found in the /projectwise/bin folder and could be used as a template, swapping out PWDIR for the applicable TFDIR variables.
%if !defined (PW_DISABLE_INTEGRATION) %if !defined (PWDIR) # Check current user first PWDIR=${registryread{"HKEY_CURRENT_USER\SOFTWARE\Bentley\ProjectWise\Path"}} %if !exists ($(PWDIR)) # Fallback to machine level settings PWDIR=${registryread{"HKEY_LOCAL_MACHINE\SOFTWARE\Bentley\ProjectWise\Path"}} %endif %endif
%if defined (PWDIR) && !defined (_MCM_CFG_) && exists ($(PWDIR)bin/mcm.cfg) %include $(PWDIR)bin/mcm.cfg %endif%endif
Note: This method should only be used if you are comfortable editing the Windows Registry and have sufficient knowledge level to achieve the desired results while avoiding unwanted side-effects.