What’s Wrong With Using The Primavera SDK To Load Data Into P6?
The benefits of integrating Primavera P6’s database with Microsoft Excel have long been a secret weapon of many advanced Primavera users. By leveraging spreadsheet functionality to manipulate project and enterprise level P6 data and avoid time consuming manual data entry, users are able to drastically increase their productivity and leave envious colleagues in awe of their P6 wizardry.
The Primavera Software Development Kit (SDK) is a legacy technology feature that is included with Primavera P6. It was released with P6 r3.0 (at the time known as P3e). It implements an ODBC driver that enables a connection between the Primavera P6 data store and other software such as Excel or Access. However, as the underlying P6 technology has advanced significantly in recent years, many are finding the old SDK tricks falling short in today’s Primavera enterprise environments. Some serious technical drawbacks of the antiquated SDK have made it a non-option for many Primavera client companies.
The problems with the SDK begin with the fact that Oracle deprecated the SDK after Primavera 4.1 in favor of focusing on the more recent integration technology, the Primavera Application Programming Interface (API). Oracle still supports the SDK, but only as a second class citizen. The only updates it receives are the bare minimum to allow pre-existing customer-built solutions to continue to work with new versions of P6. The SDK is “frozen in time” in 2004. There are important repercussions of Oracle’s decision to downgrade the support:
-
The SDK is not being updated to accommodate new features or changes to the P6 schema introduced after release 4.1.
-
The ODBC driver provided by the SDK is a 32-bit only driver, since 32-bit Windows was in common use when 4.1 was released. Therefore, the SDK will only work with 32-bit versions of Excel or other programs. It also limits the amount of memory the SDK is able to use which impacts both its performance and stability. Anyone who has tried to open a large project with the SDK will have experienced unexpected results when it crashed in the middle of a data transfer.
-
Nothing is being done to evolve the SDK to keep pace with the changing technology landscape. For example, the SDK cannot be run under Citrix.
These restrictions can have unpleasant and surprising results. In one recent case, a company using the SDK was caught flat footed when they updated MS Office company wide. The new version of Excel was not compatible with their SDK spreadsheets. This caused some major problems as they were forced to do all their imports manually during the time it took them to find another solution, since backing out of the Office upgrade was not an option.
The next, and probably most important, drawback of the SDK is security. In order to write data into P6 using the SDK, a user must be given the global security profile of “Admin Superuser”. This means that anyone who is able to write anything into P6 with the SDK will have unrestricted access to write to any project in the entire Primavera database, change security settings, add/delete other users and change system configuration settings.
This is an unacceptable reality for any company running an enterprise Primavera system. It is insane to put all the effort into ensuring your P6 instance has a robust security model, only to circumvent it by giving users unrestricted access to the P6 system by making them Admin Superusers. The Admin Superuser role should be restricted to system administrators. Nobody ever wants to hear the heart stopping utterance, “Oops… I think I just deleted the entire resource dictionary”.
Due to the above issues, Oracle has recognized the pitfalls of the SDK and no longer recommends its use for anything other than “working with small data sets and executing simple tasks”. Emerald Associates doesn’t recommend its use under any circumstances and none of our tools use this technology.
The Primavera API is currently Oracle’s best-supported technology channel for integrating 3rd party data with the P6 database. It is reliable, stable, fast, under constant development, supports the P6 security model and interacts with P6 in a way that won’t corrupt your data.
These are the reasons why Emerald develops our suite of Primavera add-ons, Emerald Tools, using the API. These tools include our P6-Loader, a tool that integrates Primavera P6 and Excel using the Primavera API. It gives our clients the ability to import/export virtually any data element (assuming that they have security access, of course) into P6 in a safe, reliable and flexible way that meets the needs of a modern scheduler working in an enterprise environment. More information about the P6 Loader can be found on our website’s product page.