We are refreshing our database from production so the test environment is replica of production.
We export import the database and changed the storage path through PW admin in test environment. Is there anything else that we need to consider to have same projectwise as production?
we are seeing lot of workflow permissions are missing or they do not exist in production but shows up in test.
1) few security groups exist in test but they do not exist in production on folder level.
2) few exist in production but they were not copied to test
Do we need to do anything extra to copy the security otherwise why we have different groups between both environments?
Also, In test we are trying to remove the security group and it errors out "Cannot remove access control item"
The phrase "refreshing our database" is a bit worrisome to me. From experience, I know that if you restore a ProjectWise database while the ProjectWise Integration Server service is running, that there may very well be a disconnect between what is in some of the database tables and what is in the service's memory, particularly the access control records (security). The service assumes that it is the only process making any changes to the database, so if you swap it out with something else (newer or older version), and there is a mismatch between what is in memory and what is in the database, you may very well notices some of the issues you mention. Always stop the service when you restore (or backup) a database.
There is also a possible problem with document indexing if you are using the same indexing service if you don't separate the two databases/datasources identities. Document GUIDs are used to index the contents, etc. of the associated files, so which ever is indexed last will be what is in the index for that GUID. There is a way to change the datasource GUID which would fix this particular problem, but I'll leave that to the Bentley Support folks as it isn't something that you should do without being sure of the details.
Also, I haven't kept up with all the features of ProjectWise such as shared projects, etc. so there may very well be some other "unique" identifiers, monikers, etc. that may need to be changed if you want to fully isolate your test environment from production data.
Dan WilliamsSolution ConsultantBentley Systems, IncorporatedPortland, OR, USA (Pacific Time UTC-08:00)
Thanks Dan. when you suggest stopping the PW integration service, it is for test which we are refreshing or production or both?
when you say Export do you mean from ProjectWise or from SQL Server?
To make sure we have an exact copy of the database we have our database group take the latest backup of the database from and restore that on the dev database server. This gives us an exact copy of the database (at least as it was at last backup, hopefully just the night before) and it lets us test our backups to make sure they are working correctly.
we shut off the dev integration server while the restore is going on. after the restore is brought online I modify all the hostnames for the storage areas to servername that doesn't exist. Previously I would do this in SQL Server Studio, but i'll probably use powershell in the future. also need to modify indexing and thumbnails so they aren't submitted to the production indexing server.
We use Oracle so yes our steps
1) Dropped the test database2) Export production db3) Import into test DB4) change the storage area to point to new location via PW admin5) Changed User sync service, full text indexing, thumbnail to point to test server.
Looks like I followed all the steps but we seem to have problem with security group and access control.I will try another time with stopping the integration server services and provide an update if it makes any difference.
If you want both your test and production datasources to match, then stop the PW Integration service on both the production and test environments before you export and import your Oracle databases. You should at least not have anyone "actively working" with the datasource when you do your backup, but shutting down the service is the best approach if you want "all the data".
FWIW, Oracle (or SQL Server) know how to handle database transactions so that your database backup (or export) is valid. However, ProjectWise has its own "transaction engine", which you may have seen bits and pieces of such as the well know "going out" and "coming in" document status values. The database transaction engine doesn't understand or "respect" those transactions, so it is perfectly fine with backing up the database data "as is" when it is really in a "transaction", at least from ProjectWise's point of view. Also, for performance and other reasons, not everything is written (or updated) to the database immediately, so anything that is in memory on the server but hasn't yet been written to the database, won't be in your database backup, and may not even be "consistent" when read back into memory after a restart.
This might explain why you have some "discrepancies" between the two "identical" systems.
Your PRODUCTION database may also have some data corruption, which is rare, but can happen because of system crashes, etc., i.e. where the service didn't get a chance to flush its memory to the database, etc. If you have an issue with not being able to create, read, update or delete (CRUD) something in your PRODUCTION datasource, I would encourage you to contact Bentley support so that they can help you find the root of the issue (and fix it).