Upgrade Buddy Server (pre-9.0.0.230)
This applies to upgrading from ENPS versions earlier than 9.0.0.230. See Upgrade from ENPS version 9.0.0.230 or later to upgrade from later versions.
Preparation
Before you start the upgrade process, make sure you do the following checks on the Buddy Server.
Check for G_FIELD Issues
Do this check now only on the Primary Server.
Use the ChangeGFieldID utility to confirm that there is no conflict between your ENPS Fields and System Fields.
-
Browse to the ENPS Extras section on the ENPS Downloads website.
-
Download the ChangeGFieldID utility to your Central/Primary server.
You only need to run the utility on the Central Server, or the Primary Server assuming it is also the site’s Central Server.
-
Right-click the .zip file and extract the contents.
See the ChangeGFieldID.docx file in the extracted location for more information about the utility.
-
Open a Command Prompt.
-
Drag the extracted ChangeGFieldID.exe file directly into the Command Prompt window.
This adds the path to the file to the command line. For example, if you extracted the utility to the desktop then the command line should look something like this:
-
Append the Central/Primary server disk location and the
/I/R
switches to the command line.For example, if your server location is F:\WDCENPS824-4092, then the command line should now look something like this:
-
Press Enter to run the command, which will scan and report conflicts.
Contact Us before continuing if any conflicts are shown in the Command Prompt window. For example:
Continue with the remaining checks on the Buddy Server.
Check for Windows Updates
Check for Windows updates on the Buddy Server, installing and then rebooting the server at a convenient time.
Do not reboot both ENPS servers at the same time.
Update .NET Framework
Ensure that .NET Framework version 4.8 is installed:
-
on the server
-
on all machines that will run the ENPS client
Check the current installed version using the Platform Installer or the registry:
Platform installer
You do not need to close any ENPS processes, just run the Platform Installer. When you get to the following screen it will show you if a required element is missing:
You can then add/fix whatever is missing, then exit out of the installer until you’re ready to install ENPS.
In the screenshot above, the Platform Installer displays the caution triangle indicating that .NET Framework 4.8 is required.
A link to download .NET Framework 4.8 is provided when the caution triangle is clicked.
.NET requires a reboot. Please reboot the Buddy server after .NET is installed, then continue with these steps.
Registry
-
From the Start menu, choose Run, enter regedit, and then select OK.
-
In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. If the Full subkey isn't present, then .NET Framework 4.5 or later is not installed.
-
Check for a REG_DWORD entry named Release. If it exists, then you have .NET Framework 4.5 or later installed. Its value corresponds to a particular version of .NET Framework.
-
For .NET Framework 4.8 that value must be 528040 or greater
.NET Framework version
Minimum value
.NET Framework 4.7.2
461808
.NET Framework 4.8
528040
.NET Framework 4.8.1
533320
In the example below .NET Framework 4.7.2 is installed, as the release number is 461814 (Higher than 461808 but lower than 528040).
Check for Unexpected Folders
Check the F:\Common folder for unexpected subfolders.
AUDIT, BUDDY, C_SUPPORT, DBSCRIPTS, ELECTION, G_SUPPORT, and G_SUPPORTBACKUP are expected. Any other folders are should be deleted or moved to the C:\ drive.
Create a Backups Folder
Create a backups folder on your desktop and then copy the following files and folders into the folder:
C:\inetpub\wwwroot
E:\Search Server\data\enps\conf (if applicable - legacy from v8.2.X)
E:\Search Server\SOLRJavaService (where applicable)
F:\Common\G_Support
F:\ENPS
F:\NOM\nom.ini
F:\NOM\AC
F:\NWP
F:\SearchServer
F:\ServerName\S_SUPPORT
F:\ServerName\S_PRIV
The backups folder should now look like this:
Check Data is in XML Format
Confirm that all of your data is in XML format, otherwise data will not appear in searches.
One way to confirm this is by checking whether the oldest archives on your servers are in XML format.
See Convert Data to XML Format for instructions on converting any non-XML files in your data. Content created with ENPS 7 and later is already in XML format, though older archives may not be.
Find AP Media API Key
In this version of ENPS you can ingest your AP Media API wires directly onto your server instead of to a separate box.
To set this up you’ll need to find your AP Media API key:
-
Log into AP Newsroom.
Instructions for logging in were sent in a Welcome Letter from the AP. Contact Us if you nor anyone at your site cannot find this letter and cannot find existing login credentials.
-
Select the option for the AP Media API key in the navigation menu to see the key.
You'll use this key later in the Set Up AP Media API section to set up your AP wires, after you’ve upgraded the server.
Set WebService Version
-
Open System Maintenance > Services.
-
Remove any number before
.svc
at the end of the Address URL for the Buddy server webservice.For example, change:
../nomwebservices3/nomwebservice82.svc
to
../nomwebservices3/nomwebservice.svc
. -
Set the ServiceVersion for the Buddy server webservice to 9.
The table should now look something like:
-
Save changes.
Prepare Search
Purge the index in preparation for a recrawl:
-
Open a Command Prompt.
-
Enter the following:
This command is case-sensitive, and there is a space after .exe before the /
Additionally, change the status of the ENPSDataService, SOLRJavaServer and Windows Search services:
-
Open Windows Services (services.msc).
-
Right-click the ENPSDataService service from the list.
-
Select Stop from the popup menu.
-
Right-click the SOLRJavaServer service from the list.
-
Select Stop from the popup menu.
-
Right-click the Windows Search service in the list.
-
Select Properties to open a dialog box.
-
Click Stop.
-
Set General tab > Startup type to Disabled.
Remove Watch.exe
Remove the Watch.exe shortcut from the startup folders:
-
Click Start, type
Run
and enter the following in the Run dialog to open the first startup folder: -
Remove the Watch.exe shortcut from the folder if it exists.
-
Click Start, type
Run
and enter the following in the Run dialog to open the second startup folder: -
Remove the Watch.exe shortcut from the folder if it exists.
Uninstall Java SDK and RTE
Uninstall any versions of Java SDK and RTE in preparation for installing/updating Amazon Corretto:
-
Open
Start Menu > Apps & Features.
-
Search the apps list for Java SDK.
Delete any installations found.
-
Search the apps list for Java RTE.
Delete any installations found.
Corretto for Solr
Uninstall any versions of Corretto other than version 17:
-
Open
Start Menu > Apps & Features.
-
Search the apps list for Corretto.
-
Click on each Corretto entry to check the version.
-
Uninstall all Corretto installations that are not version 17.
If you can't uninstall Corretto because it is still in use:
-
Open Task Manager.
-
Open the Services tab.
-
Right-click SolrJavaService in the list and select Stop from the popup menu.
-
Try deleting Corretto again.
If prompted to restart your system:
-
Remove the Watch.exe shortcut from the startup folders:
-
Click Start, type
Run
and enter the following in the Run dialog to open the first startup folder: -
Remove the Watch.exe shortcut from the folder if it exists.
-
Click Start, type
Run
and enter the following in the Run dialog to open the second startup folder: -
Remove the Watch.exe shortcut from the folder if it exists.
-
-
Click Yes to restart.
-
For details about using Solr in ENPS, see Solr Search.
Installation
Once all Preparation is complete, continue with installation:
-
Right-click on the ENPS Platform Installer .zip file downloaded in Download Installer and select Properties.
-
Ensure that the General tab > Unblock box is ticked if it exists, then click OK.
-
Extract the ENPS installer from the ENPS Platform Installer .zip file.
-
Run the extracted ENPS Platform Installer.
-
On the Product Selection screen select the following for a typical ENPS installation:
-
ENPS Server Components - Upgrade
-
ENPS NOM Web Services - Upgrade
-
ENPS Elections API Ingest Service - Upgrade or Install
Your screen should look like this:
The installer will flag if the server does not meet certain prerequisites, such as the required version of Corretto installed.
If you see this message, click Install Requirements.
Click Next if all prerequisites are met:
-
-
On the End User License Agreement screen, read the agreement and accept the terms.
-
Click Next.
-
Configure admin login using either:
-
SysInternals Autologon tool (recommended, encrypted):
Click the Autologon tool download link in the installer to get the tool, or browse to https://learn.microsoft.com/en-us/sysinternals/downloads/autologon.
-
Basic local user account (least secure, unencrypted):
Alternatively, do not use auto login on this server.
The actual screens shown in this step depend on what you already have configured. The Do not auto login to this server option is not available if the server is already configured to use an admin login method.
-
-
Click Next.
-
On the Configuration > Search Configuration screen, enter a username and password for Solr and ensure that Override and configure SOLR specific settings is ticked.
Do not forget the User Name and Password as they are required to connect with Solr.
-
On the Configuration > IIS Settings screen, Webservice should be preselected with the correct Application Pool (NOMWebServicesAppPool).
-
Click Next Step.
-
Click Next.
Click Run in any prompts that appear.
-
Click Continue to start installation.
-
Wait for installation to complete.
-
Copy the G_SUPPORT files:
If your Primary Server is NOT your Central Server, meaning you have a separate Central Server, provided that has been upgraded, then skip this step.
This step is only necessary if your Primary Server is also your Central Server.
-
Open File Explorer.
-
Copy the following files in the F:\Common\G_Support folder:
G_Fielddef
G_Langen
-
Paste them to same folder on the Primay/Central Server.
-
-
Click Install Details.
-
Click Finish.
-
Click OK to close the installer.
Do not start NOM Watcher.
Proceed to the Post-installation instructions.
Post-installation
Before Server Restart
After Installation is complete and before restarting the server:
-
Open the backups folders created during Primary Server Preparation.
-
Open the ENPS\v7\ENPSClient.exe.config file.
-
Compare this file with the same file in F:\ENPS\v7 on the Primary Server, specifically:
-
Check that the Primary and Secondary webservice settings are correct.
-
Continue with these steps:
-
If this server ingests FTP wires, confirm if the FTP wire log files (.DC) are in the NWP folder.
If not, restore them from the backup of the NWP folder created during Preparation.
-
Edit the NomWebServiceAppPool application pool:
-
Open Internet Information Services (IIS) Manager.
-
In the Connections pane, expand the server name and select Application Pools.
-
In the Application Pools pane on the right, right-click NomWebServiceAppPool and select Advanced Settings.
-
Set the Idle Time-out (minutes) option to 0 in the Advanced Settings popup.
-
Click OK.
-
Right-click NomWebServiceAppPool again and ensure that it is started.
-
-
Delete the contents of the F:\NOM\MOS\OUT folder if it exists.
Now restart the server.
After Server Restart
After restarting the server:
-
Launch Watch.exe on the Buddy server.
-
Wait for Solr to start if prompted.
After a restart it can take several minutes for Solr to become fully functional. The NOM may indicate as such.
You can proceed once this screen has disappeared and the NOM has fully launched.
-
Open the NOM Buddy Process window on the Primary server and make sure it is emptying out to the Buddy Server.
If not, try regenerating the schema on the Buddy Server by entering the following in a command prompt:
-
Click Start, type
Run
and enter the following in the Run dialog to open the user startup folder:shell:startup
This should be for the account that is set to auto-logon to start ENPS server.
-
Copy the Watch shortcut from the desktop to the startup folder.
-
Confirm that all wires are ingesting as expected.
If any FTP wires are not ingesting, deactivate the wire, re-enter the password for the FTP server, and activate the wire again.
Set Up AP Media API
Set up your AP Media API wire natively on your server:
-
Open News Wire Profiler.
-
Select File > New Wire and select APMEDIAAPIFEEDS from the popup and click OK.
A new wire window appears.
-
Click More to expand the window to show settings for the new wire.
-
Configure the wire as follows:
Use the API key found in the earlier Find AP Media API Key section.
Field Description Get Member Content
Not used.
Server URL
Set to https://api.ap.org
API Key
API credentials provided by AP, for example on AP Newsroom.
Provider
Set to AP or other custom setting as needed.
Although multiple products can be added to each Media API wire, each wire may only have one Provider code. To use multiple Provider codes, create a separate Media API wire for each code.
Cat Map
Set to NAA or other custom setting as needed.
Story Format Select MediaAPI_v3.0_Story and MediaAPI_v3.0_Storybody respectively in the two dropdown menus.
-
Click Click to Refresh to update the Available Products list.
To add an available product to the Products to Display list, click on the product and then click ADD ->.
-
Tick the Active checkbox to activate the wire.
-
If you've previously been ingesting your AP Media API wires on a separate box then that box can now be powered down.
See Wires via AP Media API for more information on this wire.
NOM Maint Processes
There are three processes that you may find need fine-tuning to run certain tasks when it's the least busiest time for your users:
-
Delete Expired Items time in NOM Maintenance.
-
Folder Info time in NOM Maintenance.
-
NOM Web Services Application Pool recycle time in Internet Information Services (IIS) Manager.
By default, ENPS sets these to 2:00am local time. However, this time may not be the least busy time for your users and may cause disruptions.
Therefore, we suggest that you poll your editorial leaders to determine the time that is least busiest, and set the tasks in the three processes to run around that time on the Primary and Buddy servers. See the sub-sections below for instructions.
If you adjust the NOM Maintenance times you may also need to adjust the create times of any rundowns that are autocreated.
Rundowns should not be set to autocreate within the same hour as the Delete Expired Items on the Primary Server. For example, if Delete Expired Items is set for 00:30, no rundowns should be set to autocreate from 00:30-01:30.
Primary Server Times
On the Primary Server:
-
Open NOM Maintenance.
-
Open Window > Delete Expired Items.
-
Set the Delete expired items each day at to field to the time the editorial leader said was least busy.
For example, to set to 1am enter
01:00:00
. -
Open Window > Folder Info.
-
Set the Scan folders each day at field to one hour later than the Delete expired items each day at to time.
For example, if that field was set to
01:00:00
then enter02:00:00
here. -
Open Internet Information Services (IIS) Manager.
-
Expand the server name in the Connections pane and click Application Pools.
-
Right-click
NOMWebServicesAppPool
and select Recycling... from the popup menu. -
Set Specific time(s) to 10 minutes earlier than the Delete expired items each day at to field.
For example, if that field was set to
1:00:00
then enter00:50
here. Note that seconds aren't required.Ensure nothing else is checked under Fixed Intervals.
-
Click Next.
-
Click Finish.
-
Restart IIS.
Buddy Server Times
On the Buddy Server:
-
Open NOM Maintenance.
-
Open Window > Delete Expired Items.
-
Set the Delete expired items each day at to field to the same as the Folder Info > Scan folders each day at field on the Primary Server.
For example, if Delete expired items each day at to was set to
01:00:00
on the Primary Server then set Folder Info > Scan folders each day at to02:00:00
on the Buddy Server. -
Open Window > Folder Info.
-
Set the Scan folders each day at field to one hour later than the Delete expired items each day at to time.
For example, if that field was set to
02:00:00
then enter03:00:00
here. -
Open Internet Information Services (IIS) Manager.
-
Expand the server name in the Connections pane and click Application Pools.
-
Right-click
NOMWebServicesAppPool
and select Recycling... from the popup menu. -
Set Specific time(s) to 10 minutes earlier than the Delete expired items each day at to field.
For example, if that field was set to
2:00:00
then enter01:50
here. Note that seconds aren't required.Ensure nothing else is checked under Fixed Intervals.
-
Click Next.
-
Click Finish.
-
Restart IIS.
Set Up Search
-
Open, f, search server, SearchCrawler.exe.config
SolrURI path should be <add key="solrUri" value="http://<CURRENTSERVERNAME>:8080/solr/enps" />
It’s very important that you enter your current server’s name, or change it to local host. Either is fine. If in the example above it was local host it would look like this.
<add key="solrUri" value="http://localhost:8080/solr/enps" />
Open, f, search server, SOLRSchemaManager.exe.config, confirm this string.
<add key="solrUrl" value="http://localhost:8080/solr/enps" />
In this file, the installer should have put this string in there automatically.
-
Regenerate the SOLR Schema. There are spaces after .exe and after regenerate
Run the following from command prompt:
f:\SearchServer\SOLRSchemaManager.exe /regenerate /reset:true
-
Copy and paste the searchcrawler.exe.config to the desktop of the server. You want to do this so that once we are done with the next few steps you can put it back easily.
-
Open SearchCrawler.exe.config , from the search server folder on the root of F.
Look at the database section. You’ll see entries for NWS, primary server name and buddy server name. See the picture below.
To speed up the process for the crawls, you’re going to edit those sections so that it looks like this:
No more NWS , primary server name folder and buddy server name folder. Instead you’re telling it to just check the files, in these specific folders. Just look in the primary server name folder for what groups the station has.
It's easiest to copy one of the existing strings, and then add to it. So for example, copy:
<add key=”PRIMARYSERVER” value=F:\PRIMARYSERVERNAME” />
and change it to:
<add key=”Group1” value=F:\PRIMARYSERVERNAME\P_group” />
You will add a line for every p_group the site has that needs to be indexed. This is going to be mainly your news and desk groups. You do not need to crawl your mos folders.
-
Save the file.
-
Run the SearchCrawler utility to repair any duplicate GUIDs and remove duplicate stories from WIP data:
f:\SearchServer\Searchcrawler.exe /repairguids /removeduplicatestories
As it is scanning the data you will see the following repeated line
Solr: 0 files
. -
When the crawl is done, replace the changed SearchCrawler.exe.config with the backup you put on the desktop.
-
Run the SearchCrawler utility to recrawl the data:
f:\SearchServer\Searchcrawler.exe
At this stage the server can be used by users. However, not all data cannot be searched for until the crawl is complete.
When that crawl is done, scan the entire index to check if the H drive has any duplicate stories. To do so:
-
Open a Command Prompt.
-
Enter the following:
f:\SearchServer\Searchcrawler.exe /repairguids /removeduplicatestories
There is a space between .exe and /repairguids and another space after before /removeuplicatestories
As it is scanning the data you will see the following repeated line
Solr: 0 files
. -
Wait for the command to complete.
-
Open the F and H drives and check if there are duplicates folders:
F:\P_<GroupName>_Duplicates
H:\P_<GroupName>_Duplicates
If there are no such folders then skip these steps.
-
Move any duplicates folders to another location, such as the Desktop.
-
Run the crawl again:
f:\SearchServer\Searchcrawler.exe /resume:false
-
Next Steps
You have now upgraded the Buddy Server!
Proceed to Upgrade Primary Server (pre-9.0.0.230).