Home/DriveWorks guides/How to compare two DriveWorks projects and track changes
How to compare two DriveWorks projects and track changes
To see what changed between two versions of a DriveWorks project, compare the two .driveprojx files with Projx Diff, a free open-source tool from Base 10. It produces one HTML report of every changed variable, rule, table, macro, document, and form control. Run it nightly against your project shares and you get version history for the whole library.
Why this is hard without a tool
A DriveWorks project holds its logic in many places: variables, constants, calculation tables, lookup tables, form control properties, specification macros, document rules, and the model rules that drive captured components. A change to any of them changes how the configurator behaves.
The project file is a container, not a text file, so ordinary text comparison and source control show that the file changed and nothing about what changed inside it. "What did we change since last month?" ends up answered from memory.
DriveWorks does keep something: the Rules Builder stores revisions of an individual rule, with the user, date, and a comment. That answers "who changed this rule?" once you know which rule to open. It does not tell you which rules, tables, or controls changed across the project.
Comparing two versions
Projx Diff reads two DriveWorks projects, given as .driveprojx files or folders, and writes a single self-contained HTML report. Two picks and a click, and the report opens in your browser.
The report covers:
- Variables, with resolved category names
- Constants and special variables
- Calculation tables, down to row-level rules
- Lookup tables, with changed cells highlighted
- Data tables
- Component tasks
- Documents
- Specification macros
- Navigation steps
- Forms: form rules and per-control formulas
- Captured models and their model rules
Rule changes are shown as inline formula diffs, so you see the edit inside the rule and not just that the rule is different. The report can be searched and filtered by change status, and because it is one HTML file it can be emailed or dropped on a share.
It runs on Windows, macOS, and Linux, and entirely on your machine. Project files are not uploaded anywhere. It is free and open source under the MIT license.
When a comparison earns its keep
- Before a release. Compare the development copy with production and read the report as a release note. Unintended edits stand out.
- After something breaks. Compare today's project with last week's backup. The cause is usually in a short list.
- Taking over a project. Comparing old backups against the current project shows which areas are actively changing and which have not been touched in years. This is one of the first things I do when picking up a stalled implementation.
- Merging parallel work. Two people edited copies. The report shows exactly what each changed.
Tracking the whole library automatically
Comparing by hand works when you remember to keep a copy. The more reliable approach is to archive everything, every night.
Point Projx Diff at your project shares and it will:
- Archive every project nightly into version control, so any two dates can be compared later.
- Detect what changed and attribute each change to whoever last saved the project in DriveWorks.
- Build a team dashboard of activity trends, most-active projects, and per-user contribution.
- Roll up several locations (production, staging, other offices) into one dashboard while keeping their histories separate.
- Emit JSON for Power BI or your own reporting.
A Linux build runs on a headless server with nothing else installed, which suits a scheduled job.
Habits that make changes easier to follow
- Keep development and production copies separate, and move changes across deliberately.
- Use the rule comment field to record why a rule exists. The diff shows what changed; only a comment can say why.
- Make one kind of change at a time. A release that renames variables and changes pricing logic is hard to review in any tool.
- Read the diff before every release, even when you made every change yourself.
Common questions
Does DriveWorks have a built-in way to compare two projects?
Not a rule-by-rule comparison. Projx Diff, a free open-source tool from Base 10 Consultants, compares two DriveWorks projects and reports every changed variable, table, macro, document, and form rule in one HTML file.
How do I see what changed in a DriveWorks project?
Compare the current .driveprojx file with an earlier copy using Projx Diff. The report lists additions, removals, and changes, with inline diffs of the rule formulas.
Can DriveWorks projects be put under version control?
Yes, but a raw project file does not diff usefully in source control. Projx Diff can archive whole project shares nightly into version control and report what changed in DriveWorks terms.
Is Projx Diff free, and does it upload our project files?
It is free and open source under the MIT license. It runs locally on Windows, macOS, or Linux, and project files never leave your machine.
Is Projx Diff made by DriveWorks?
No. Projx Diff is an independent tool built and maintained by Base 10 Consultants. It is not affiliated with, endorsed by, or tested by DriveWorks Ltd.
Base 10 Consultants is a DriveWorks Authorized Services Partner: CPQ configurators, design automation, and CAD-to-ERP integration for manufacturers.
Book a 30-minute callBase 10 Consultants is a DriveWorks Authorized Services Partner and an independent company. This page is not written, reviewed, or endorsed by DriveWorks Ltd. DriveWorks is a trademark of DriveWorks Ltd; SOLIDWORKS is a trademark of Dassault Systèmes SolidWorks Corp. Behavior described here can differ between versions, so check the DriveWorks documentation for the version you run.