Ver. 4.7.1 - Further SharePoint, export extensions and more

New in version 4.7.1:
  1. Additional extensions added in default set of extensions => aspx, js, css. Of course, it is still possible to add custom extension
  2. Moved selection of changes in SharePoint pages (Wiki/Canvas) to separate tab in Search&Replace form. All later SharePoint specific developments will be in this tab
  3. Extended support (search&replace) for Link Sources in PowerPoint documents (for example, if you have Excel chart imported in PowerPoint presentation)

    Remark: In case that Automatic Update in PowerPoint document is not set and new link for external chart does not exist or is not accessible ReplaceMagic will make a change but chart in PowerPoint document will still be the old one. To manually update chart (pull data from new location) will need to right-click on chart and in context menu select option "Edit Data" which will open source Excel file. After Excel is opened chart in PowerPoint document will be automatically updated

    Second option is to click in PowerPoint on File => "Edit Links to Files" and there to select "Automatic Update"

  4. Adjusted export to Excel functionality to split results in multiple worksheets if number of rows is bigger than 1.000.000 (to avoid Excel limitations). There are some cosmetic issues (header row color not always the same, to be fixed later)
  5. Fix bug when excluding "Table of Content" links in Word documents
  6. Extended hyperlinks display in Word documents to include also parameters
  7. Included that fixing of broken hyperlinks in Word document covers also hyperlink parameters
  8. Added in installation information that .NET 4.5.2 is required
  9. Changed installer type and publish setup as EXE and not MSI
  10. (Expert option) - Added converter of not supported VSD,VSS and VST Visio file formats to newer VSDX, VSSX and VSTX. Until this version ReplaceMagic was not able to read and save older Visio file formats (VSD/VSS/VST). From version 4.7.1 you will have option to instruct ReplaceMagic to convert older in newer formats. To set this feature go to Configuration => Processing and select option "Convert Visio (VSD/VSS/VST) docs in VSDX/VSSX/VSTX format?"

    Disclaimer: We will always keep original Visio file format (VSD/VSS/VST) and create new file in newer Visio format. In case of network drives if you specify that ReplaceMagic should create backup beside original and new file you will also have backup file.
    In case of SharePoint only old and new file will exist
  11. Added support for Visio VSX and VTX file format
  12. Added "Proxy Configuration" to "Add SharePoint Site" form where you can provide proxy details (proxy URL, port, username and password). Only HTTP proxies are working (HTTPS does not work for now)
  13. Added option to delete list of saved Search&Replace strings in Search&Replace form
  14. Changed that double click on form used to select SharePoint location is always opening only one level below. Before complete clicked node structure was opened at once which was challenging in case that there were plenty of items in opened locations
  15. Added option to delete saved SharePoint connections from Connection History drop-down
  16. During SharePoint changes ReplaceMagic was setting after check-in/check-out, publishing, approval comment text. Now comments by ReplaceMagic can be removed or you can set your own text
  17. All documents stored on SharePoint have unique ID. Normally document IDs are created in sequential way but if some documents are deleted you might have gaps between document IDs. Due to checking numbers in steps of 5000 (previously used in ReplaceMagic) might happen that some documents were not found. To address this case we provided new functionality to find highest document ID in DocLib and to loop until this number is not reached eliminating possibility that some files are missed. As this requires that we loop until maximum number of items in document library (30.000.000 documents) to avoid unnecessary loops you can set expected maximum document library size (default value: 150.000 documents in DocLib)

    Just as a reference - scan in our test site with this parameter set to 500.000 took around 90-100 seconds (with Ultra fast scan option) and with parameter set to 30.000.000 it took around 180 seconds. In total there were only 200 documents in this site

  18. Added SharePoint DefaultCredentials logon option (BETA)
  19. Improved logic to check relative links in SharePoint documents and pages
  20. Added button to start short video with explanation how to use ReplaceMagic

Ver. 4.7.0 - SharePoint list attachment changes supported

SharePoint journey continues - ReplaceMagic can support changes on list item attachments. If you have some links to be changed in SharePoint list item attachments just select list and let ReplaceMagic do the job.

New in this version:

  • ReplaceMagic can change SharePoint list item attachments also - Extended that ReplaceMagic can process also files which are attached to list items (SharePoint Online/2016/2013/2010; in case of SharePoint 2010 ReplaceMagic cannot show processed document size, in result list you will see 0).
  • Extended export/import functionality that list item attachments are also included.
  • Fixed bug when, in SharePoint, selecting folders for processing with more than 5000 items. Due to SharePoint limits this did not work. Document libraries were ok, folders with less than 5000 documents also ok.

 

 

Version 4.6.9 - SharePoint processing improvements

What is new:

  • Improved processing of big SharePoint locations (more than default SharePoint threshold value of 5000 items in list view)
  • Extended ReplaceMagic Search&Replace form to support changes of backslash to slash and slash to backslash immediately during replacement process. This is useful if documents are migrated from local network to SharePoint and all backslashes should be converted to slashed
  • Extended generation of command line XML file to include also slash/backslash conversion settings
  • Extended saving of Search&Replace configuration "Save configuration" to include slash/backslash settings
 

 

 

Version 4.6.8 with tons of changes released

  • Extended command line processing to support also documents stored on SharePoint. Parameters can be configured directly from ReplaceMagic (see below) or you can manually create XML config file (see ReplaceMagic Start - CommandLine)












  • ReplaceMagic extended to support generation of command line parameter file. To generate file set everything for replacements (location(s), document type(s) and configuration in Search&Replace form). If you press in Search&Replace button "Silent run params" in newly opened form you will see XML text which can be copied in file where you keep command line parameters.
  • File format for command line parameters are changed. See more in section ReplaceMagic Start - CommandLine Parameters
  • Fixed counters for custom extension in scan and replacement dashboard
  • (BETA) Extended that ReplaceMagic can make changes in SharePoint pages content which is stored in SharePoint database (not part of .aspx page). To use this functionality during search&replace go to Search&Replace option and select in Custom tab "Update SharePoint page content (stored in SharePoint database)".







    IMPORTANT: Currently, not checked if ReplaceMagic can keep last modified date and editor or approval/publish state or versioning status.
  • Fixed check of links in custom file extensions if link was formatted to start and end with uppercase (like: <A... </A>)
  • Changed that text files are opened with default system encoding (mainly to avoid that non-standard characters are wrongly shown (for example, German letters))
  • Code cleanup of Export List functionality
  • Extended export of SharePoint documents to include unique document ID generated by SharePoint
  • Extended ReplaceMagic to be able to export and import scanned SharePoint documents. To do that following is needed:
    • Export: 











      This will create 2 export files (default names: ReplaceMagic - Find Documents export.csv and SP_ReplaceMagic - Find Documents export.csv)
      Once documents are created do not change document name
    • Import: Before you can import SharePoint documents you will need to log to the SharePoint site where documents for import are. Example, we exported documents stored on "https://replacemagic.sharepoint.com/Shared Documents". To be able to import and process them it is needed to reconnect to https://replacemagic.sharepoint.com. To do that go to "Add SharePoint site" and connect to https://replacemagic.sharepoint.com.






















    • After site is added just click on Ok and proceed with documents import. This will create needed for processing of exported SharePoint documents.














      Not yet tested: if ReplaceMagic can keep Last Modified Date and Editor during replacement process of imported document.
  • Fixed bug that import of previously scanned documents did not work
  • Fix bug when replacement process is started without scanning document that skipped files are shown in AdditionalInfo tab
  • Improved finalization phase of ScanDocuments (performance improvements when preparing list of skipped documents)
  • Extended ReplaceMagic to allow custom location for backup of documents (there are 2 options for backup: all documents or only changed documents)












    • Flow:
      • Set "Create backup", if needed enter backup extension. If backup extension is not defined ReplaceMagic will copy documents to new location
      • Select location for your backup. If nothing is selected ReplaceMagic will make backup in same folder like your original document
      • How are documents copied - for example, you set that backup location is w:\Backup. Document which ReplaceMagic should backup is coming from location c:\_work\some_subfolder and document name is TestDocument.docs (full path: c:\_work\some_subfolder\TestDocument.docs)
      • ReplaceMagic will change : with - and it will create some folder structure like original has =>   w:\Backup\c-\_work\some_subfolder\TestDocument.docs
      • This will allow you to easily restore documents as original folder structure is still there
  • Content Approval setting within SharePoint
    • Peformance improvements during scenario with Content Approval setting for document library
    • Processing flow changed to ensure that flags are kept. In case of Content Approval last modified date and editor can be kept only for documents in Draft version. Documents with other status values will keep status flag but last modified date and editor will be automatically changed by SharePoint after making changes in documents.
  • Updated counters after scan documents. How they are working - ReplaceMagic will scan your files and during that process apply different filters like if file is bigger than some size, if you want to skip document based on some time stamp, etc... Filtered documents will be reported in Additional Info tab. From subset of found files (not filtered documents) ReplaceMagic will start to read content of files and if file is, for any reason, not accessible  application will put that file also in Additional Info tab. Basically there you will see all skipped documents (plus reasons). We could exclude documents skipped due to file size but we intentionally left them as from AdditionalInfo tab you can import them with one click for further processing













  • Further performance improvements in scanning process (reduced number of calls to FileInfo)
  • Further performance improvements in replacements process (reduced number of calls to FileInfo)
  • Fixed bug that maximum document processing time is reported as smaller than wait time to complete processing when it was not
  • Added popup to notify user that maintenance period expired including button to send direct email to ReplaceMagic with request for extended maintenance information. From popup you can disable apprieance of this form. After installation of new version ReplaceMagic will reset this setting again. Setting is user specific.
  • Added popup to notify user that there is new ReplaceMagic version available including details about changes in latest version. This popup can be postponed for next 14 or 30 days or completelly disabled. After installation of new version ReplaceMagic will reset this setting again. Setting is user specific.













  • Fix issue with Microsoft FileInfo method which was not recognizing document extension is some cases
  • Improved processing of documents with # and % in filename (related to SharePoint.Online)
  • "Search in Subfolders" per default selected

Version 4.6.7 released with more than few changes

New in version 4.6.7 (02-24-2019)

  • Improved performances during SharePoint processing when documents with changes are processed
  • Rewritten SharePoint coding when processing document libraries with Content Approval and/or Major/Minor versioning
  • SharePoint.Online SSO logon additional changes (functionality still in BETA)
  • Changed how LinkSources in Excel documents are processed
  • Extended support that ReplaceMagic can process documents in SharePoint sites collection and not that you have to login in each of sites separately
  • Bug fixing when processing documents in SharePoint OnPrem. SharePoint.Online allows # and % in file name and support for that caused issues on SharePoint.OnPrem
  • Improvement during check for broken links in documents stored on SharePoint (Online and OnPremise) - in case that relative link is found ReplaceMagic, during check if link is broken, will show full URL. SharePoint is doing something similar. Links in the document will stay the same. Due to security reasons might happen that check for broken links will not work (potential error code: "The remote server returned an error: (403) Forbidden.")
  • Improved cleanup of long running documents
  • Improved checks of memory utilization
  • Cosmetical changes
    • If something is in RegEx field and checkbox is unchecked RegEx content is removed
    • Fixed double showing of replacement dashboard when processing is manually stopped
    • Fix problem that when processing is cancelled in some cases all buttons are disabled (only option to continue processing is to close and re-open ReplaceMagic again)
 

 

 

ReplaceMagic 4.6.6 just released...

What is changed:

  • Added additional SharePoint logon method (beta)
  • Improved preparation phases for scan or replacement process
  • Ultra-fast scan performances improved
  • Scanning dashboard extended to include additional information after ultra-fast scan
  • Further multi document processing improvements

As always, we recommend that you update and use latest version of ReplaceMagic...

ReplaceMagic 4.6.5 just published

  • Further OneNote improvements...
  • Minor bug fixing...

ReplaceMagic version 4.6.4 ready for download

  • Improved replacement process when using regular expressions
  • Fixed bug that export of result grids did not work

ReplaceMagic 4.6.3 just published

New in version 4.6.3 (01-14-2019)

  • During 2018 SharePoint.Online started to support some special characters in folder(s)/file(s) name. ReplaceMagic can all process those documents
  • Improved result display in dashboards (removed "bad" files from "processed" documents counter)
  • Extended that all document types are shown in Console view (Text/Custom files were missing)
  • Extended Dashboards to show text/custom extension files
  • Included check that export results does not work if result tables are empty
  • Fixed bug - due to missing exception handling, if maximum memory limit was reached, ReplaceMagic was not executing memory cleanup routine.
 

 

 

BlogEngine - Extension for canonical tags

Now something different - as we use BlogEngine.io for our blog system we experienced issue that this Blog software does not add canonical tags which are needed for SEO.

Now, extension is not that complicated (btw. we use 3.3.6 version).

Search for file account.master and add there in <head> section:

 <link href="https://YOUR_URL/account/login.aspx" rel="canonical" />

As a second step go to BlogEngine.Core project and search for file BlogBasePage.cs (should be in \Web\Controls folder) and add following code (I put it after protected virtual void AddMetaContentType()):

      /// <summary>
        /// Adds the canonical tag to the header.
        /// </summary>
        protected virtual void AddCanonical()
        {
            string rawUrl = String.Concat(this.GetApplicationUrl(), Request.RawUrl);
            //if (rawUrl.Contains("/post/"))
            //{
                //bool hasQueryStrings = Request.QueryString.Keys.Count > 1;
                //if (hasQueryStrings)
                //{
                    Uri uri = new Uri(rawUrl);
                    rawUrl = uri.GetLeftPart(UriPartial.Path);
                    HtmlLink canonical = new HtmlLink();
                    canonical.Href = rawUrl;
                    canonical.Attributes["rel"] = "canonical";
                    Page.Header.Controls.Add(canonical);
                //}
            //}
        }
        private string GetApplicationUrl()
        {
            string basePath;
            string port = HttpContext.Current.Request.ServerVariables["SERVER_PORT"];
            string protocol = HttpContext.Current.Request.ServerVariables["SERVER_PORT_SECURE"];
            string serverName = HttpContext.Current.Request.ServerVariables["SERVER_NAME"];
            if (port == null || port == "80")
            {
                port = String.Empty;
            }
            else
            {
                port = String.Concat(":", port);
            }
            if (protocol == null || protocol == "0")
            {
                protocol = "http://";
            }
            else
            {
                protocol = "https://";
            }
            basePath = String.Concat(protocol, serverName, port);
            return basePath;
        }
 
In case that you want to add canonical tag only to post pages uncomment
 
if (rawUrl.Contains("/post/"))
 
and in case that you have QueryStrings you'll need to uncomment
 
bool hasQueryStrings = Request.QueryString.Keys.Count > 1;
and
if (hasQueryStrings)
 
Finally, when everything is in place go to: protected override void OnLoad(EventArgs e) in BlogBasePage.cs and add call to AddCanonical() which I did just after AddMetaContentType().
 
Hope that this helps.

Month List