Template for Success

Anyone who has the need to create multiple ProjectWise datasources (and this is a whole different discussion unto itself!) has pondered the idea of creating a template to facilitate this effort.  On the surface it is a great idea, saving you setup time and configuration.  However, if we look deeper, it does come with pitfalls.

First, at a very basic level, each ProjectWise datasource needs its own corresponding SQL or Oracle database.  The database itself can be created in a variety of ways and does not require much effort.  During the datasource creation process, ProjectWise links the datasource to the appropriate database through an ODBC connection.  When the process completes, your SQL or Oracle database will contain dozens of tables required for ProjectWise.

Each new datasource, along with any folders or documents, have GUIDs (Globally Unique Identifier) assigned.  Each GUID contain 6 fixed bits and 122 random bits creating a number so large that the probability of the same number being generated twice is essentially nil.  However, if you simply clone (copy) the database to create a new one, you have thus copied the GUIDs.  At a minimum, this could affect the Full Text Retrieval process that is maintained by the ProjectWise Orchestration Framework.  There are ways to manipulate GUIDs after a ProjectWise database is created, but these require modifying your SQL or Oracle database directly, which is unofficially a “no-no” as you can easily corrupt your entire database.

Instead, if you need to create multiple datasources, consider using a ProjectWise template.  The option “Create datasource from template” is available on the final screen of the New Datasource Wizard.  If selected, this option imports selected data into the new ProjectWise database, based on a previously created template.  In my experiences, I have used a template that automatically creates the following when a datasource is created:

– Environments
– States and Workflows
– Folders and Projects
– Documents
– Project Properties and Types
– Custom SQL Tables

Some of the options above are created when exporting them from an existing datasource using the ProjectWise Export tool.  Using the Export tool creates, at a minimum, a .aam file.  This is an ASCII file that is identified when you enable the “Create datasource from template” option listed above.  However, some options, such as creating States, are added to the .aam file manually.  The syntax for creating States looks like this:

StatesDepending on what you are defining in the template, there are several files required during the new datasource creation process. These files are typically stored in C:\Program Files (x86)\Bentley\ProjectWise\templates and can include the aforementioned .aam, plus a .ecschema and .ecinstance file.  Lastly, in the same folder, you can create a specific .ini file that can be used to create ProjectWise Attribute Exchange Rules (Title Block Integration).

As with many other ProjectWise commands, there are several configuration notes that you need to be mindful of, including but not limited to:

– Some components cannot be created through a template :  For example, Users, Groups and User Lists need to be created manually.

– Multiple Datasources:  It is recommended you discuss this strategy with Bentley Professional Services to ensure it is the right approach for your organization.

The .ecschema and .ecinstance files: These two files are automatically imported, if needed, by selecting the .aam file.


It’s been 15 years? Say it ain’t so!

Prior to the Year in Infrastructure, Bentley held what was called the Bentley International User Conference.  The format was somewhat similar to Bentley conferences pre-2014, meaning it was an annual event, except usually held in different cities.  In 1999, while working as the Manager of Document Applications for Burns and Roe Enterprises in Oradell, New Jersey and teamed with Wayne Uffleman, the CAD System Manager at that time – and often referred to as the “big dog” of the deployment (I was the “little dog”) – we were fortunate enough to win the annual Bentley award “Best Enterprise-wide Collaboration” for our implementation of ProjectWise.  In conjunction with this award, Burns and Roe was featured as the cover story for Bentley’s EEM World magazine, which was published 15 years ago this week.Mag CoverIt is hard to believe so much time has passed!  As I look back, it is interesting to see how much the technology of ProjectWise has advanced, yet the underlying message is still the same; disparate teams in need of efficiently collaborating on internal projects.  If you are really bored, you can read the full article here…back when I had hair!

Sneak Peak – ProjectWise ‘Soft Delete’

One of my lectures this week at the Bentley Information Mobility and Asset Management conference provides another idea for your ProjectWise Rules Engine.  As you may recall, I explained in one of my previous blogs that the Rules Engine allows ProjectWise Administrators the ability to create non-linear workflows that replace the delivered “Next”, “Previous” and “Change” State options.

This new application for the Rules Engine stems from the age old ProjectWise conundrum of “should we allow any user to delete a document in ProjectWise”.  Many organizations setup restrictions for this by controlling delete rights through Project/Folder security, applying dynamic security via a workflow or by simply disabling the users delete permission altogether.  Another trick is to create an attribute in your ProjectWise Environment called ‘Delete Me’.  When a user believes a file should be removed, they simply enable this option. Administrators can periodically run (albeit manually) a saved search, looking for any document that has been flagged for deletion.

Another thought from new ProjectWise Administrators is to simply setup a “Trash” folder in ProjectWise and have users move a document into it that they believe should be discarded.  The trouble is that the ProjectWise Move command actually “copies” and then “deletes” a document, so the same problem exists.

However, now with the Rules Engine, you can incorporate what I call a “Soft Delete” command within your workflow.  This option simply changes the workflow state of a document to one that all users – save for ProjectWise Administrators – do not have read access to, thereby creating the illusion that a document is deleted.  Further, you can setup a ProjectWise Messaging Agent, which can send an email to your ProjectWise Administrator, indicating that a document is in the Soft Delete workflow state.  In conjunction with the Soft Delete option would be an additional option called “Remove Soft Delete”, allowing an Administrator to “restore” a file back to its original State, if they feel the file should not be removed.

softdeleteAs with virtually any ProjectWise option, there are some configuration notes that you need to be mindful of, including but not limited to:

Document not actually deleted:  Remember, the document is only hidden via workflow security.  So if the user tries to import the document with the same Document Name/File Name, they will receive different results, depending on how they are attempting to import it (No Wizard or Advanced Wizard, for example).  So training is key.
If the user truly wants to replace the file:  Instead of using the ‘Soft Delete’ option, the user should simply ‘Replace’ the file attached to the document in ProjectWise via Document Properties.

Information Mobility and Asset Management Conference

The next Bentley LEARN Conference is upon us!  Please join me next week, July 15 and 16, in King of Prussia at the Information Mobility and Asset Management conference.  Track topics include ProjectWise, eB, Construction, Mobility Apps, Asset Performance Management and the Bentley Developer Network.  You will have an opportunity to interface with Bentley Consultants and Trainers, along with many of your peers.  On Tuesday, July 15, you can participate in the Bentley “Social Dinner”, where Bentley will lead and encourage focused discussions at each “themed” table.  On Wednesday, July 16, enjoy an afternoon field trip to the Bentley Headquarters!  You will be greeted with a cocktail reception, followed by a light dinner, where you will mingle with users and Bentley professionals.

I hope to see you there; perhaps in one of my ProjectWise lectures or workshops!  Please click here for more information about the conference.

Share and Share (Ports) Alike

Several ProjectWise deployments call for, among other products, the installation of both the ProjectWise Web Server and Bentley Transmittal Services.  In most instances, both of these components need to be setup securely, which really means the Web server and the Bentley Transmittal Portal require SSL encryption.  Until recently, the only way I found around this issue was to create two virtual IIS sites, each using separate ports.  For example, I may setup my Web (or Web View) server using the default SSL port 443, with the Bentley Transmittal Portal using another port.  While this certainly works, it is not an optimum configuration for many users.

A short time ago, I worked with a user who developed a configuration that allows both products to share port 443.  Internal testing has gone well, so I would like to share this configuration with everyone.  It is fairly simple, the key being the use of a wildcard encryption certificate.  Here are the steps:

  1. User must have a ‘*’ Wildcard certificate
  2. Create new virtual site for the ProjectWise Web server
  3. Configure the Web Server using port 443 for SSL encryption
  4. Web Server has the DNS name projectwise.companyname.com
  5. Create a new DNS entry for the Bentley Portal
  6. For example, btsportal.companyname.com
  7. Create new virtual site for the Bentley Transmittal Portal
  8. For example, BTSPortal
  9. Change the Portal binding to https
  10. Leave Port 443 as the default
  11. Select the Wildcard certificate
  12. Enter btsportal.companyname.com in the Host Name field
  13. Click OK

Remember that there are two server components for Transmittal Services: a Bentley Transmittal Server and Portal.  The server module, while requiring its own server, does not need SSL encryption.  Only the Portal.

Working with iFolders….huh?

During ProjectWise Administrator training, many students stumble over the concept of a ProjectWise Project. Users have often told me, “but we do not have projects”; they have Assets, Stations, Jobs, Work Orders, Facilities and so on. So terminology has caused some natural confusion. As I was recently explaining the concept of a ProjectWise Project and how it differs from a basic folder, it dawned on me; for training purposes, I will use the term “iFolder”; short for an intelligent folder.

When you think about it, a ProjectWise folder is really no different from a Windows folder. It is a dumb container of files, with little built-in or configurable attribution. But a Project – excuse me – iFolder can do so much more. For example, each iFolder can contain their own attributes, saved searches, documents, sub-folders, components and limit other ProjectWise resources (more on this later).

For every new iFolder that is created in ProjectWise Explorer, the user creating it has the option to classify what iFolder “type” it is. For example, perhaps you are creating a real-world iFolder for a hospital, pharmaceutical plant, transmission line, electrical substation or office building. When you select the iFolder type, you can define its properties, such as project number, project manager, location, start and finish dates, and other relevant information setup by your ProjectWise Administrator. If you are familiar with a ProjectWise environment (a database table that stores document attributes), then think of iFolder properties as configured attributes for your Asset, Station, Job, Work Order, Facility and, yes, Project.

An iFolder can exist anywhere in the datasource; you can create them at the root of the datasource, inside a folder, or inside another iFolder. You can use existing iFolders to create a new one, or you may decide to create one or more iFolders from a template. If the latter is the case, your Administrator would create and store all the template iFolders under a single folder in ProjectWise Explorer, and then in ProjectWise Administrator, set that folder as the default for all iFolder templates. This way, when users create iFolders in ProjectWise Explorer using the Creation Wizard, they are automatically offered the list of iFolder types that exist in the default iFolder template folder, from which they can select one to use as the basis for their new iFolder.

As mentioned earlier, you can also tailor resources within an iFolder. Think of an iFolder resource as a subset of your datasource resources, such as applications, departments, environments, storage areas, views, workflows, workspaces and rendition profiles. You can select these Resources when you initially create the iFolder, or modify them later from the Resources tab of the iFolder Properties dialog. An iFolder can either inherit resources from its parent iFolder, from the datasource, or it can have its own subset of resources.  So, for example, I could restrict access to all ProjectWise storage areas except the one required for a particular Asset, Station, Job, Work Order, Facility and so on.

Hopefully the term “iFolder” helps you clarify the definition of a ProjectWise “Project”. As with many other ProjectWise commands, there are several configuration notes for ProjectWise Projects that you need to be mindful of, including but not limited to:

– Limits: Each Project can contain 750 sub Projects. Conversely, a Project sub-folder structure is limited by the same datasource rules as any typical ProjectWise folder structure.

– Product Requirements: Be mindful of the Bentley components you work with. Several products, including Bentley Substation and Bentley Transmittal’s will only align themselves with a ProjectWise Project, not a folder.

– Permissions: There are separate ProjectWise settings (for each user) that allow for the creation and manipulation of a ProjectWise Project. Consult with your ProjectWise Administrator for details.

Mark your Calendar!

This year, Bentley is changing its worldwide LEARNing Conference format, replacing them with smaller, themed conferences.  In North America, there will be 5 conferences in 2014:

BLC DatesI will post session agenda and description information when they are set.  For more information, click HERE.  I hope to see you at a few of these events!