Set up a dedicated test environment (that mimics your production environment) to test XI 3.1 thoroughly…and I mean THOROUGHLY…before rolling out to production.
Object security is different. The best way is to rebuild from the ground up. You can use the aforementioned test environment to build your object security. After it is proven to be working properly, you can migrate it together with the contents to production.
Do not, I repeat, DO NOT install XI 3.1 on top of XIR2. Uninstall XIR2, wipe it completely clean, then install XI 3.1 on the servers.
Be careful not to comingle the client tools, especially Universe Designer. I have seen some strange behavior when exporting universe to XI 3.1 environment using XIR2 Designer, although it appears to support it. But please note that XI 3.1 Designer CANNOT access XIR2 environment. So it is NOT backward compatible. You need to plan it very carefully.
If you have custom SDK code, you have to rewrite the code because the relative paths are different and some Java beans have been deprecated. All openDocument calls on the reports will have to be modified because of the change of relative path.
Make sure you have plenty of time to trouble-shoot the issues stemmed from the migration.
That’s all I can think of off the top of my head. Hope this helps. And good luck.