<!-- wp:paragraph -->
<p>Along with a host of impressive features, any <a href="https://staging.selectec.com/papercut-20-0/">new release</a> of PaperCut MF also brings with it the inevitable influx of emails asking about upgrades...</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>"<em>My customer is running v14 and wants to move to version 20, it is ok to install over the top?</em>"</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>"<em>Is it safe to upgrade from v16 to the new version 20.0.2?</em>"&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>With speed and confidence (the way we roll around these parts) the answer is yes... go for it, just be sure you've made a backup first! :-)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But when you start to look into the finer details, annoyingly it soon gets tricky. This is our little list of things to think about when upgrading PaperCut MF.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":30} -->
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"align":"left","level":3} -->
<h3 class="has-text-align-left">Upgrading PaperCut when there's lots of old data</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If we take the example of a customer running v14 wanting to upgrade, they could have six years of data stored in the database. The more data, the more time needed for the upgrade to complete. Now, you can easily remove old data by heading over to the Options/Backups tab within the Admin UI. One suggestion here is to take a backup and then set it so that you only keep the last year's worth of data. This will make the upgrade process quicker.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":20} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:image {"id":8744,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://staging.selectec.com/wp-content/uploads/2020/08/automatic-dtabase-exports-1024x340.jpg" alt="upgrade PaperCut" class="wp-image-8744"/></figure>
<!-- /wp:image -->

<!-- wp:spacer {"height":20} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p><em><strong>Pro Tip:</strong> It might be worth running some reports on the old data before you remove it. Save the reports somewhere safe, otherwise you will have to spin up an old version of PaperCut to restore the database to if you need access to the information again.</em></p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":20} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>One worry we might express would be the health of the database. If your database has been running for six years we have no idea what it's been through in the last 2,000 days, for example, it may have suffered from:&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>Power cuts causing the server to suffer from a rude interruption of its normal service.</li><li>Hardware or software faults causing restarts or read/write IO issues.</li><li>Or (and most often) maybe you ran out of disk space and didn't notice until it was too late. You got any idea how upset a database can get when it tries to add data but finds no more room at the inn?&nbsp;</li></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>The above may have impacted the health of the database. Everything might look like it's running ok (and for the most part it is) but maybe clicking a link in the Admin UI generates an error you don't know, as you've never clicked it before. In short, any database has the chance of being corrupt if it is rudely interrupted while writing to its data store. Don't lose sleep over this, very few upgrades fail.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It's wise to remember PaperCut sometimes adds new fields or tables into the database to support new features, that this adds to the time for the upgrade and factor that into any upgrade plans.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":30} -->
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"align":"left","level":3} -->
<h3 class="has-text-align-left">EOL</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Nope, not the guys that sang <a href="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DaQUlA8Hcv4s&amp;sa=D&amp;ust=1596450840557000&amp;usg=AFQjCNFPrWLzFrucPVmxnP0XjR0fTEmw1g">Mr. Blue Sky</a>, we mean end-of-life software. That server you are upgrading might have been set up a long time before PaperCut was installed and a lot has changed since then.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>So before you upgrade PaperCut, check that the server OS and database are not end-of-life. Your Debian 7 or Windows 2008 server might not be supported anymore by PaperCut (or the vendor). Or perhaps Microsoft stopped supporting that SQL server version you have PaperCut running on. Either way, this might lead to a bunch of extra work for you (sorry!), but it is wise to work out beforehand if this is going to be a blocker. </p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":30} -->
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"align":"left","level":3} -->
<h3 class="has-text-align-left">Upgrading PaperCut when you're running 32-Bit software&nbsp;</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Speaking of old software…</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The more bits the better, right? Well, more than likely if you have not touched PaperCut since v14 your customer might have some servers or workstations using <a href="https://staging.selectec.com/papercut-ends-client-support-for-32-bit-operating-systems/">32bit operating systems</a>. PaperCut made the jump to OpenJDK v11 in 2019, and that won't run on 32bit systems. So before you upgrade check what they have... they might have a 2008 server or some Windows 7 clients they wish to use with PaperCut MF. If that's the case, <a href="https://staging.selectec.com/contact/">get in touch</a> with our friendly support team who can assist you in working around this issue.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":30} -->
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"align":"left","level":3} -->
<h3 class="has-text-align-left">Payment Gateways</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Check if the customer is using <a href="https://www.papercut.com/discover/integrations-and-customizations/integrations/">online payments</a>. PaperCut MF version 16.1 and below are not compatible with the current PaperCut Payment Gateway Module. The installer for PaperCut MF will generally warn you during the upgrade about any gateways. You will need to install a new version of the gateway module after you have upgraded to the current release.</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":30} -->
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"align":"left","level":3} -->
<h3 class="has-text-align-left">Devices</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Last of all - are those devices they have still supported? Embedded platforms may have moved on since their last upgrade... PaperCut will end-of-life older (less secure or clunky) models. Chances are the lease is up anyway - time to discuss modernising the fleet? With security being vital, they have a self-interest in remaining compliant with the latest regulations.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:spacer {"height":30} -->
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:heading {"align":"left","level":3} -->
<h3 class="has-text-align-left">TL: DR</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Go for it - if it's super old, take a backup and do it in stages. If it's going to go wrong, it will. :-)&nbsp;</p>
<!-- /wp:paragraph -->