Sunday, 2 March 2025

Introduction to ProjectWise and BIM

Overview: Bentley Systems is a leader in BIM and working with CAD documents. Bentley's BIM-compliant Document Management System (DMS) is ProjectWise.  BIM aims to improve collaboration between parties and ensure consistent, relevant information is available.  

Goals: Design, Coordinate and Collaborate.

ProjectWise Server

  • Setup DataSource (separate databases), e.g. UK Archive, UK Projects, EU Projects
  • Hierarchy for files (think Windows Explorer view of files)

ISO 19650

  • Manage information (data & Assets) within an Infrastructure project.  Founded in the UK under BIM, it is now an international standard.  
  • Strength is ensuring users are using the correct approved document (stop incorrect versions/info)
  • All versions, comments, and updatedby recorded.
  • Workflow has metadata to be filed for each phase/status change.
  • BIM Statuses
    1. WIP (draft) | Open - only a tiny part of the project team can see the document,
    2. Shared | Review - This can be used by other teams so more people can see the files,
    3. Published - all internal reviews completed.  And ready for the customer,
    4. Archived - Completed 
Tip: Code folders and files within ProjectWise.

Workflows

  • Can create custom workflows such as a peer review or technical approval.
  • There is also the workflow that copies the document and moves it into the next BIM status Folder. So if I change the status in WIP, the document is copied along with its properties, and the major version is incremented.

ProjectWise 365 Services

  1. ProjectWise Web Connections - Web 
  2. Share - Share with 3rd parties
  3. Deliverable Management - create the output for the customer, including comments made on documents
  4. Project Insights - analytics on each project that can show if it is late or the status is not correct. 
  5. Forms

ProjectWise Web

  • Standard UI that shows the folder and file hierarchy and can search for files
  • Attributes are just document metadata that is relevant to the file.
  • Files can be checked in and out so they are locked to you.
  • Link files in Deliverables or create Document Sets (basically group documents) into a file/container.
  • Files can be assigned to workflows such as a peer review...

ProjectWise Drive

  • Download and install on each laptop
  • Can use Windows Explorer to work with files as if on the local machine (as if on an SMB file share)

BIM Dimensions

3D - Geometry (Drawing) including metadata such as width and weight and hierarchy

4D - Scheduling

5D - Cost Estimation

6D - Lifecycle

7D - Asset Management


Note: 360 - Is AutoCAD's equivalent to ProjectWise.
Big providers of technology for the BOM framework are Bentley and AutoDesk.

BIM Execution Plan (BEP)

Plan prepared to manage BOM activities


Sunday, 23 February 2025

Agile Project Management Thoughts

Initially, this post was on keeping Project Management Simple.  This works well for small and medium-sized projects.  How I think Kanban boards are excellent, I like MS Planner as it's built into MS Teams and Outlook and stores project documentation within SharePoint connected to MS Teams.

There is a ton of sound Project Management software and approaches.  

Primavera (P6) - Oracle

Strong Project Management software focusing on the Construction and Infrastructure industry.  

Microsoft Project

A project management tool that offers advanced features such as tracking dependencies, costs, and complex project schedules. It is suitable for larger projects that require detailed planning and management. MS Project can be used in various forms, including Project for the Web, Project Online, and the Project desktop application.

Microsoft Planner

Microsoft Planner is a web-based planning application that allows you to assign and discuss tasks, manage tickets, and view progress charts. It is integrated with Microsoft Teams and Outlook, making it easy to organise team tasks and collaborate.

Problem-Solving (Explore/Interview Process to build IT solutions)


McKenzie Problem-Solving Approach

  1. Define the problems
  2. Find the root cause
  3. Use “hypothesis-driven” process
  4. Analyze with “issue tree”
  5. Propose solutions

My preferred approach is the three-step Problem-Solving approach:

  1. Problem
  2. Initial Hypothesis
  3. Proposed Resolution

Repeat until fixed/solved.

Monday, 3 February 2025

ProjectWise from Bentley - extend with Powershell

ProjectWise from Bentley - Document Management Software

ProjectWise is a Document Management Solution (DMS) from Bentley.  Its key use case is supporting BIM.

Architecture:  It appears to have a pretty old architecture with the ability to "webify" the DMS.  

Integration: There are APIs and Power Connectors, but they are extremely limited and not developer-friendly. You can also extend the capability using PowerShell. Be warned: Bentley does not support this, but the ProjectWise community does help to solve the issue.

There are add-ins for office software (word, excel, pptx) and some CAD products to make the BIM process easier.

This post outlines how I have extended ProjectWise to build out a pre-populated folder structure using PowerShell.  I then wrap the PS code in an HTTP Azure HTTP-triggered function to call.

Connecting to ProjectWise using PowerShell Example 1:

PS> Import-Module pwps_dab
PS> New-PWLogin -BentleyIMS

Federated login for PS

Note: You need to already have Bentley's federation auth set up on the local machine running the "CONNECTION Client."

Machine running PS must use the CONNECTION Client from Bentley and the user will be prompted to login.

Connecting to ProjectWise using PowerShell Example 2:
Login using Federated identity without a popup to select the datasource

PS> Import-Module pwps_dab
PS> New-PWLogin -Datasource 'org-pw.bentley.com:Org Delivery' -BentleyIMS

Connecting to ProjectWise using PowerShell Example 3:
Login with a local account - No Federated account needed.

PS> $Password = ConvertTo-SecureString "passwrdxxx" -AsPlainText -Force
PS> $Cred = New-Object System.Management.Automation.PSCredential ("my_user_logical", $Password)
PS> New-PWLogin -Datasource 'org-pw.bentley.com:Org Delivery' -UserName $Cred.UserName -Password $Cred.Password

Below are two error codes that tell you if your datasource or login credentials are incorrect.

Example 3.  Error code: 32768 - Datasource not found.


Example 3, this item has the wrong credentials Error code: 58064.



Next: I want to run my ProjectWise (PWPS_DAB module) within a serverless function triggered by HTTP endpoints.  I've chosen Azure Functions using PowerShell.

Problem: PWPS_DAB requires headers, and no serverless function will support PowerShell modules that require interaction/headered calls. 
ERROR: The property 'ThreadOptions' cannot be found on this object. Verify that the property exists and can be set.
... ... ERROR: Failed to load pwps_dab module. Error: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
 
Initial Hypothesis: There is no way around using PWPS_DAB as it does not support running in a headless mode.  Ouch, and i'm paying for this heavily :)

Possible Resolution: Run a VM or Docker container and expose the function via an HTTP endpoint.  It will be a mission, so i guess it docker. 


To Review: 
https://www.linkedin.com/pulse/understanding-bim-workflow-importance-microstation-yassir-el-yaqouby-ltinf/
https://www.linkedin.com/in/uday-singh-5b18a2155/recent-activity/all/
https://www.linkedin.com/pulse/bim-summary-day-1-introduction-what-building-modelling-uday-singh-d48xc/?trackingId=jVx9vtIRPnylCdD6UVE0ag%3D%3D

AutoDesk Revit

Revit 
https://www.linkedin.com/learning/bim-manager-managing-bim-360
https://www.linkedin.com/learning/search?keywords=Autodesk%20BIM%20360
AutoDesk Construction Cloud

Procore - Project/Construction Management 

https://www.linkedin.com/learning/search?keywords=BIM


Wednesday, 29 January 2025

AI Copilot comparrison

 Lunchtime play ...  Claude.io was the best I used... Deepseek didn't work....

AI Engine Comparison Test:

I recently asked a few AI engines a complex tax query:

Perplexity Pro (paid): While I love the app, the answer was not great 6/10

ChatGPT (free): Excellent, factually correct, not too clear in one area 8/10 

DeepSeek: I registered and tried the search, but got the result "The server is busy. Please try again later."  I tried a few times, it is working for common queries, but I assume as this logic wouldn't be cached, it can't even have an attempt with the free version 2/10.

Bing/M365 Copilot: Got a fairly similar result to ChatGPT missing an option and not as well laid out 7/10 

Claud.io: Clean result that is factually correct and offered possible items that would affect the calculation 10/10

Perplexity is my default AI power Search Engine:

Perplexity and the others are great for teaching me this (I use a homemade flip learning type approach), and here are my "follow-on" questions. However, to truly understand something, I still use books (mixed with perplexity), but nothing beats a human-written or recorded topic to give the best understanding.




Tuesday, 21 January 2025

PnP Search - Notes

Overview: I have spent a considerable amount of time figuring out how to use the PnP Search Web parts again.  I do this every few years, as I forget.  This post outlines how to set up filters for the PnP search using my own columns.

Four items to get Filtering working

Tip: Filterable Managed Properties must have a "refinable" search property.  You can't create these in SPO, so use the OOTB Refinable Managed Properties setup for this purpose.

Step 1. Upload content such as docx and pdfs, and add custom metadata.  I added two documents, and there is a text column for Technology


Step 2. Ensure content is being crawled and available thru Managed properties

You need to be a Site Collection Admin > Go to Site Settings for the Site Collection

Navigate to Search > Manage Search Schema > Find an existing "Refinable.." Managed Property and use it to point to the new Crawled Property.

Tip: Force a crawl on the list, and it will take an hour or two, as the trigger is fired periodically. Depending on the size of the crawl, it will take some time.  If it's not showing up after 3-4 hours, you are definitely doing something wrong.

Step 3.
Add Selected properties (this is the Managed Property name or Alias) - paste and move out of input box - weird.
Customise the Layout Slots with the Layout Slot name.

Step 4. Add the PnPSearch Filter Web Part to the page containing the PnP results web part page

Add the Search Filter PnP web part to the search page.

Go to the PnPSearch Results web part properties, and set the "Connect to a filters Web Part" to Enabled and set the Filter web part.

Go back to the PnPSearch Filter web part, select "Configure" and on the Use data from these Web Parts  set to the PnPSearch Results web part.

"Edit" the filters.


Monday, 20 January 2025

Microsoft Purview Summary

Purview covers:

  • Information Protection - Discover, Classify & Protect data such as documents and emails. Tagging and AIP labels can be applied manually or automatically.  Lots of built-in pattern classifiers such as credit cards and PII data are Sensitive Information Type (SIT), which uses expressions like RegEx to identify types of information example [A-Z]{2}[0-9]{6}[A-D]{1} for a UK National Insurance Number.  The dictionary allows one to add words to customise discovery and automatic tagging and labelling for each organisation and industry.  Can also build custom SITs based on specific patterns.  Activity Explorer and Content Explorer help understand the data information architecture and usage.  
  • Data Loss Prevention (DLP) - Block unauthorised actions
  • Inside Risk Prevention (IRP) - Identify risky behaviour inside the org
  • Adaptive protection - adjusts policies like DLP policies based on the risk identified using ML/AI.  Applies stricter measures as risks are identified.
Microsoft End-Point/device Protection: Microsoft Purview allows a company to create end-device DLP policies, push them to all client devices, and protect data within the company.

Notes on Data Protection:

  • Uses SharePoint Information Rights Management for SharePoint.
  • Used to ensure your data meets criteria to ensure standards compliance such as HIPPA, BIM, GxP.
  • Retention labels are used to track and manage sensitive data.

Wednesday, 1 January 2025

Prompt Engineering with Microsoft Copilot

Prompting Microsoft Copilot: Prompting is asking the copilot to give you information.

Four parts to cover in your prompt> 1. goal 2. context 3. source 4. expectation

1. Goal - what do I want, e.g., tell copilot what we want

I want tactics for pricing my SaaS products

2. Context - Why do I need it

e.g., this is a new product in the B2C space

3. Sources - optional - ask from specific resources

e.g. provide my company stats and ask to compare to my market (from the LLM)

4. Expectations - Table of info, summary, or even an image(maybe not)

M365 Copilot app.

Apps that M365 Copilot embedded with if you have the M365 licence include: 
1. Word, 2. Excel, 3. PowerPoint, 4. Outlook, and 5. Teams

1. Word

Word Copilot is part of the M365 copilot branding.  Generates scaffolding/first draft.

2. Excel

Use in Excel with your own data - allows easy query using English/natural language.

3. PowerPoint

Draft a presentation using org themes based on prompts. You can also use Copilot to add images you create using Copilot (DALL-e).