This is Part 2 of a journey into setting up ProjectWise with SharePoint and putting it online for a large project. See Part 1 for a description of the project.
Setup and Preparation
I am assigned the task by my employer to be the ProjectWise/SharePoint Administrator for this project. I will need to create a project Sharepoint site that will be a front end to anyone that needs to coordinate activities but also use ProjectWise Web Parts to plug into ProjectWise to access the data. I will also need to setup ProjectWise to hold and manage the content/data as well as manage CAD standards and naming conventions. We will use Active Directory to manage the users of the project team and synchronize with ProjectWise and SharePoint. This will allow a much easier way to manage groups and users which will transfer over to assigning specific access to the project foldere structure in ProjectWise. The project team will be using ProjectWise to store CAD and adminstrative documents (Word, Excel, etc.) to share with the entire project team. All the documents will be stored on a server inside my employer's intranet. That is correct, inside our intranet.
I made the decision to start setting up the system from the outside in, let's face it you can setup a fancy ProjectWise/SharePoint document management system with all the bells and whistles but if no one can access it.... Well you get the point.
The first task is to figure out how an outside source will access files from our internal ProjectWise setup. Not only will they need to see the files but actually open them over a who knows what internet connection in a timely matter. Fact: Did you know that if the average person has to wait more than 5-10 seconds for any computer device to provide a response is way too long. Hmmm......
We decided early on to suggest that if anyone on the project team would like to access and open files in a timely manner they would need to purchase a ProjectWise Caching Server. This would allow them to "cache" files in their location as they open the documents and they could also pre-populate the cache at night when ProjectWise traffic would be at a minimum. I want to thank Dana Guthrie and Jim (sorry Jim I did not catch your last name) from Bentley for assisting me in setting up this scenario.
Step 1. Setup a box with ProjectWise Caching/Gateway Server software to emulate an outside source and hook it to a simulated outside DSL line.
Step 2. Create a static ip address on our firewall with port 5800 open that pointed to a ProjectWise Gateway server that is sitting in our DMZ.
Step 3. Setup a Virtual box in our DMZ that has ProjectWise Gateway Server software that will pass any requests coming from an outside source (caching server) to the static ip address on our firewall to our integration server and back out.
Step 4. Make changes to the dmskrnl.cfg file on the outside caching/gateway server and DMZ gateway server so communication is possible.
It looks like 4 easy steps but to get it all working was a little time consuming. Once the setup was implemented and tested many times I focused on creating the users and groups in Active Directory and synchronized in ProjectWise and SharePoint, this task was very important as this determined who could see what. Below is a visual of how this all comes together.
There are several types of CAD standards (structural, roadway, etc.) that the Clients provide that will be used on this project. I decided to use Managed Workspace to distribute the CAD standards to the entire project team, this insured that anyone that used ProjectWise Explorer to view or edit the CAD drawings would have the up to date CAD standards no matter the location. If I did not mention it before we made it a requirement for the project team to used ProjectWise Explorer for editing documents, using SharePoint with ProjectWise Web Parts to edit CAD drawings is something I do not recommend. I imported all the standards and then setup the CSB's to delegate what files will use certain standards.
The Clients required a naming convention for all CAD drawings and based upon the complexity of the project we had to come up with a "special" naming convention that fit the requirements. The Administrative documents have a "special" naming convention as well. In order to make sure everyone tried to use the same naming convention I implemented ProjectWise Environments to establish the naming conventions. The environments let me split up the CAD and Administrative into separate areas to allow custom setups based upon what was required. The Advanced Wizard for document creation was implemented to insure everyone followed along when creating a new document. I also setup special attributes that would tag each document based upon what type of document and what it was related to. This allowed for ease of searching at a later date.
I used ProjectWise Views to create custom displays based upon what type of documents the project team will be looking at. The views will vary from CAD view or Administrative view. The views will help display the specific attributes I created in the environments and default attributes from ProjectWise (created by, created date, updated by, updated date, location. etc.)
As you can imagine a large project like this will have multiple submittals as well as time and content sensitive material. In one case you can protect that data using security, but in another you may want to allow another individual to see the material at a certain stage of the project or when you are done with changes. I implemented ProjectWise Workflows and States to handle these types of situations.
ProjectWise Explorer with Security
The project itself is split up into multiple contracts that contain multiple phases. The project schedule was used to establish the folder structure and I asked the project manager to provide me a security matrix based upon that schedule. This helped me tremendously in the layout of the folder structure and applying environments, views, managed workspaces, workflows, and security to the folder structure. Since the project team consisted of so many players that had different roles on the project, who could see what and where they could write to was critical.
This whole process was very time consuming and took a lot of thought before I even started the process in ProjectWise. MicroSoft Visio was my friend for awhile.
This is part 2 of Putting ProjectWise Online, see Part 3 - Setup and Preparation of SharePoint to see additional content.