Link Maintenance painfully slow

SOLVED

Every time I use Link Maintenance to relink paperless office files, this utility is super slow.

There has to be a better way to relink thousands of PDFs.  I have also tried the "move" button in the paperless office viewers.  It is also very slow.  This is very frustrating.  Does anyone have any ideas or workarounds for speeding up this process?

Parents
  • 0

    A private group (90-Minds) has a utility for member use, which makes this so much easier. 

    \\oldservername\oldsharename\

    \\newservername\newsharename\

    No, I cannot and will not share the utility... but mention it here as a way of saying that Sage could technically make re-linking Paperless much easier. 

    The big problem is that the Sage screen /  utility checks that each file exists, instead of just allowing text based find-and-replace without that processing overhead (which routinely crashes when just loading a large number of records... let alone re-linking).

  • +1 in reply to Kevin M
    verified answer

    Here is a utility I wrote to handle updating paperless office paths on Standard, Advanced and Premium editions.  

    After unzipping it, the .pvs extension should allow you to execute it on a system with the Sage 100 Workstation installed.  You MUST extract both the .pvs and .pdf files to the same directory.

    https://www.dropbox.com/sh/i1us3lop26h6s46/AACbRXWbS8I0rxDyo7zwDwnLa?dl=0

    Below are my latest notes regarding this.  The zip contains a ReadMe in .pdf format as well.  


    The utility can be launched by double clicking it via Windows Explorer as long as the Sage 100 Workstation has been installed or it can be "CALL"'ed via File > Run > SYZCON like the previous versions.

    The utility will display the current MAS90 directory that it is working out of in the area seen in the image below.  This directory is automatically set based on the last directory used to launch an instance of the Sage 100 workstation.  This directory is updated even if you don’t login, just launching sage 100 and canceling at the logon screen is sufficient to update the working directory.  Do this if you need to toggle a specific instance, such as between the production install and a staging copy for testing.

     

    When “Scan Paths” is clicked, the utility will scan tables per selected company as well as the system level tables and it will load UNIQUE, not ALL, paths as a result of the scan into the “Search For” column as well as write the output to a text file under MAS90\Home\Textout which it will open once complete.

    The “Company” list box allows multiple companies to be selected by holding CTRL and LEFT CLICKING each company, although I recommend clicking the “Select All” button for production purposes, individual companies can be scanned for testing purposes. 

    Here is a list of tables scanned per company.

    1. AP_VendorPDFLog
    2. AR_CustomerPDFLog
    3. PR_EmployeePDFLog

    Here is a list of system tables scanned regardless of companies selected.

    1. PL_JournalPDFLog
    2. PL_PeriodEndPDFLog
    3. PL_ReportPDFLog
    4. PL_JournalRegister
    5. PL_PeriodEndReport
    6. PL_Report
    7. PL_Form

    Once the grid is loaded, it will be cleared if you make any changes to the selected companies by changing the selection in the list box, by clicking “Select All”, or by clicking “Select None”.

    Here is a sample of the grid loaded with results.

     

    You can optionally insert rows and delete rows if you want to change what you are searching for.  The order the rows appear in are important as this is case sensitive so if you plan to have a hierarchy of replacements, make sure they are in the correct order. 

    You can also overwrite the contents of the “Search For” column.

    Once you are ready to proceed, click the “Proceed” button.  Once complete, it will display a message box with the total number of records read and the total number of records updated.  You can click “Scan Paths” again to confirm the results of the previous attempt.

    Given the above example, I could use the following to update rows 1 and 2 to the same path.

     

    The utility will force all forwarded slashes (/) to be replaced with backward slashes (\) before any custom replacements occur. 

    I recommend including the backward slashes before and after the string you are searching for and replacing with when possible to reduce the chance of replacing a common string somewhere else within the path otherwise you can leave the full path in the “Search For” column and specify a full replacement path in the “Replace With” to be absolutely sure you are replacing the correct strings.

    The utility will create backup copies of every file it processes that it updates by appending a date and time stamp to the file name as seen below.

  • FormerMember
    0 FormerMember in reply to David Speck

    Thanks David for your OneMind no fees, open source contribution!

    Sage City's community driven support environment is how open source projects work.

  • 0 in reply to David Speck

    Edited my post above to change some of the notes so that it is clear that this utility only loads UNIQUE, not all, paths scanned.  This simplifies the process of updating the paths as you only have to indicate specific paths that need to be updated and it will do the string replacements for you.

    The ReadMe PDF document has been updated as well.

  • 0 in reply to David Speck

    This looks great David.  Can you confirm it works for SQL / Premium systems too (not just Providex?).

  • 0 in reply to Kevin M

    Sorry, I should have mentioned it is for Standard/Advanced (ProvideX versions only) at the moment because it reads and writes to the ProvideX tables directly.  I don't work with a lot of Premium systems so most of the stuff I end up creating for my team is for Standard and Advanced.  Perhaps if it becomes wanted enough, I may implement it in my spare time.  It is really quick by the way.  

    I edited my original post to clarify which versions it can be used on.

  • 0 in reply to David Speck

    Thanks for confirming David.  Premium data can be edited directly using SQL, so I was just wondering.  (Plus the 90Minds utility works for Providex and Premium... so any 90M member can use that).

  • 0 in reply to Kevin M

    True.

    The one thing I found was a slight issue with the 90Minds utility is you could only do one replacement at a time and it had to accept the arguments being typed in at the command line.  So you really had to be careful with your entries.  It was great for simple one or two replacement runs but most of the upgrades I have been involved with have had at one test phase before the production upgrade and/or had multiple strings that had to be replaced and I got tired of duplicating effort and making sure the four system tables that store paperless directory options were updated. I'm not a fan of tedious, repetitive work so if I can automate something that makes my job easier than I'm going to try to do so if it can be justified. 

    A feature that isn't implemented in this version of my utility is a way to recall previously used strings to make test and production upgrades easier but with the strings being outputted to the text file which is saved, you can add your replacements strings for each one and save it so you can reuse them between test and production upgrade.

  • 0 in reply to David Speck

    Yes, you have to be careful typing paths, but I only ever need to do it once... the 90M tool works as a text find and replace, so you don't need to use the full sub-folder path... just changing the root location (assuming Paperless files are not scattered in multiple dramatically different network locations).

    \\oldservername\oldsharename\

    \\newservername\newsharename\

  • 0 in reply to Kevin M

    I'm aware, I've used it before.  My utility also uses text find and replace so full path is not required either.  I've just encountered too many installs with scattered directories and/or old server names and/or old share names that weren't updated previously.

  • 0 in reply to David Speck

    The utility has been updated to work with the Premium edition.  You can now use it for all editions of Sage 100.

Reply Children