Prepping Project for FIN 5.0

Preparing Project For FIN 5.0

Prior to migrating, we want to prepare the project and make sure we're ready to start the migration process as smoothly as possible. There are several things to go through and complete below.

1) Syncing Point and History Time Zones

First, the user will have to download the trio file called finRewriteHisTzSync. Then follow the below steps. What that will do is look at your site tz and apply that to the history tz as well because point tz and his tz need to match.

  1. Go to site(s) in DB Builder to select them and configure the timezone if not configured

  2. Then sync timezone to all points

  3. Go to legacy folio and select Import towards the top

  4. Select the finRewriteHisTzSync you downloaded

  5. Then run this query: finRewriteHisTzSync()

    1. Note: If you have a large project it can take a little longer. You can check the progress by running this query in folio (it doesn't update so you need to keep re-running the query to see the latest percentage): jobStatusAll().findAll v => v.dis.startsWith("finRewriteHisTzSyncCommit")

2) Removing Orphan Records

Then the user needs to run the Remove Orphan Records tool to make sure there are no orphan records floating around in the database.

3) Removing Duplicate Extensions

The user will want to remove any duplicate extensions if they exist. Do this only when you can restart the FIN service after executing the below.

  1. Go to legacy folio and query for "ext"

  2. Then you can sort by 'ext' column to see if there are any duplicates

  3. If there are duplicates, select one of each and delete them (only do this if you can restart service after in the next step 4)

  4. Then you need to empty the trash and restart service. Look at the next step on Emptying Trash.

4) Emptying Trash

The user will have to clear the trash. They will go to Trash tab in Legacy Folio or HTML version and select Empty Trash. Another way is to run "folioEmptyTrash()" in folio and that should also clear it.

5) Compact and Backup

While still in Legacy Folio, the user will also need to compact the database and create a new backup snapshot. Toggle to Snapshots tab in Legacy Folio and select to Compact. Once compacting database is done, create a new snapshot and download it somewhere on the server outside of FIN Stack directory.

6) User Time Zones

Go to the Users app and make sure each user has the timezone property configured. If not, configure the user with a timezone.

  1. Go to Users app

  2. Select a user and select Edit User > Properties

  3. Then scroll down to the "Select properties you'd like to add" section and select Time Zone to add it (if it doesn't show up, its likely already configured)

  4. Then to batch apply this Timezone for the rest of the users go to Legacy Folio

  5. Query for "user and tz"

  6. Select the 'i' icon on the left side of the user to copy the id

  7. Then run this query but replace the id with what you copied in step 6 above: finRecordTagClone(@1eeb48fb-8674d0ea, "user", ["tz"])

    • This will copy the tz on that user and add it to all users

  8. If a couple of users need a unique timezone compared to the rest, then go to those users and manually change it via the Users app like you did in steps 1-3

  9. In this case, the Timezone would already be applied so you just find that property and change it instead of re-adding it.

7) Project Display Name

If the user didn't include a project display name when creating the FIN 4.5 project, then they would want to do that now.

  1. Go to the Settings app and select Proj option in the list

  2. Then select Project Settings in the mini app on the right

  3. In the Project Settings pop up, enter a display name for the project name if one doesn't already exist. It can be anything. You can also include a description for the project if you want, its optional.

  4. Apply changes and done. Now after migration, you'll be able to see the display name in the Host window in FIN 5

8) Quick Run Through

Then make a quick run through to make sure everything looks good. Look at a few history trends, graphics, programs, etc to make sure all looks good.

9) Heap Space

The user will want to take a note of their current Heap Space size if it was modified. If it was never modified, then no need to check it. If it has been modified to something other than 512, the user will need to make sure that FIN 5 service is configured with the same amount of Heap Space so that the FIN service can run. Here is a doc on how to change the memory heap for the FIN service. Also since the command prompt is used to migrate the project(s), we need to also increase the amount that the command prompt would use to match what the FIN service is using. Follow the below steps if Heap Space was increased more than 512. If not skip this step.

  1. Stop the FIN 5 service

  2. Navigate to the "sys" folder in the FIN directory. It should look something like this: C:\Program Files (x86)\FIN Framework\FIN Framework 5.0.3.2725\etc\sys

  3. Then once there, open the "config.props" file

  4. The user would want to change line 56 and replace 512 with whatever their increased memory heap size was for the FIN 5 service. They should be the same.

10) Custom Pods

Now the user would need to know if there are any custom pod(s) being utilized in the project? It can be something custom we made as part of a contract deal or any that your development team might have done. If any are being used, they need to be updated to be compatible with FIN 5.0. It's best to have this done before migrating if it's really important to have. It won't break the build, it just won't be visible to users in FIN 5.0 nor migrated over if not updated.

11) License and Maintenance

The last thing would be to upgrade the license to FIN 5 and take care of any maintenance if applicable. The FIN 4.5 license will not work in FIN 5 so have this prepared beforehand. Contact your distributor for what it would take to get this done.

Once the user has done the above, they are ready to migrate the project. We recommend to do it manually as it is a lot quicker and provides logging information like errors and other useful information.