KnowledgeTree Migration


I just completed a fun assignment. I was asked to migrate an Akron Ohio company’s data from KnowledgeTree (open source document management software) to SOLIDWORKS Enterprise PDM.

They choose to move all of their KnowledgeTree data into SOLIDWORKS Enterprise PDM for the following reasons:

  1. They were buying EPDM anyway for their CAD data because KnowledgeTree doesn’t support CAD files very well
  2. They felt the EPDM interface was significantly easier to use
  3. They are going through the process of becoming ISO certified, and felt the traceability provided by EPDM would make the certification process go smoother.
  4. Lack of support for the free version (It appears the open source support forum has been discontinued.)

I originally planned to write a routine that would read KnowledgeTree’s MySQL database and import it into Microsoft SQL (the backbone of EPDM). However since the two systems had such different database schemas, I wrote queries in MySQL, and exported the results as a comma delimited file with MySQL Workbench. Then I imported those files into Microsoft SQL.

As a plug for open source, figuring out KnowledgeTree’s database schema was pretty easy – it has great documentation with the structure fully exposed online for anyone who wants to learn from it.

KnowledgeTree’s structure is not Windows based. As a result I did run into two challenges: Some of the directories within KnowledgeTree contained invalid Windows characters and some files were in a directory structure so deep that their paths were longer than 255 characters. These issues were not a problem in KnowledgeTree, but we had to make some adjustments for these issues in the Windows environment.

The migration copied about 1,200 files (5,000+ if you count multiple versions) in less than an hour. It is fun to watch a program like that work. If you sit back and think, a computer is doing in less than an hour what would take a college intern a long summer to complete.