Apex Web Wireless Loader - Installation and Setup Guide

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

Apex Web – Installation and Setup Guide

August 17, 2018

Apex Web – Installation and Setup Guide


This document is intended to provide instructions for the installation, configuration, setup and operation of Apex Web.

Requirements
• Apex releases for July 2014 or later
• Internet Information Services (IIS) Manager
• Microsoft .NET 4 Framework
• Vehicles In Plant Service

Apex Web Installation


Apex Utilities Installer
After installing Apex, or with Apex already installed, run Install Apex Utilities and install Vehicles In Plant Service (if it is
not already installed) as well as the Apex web application. Upon installation, the Apex web site is installed and hosted in
the Internet Information Services (IIS) manager.

Click “Install Apex Utilities”.

1|Page
Apex Web – Installation and Setup Guide
August 17, 2018

Click “Next”.

Uncheck Web Services, Web Applications, Windows Applications, and Application Services.
These are checked by default. This will leave all boxes unchecked.

2|Page
Apex Web – Installation and Setup Guide
August 17, 2018

Click on Apex under Web Applications (this will automatically check Web Applications).

Click on Vehicles In Plant Service under Application Services (this will automatically
check Application Services), then click the “Next” button.

3|Page
Apex Web – Installation and Setup Guide
August 17, 2018

Make sure the path displayed is to your main Apex directory. Click “Next”.

The utility will install the Vehicles In Plant service.


Click “Finish” when the install is completed.

4|Page
Apex Web – Installation and Setup Guide
August 17, 2018

Vehicles In Plant Configuration


Update Ticket.VehiclesInPlant.exe.config by opening it in a text editor and entering the following information in the
<applicationSettings> section along with the <system.serviceModel> section.

• CompanyID – Enter a value for the Apex system’s company.


• LocationID – Enter a value for the Apex system’s location.
• StationID – Enter a value for the Apex system’s station.
• UserID – Enter a value for a valid Apex system user.
• Identity – Erase ‘Vehicle Inquiry’ from the value.
• LoadStationID – Enter 0 for all stations, otherwise enter the default load station.
• ApexDir – Ensure the correct path to the main Apex directory for the system.
• Client Endpoint Address – Enter the machine name in the endpoint address. In this example, ‘localhost’
is being used.

<applicationSettings> <system.serviceModel>
<Cai.Apex.Ticket.VehiclesInPlant.Properties.Settings> <bindings>
<setting name="CompanyID" serializeAs="String"> <basicHttpBinding>
<value>1</value> <binding name="BasicHttpBinding_IVehiclesInPlantServer" closeTimeout="00:01:00"
</setting> openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
<setting name="LocationID" serializeAs="String"> allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
<value>1</value> maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
</setting> messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
<setting name="StationID" serializeAs="String"> useDefaultWebProxy="true">
<value>1</value> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
</setting> maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<setting name="UserID" serializeAs="String"> <security mode="None">
<value>1</value> <transport clientCredentialType="None" proxyCredentialType="None"
</setting> realm="" />
<setting name="Identity" serializeAs="String"> <message clientCredentialType="UserName" algorithmSuite="Default" />
<value>Vehicle_Inquiry</value> </security>
</setting> </binding>
<setting name="LoadStationID" serializeAs="String"> </basicHttpBinding>
<value>0</value> </bindings>
</setting> <client>
<setting name="UseVehicleDescription" serializeAs="String"> <endpoint address="http://localhost:8000/Cai/Apex/Services/Ticket/VehiclesInPlant/"
<value>Y</value> binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IVehiclesInPlantServer"
</setting> contract="VIPWCFService.IVehiclesInPlantServer" name="BasicHttpBinding_IVehiclesInPlantServer" />
<setting name="AutomaticRefreshInterval" serializeAs="String">
<value>30000</value> <endpoint address="mex"
</setting> binding="mexHttpBinding"
<setting name="AlarmMinutes" serializeAs="String"> contract="IMetadataExchange" />
<value>10</value>
</setting> </client>
<setting name="RedAlarmMinutes" serializeAs="String"> </system.serviceModel>
<value>1440</value>
</setting>
<setting name="AppHeaderFont" serializeAs="String">
<value>Tahoma</value>
</setting>
<setting name="AppHeaderFontSize" serializeAs="String">
<value>14</value>
</setting>
<setting name="AppRowFont" serializeAs="String">
<value>Tahoma</value>
</setting>
<setting name="AppRowFontSize" serializeAs="String">
<value>14</value>
</setting>
<setting name="ApexDir" serializeAs="String">
<value>C:\CAI\JWS\Apex\</value>
</setting>
<setting name="UseWCFService" serializeAs="String">
<value>Y</value>
</setting>
</Cai.Apex.Ticket.VehiclesInPlant.Properties.Settings>
</applicationSettings>

5|Page
Apex Web – Installation and Setup Guide
August 17, 2018

Vehicles In Plant Service Configuration


Update Ticket.VehiclesInPlantService.exe.config by opening it in a text editor and entering the following information in
the <appSettings> section as well as the <services> section.

• ApexPath – Ensure the correct path to the main Apex directory for the system.
• CompanyID – Enter a value for the Apex system’s company.
• LocationID – Enter a value for the Apex system’s location.
• Services Endpoint Address – Enter the machine name in the endpoint address. In this example, ‘localhost’ is
being used. If port 8111 doesn’t work, try another port.

<appSettings>
<add key="ServiceName" value="VehiclesInPlantService"/>
<add key="DisplayName" value="CAI JWS Vehicles In Plant Service"/>
<add key="ApexPath" value="C:\CAI\JWS\APEX\"/>
<add key="CompanyID" value="1"/>
<add key="LocationID" value="ARQP"/>
</appSettings>

<services>
<service name="Cai.Apex.Library.Common.VehiclesInPlantServer.VehicleController"
behaviorConfiguration="VehiclesInPlantServerBehavior">
<endpoint binding="basicHttpBinding"
contract="Cai.Apex.Library.Common.VehiclesInPlantServer.Contracts.IVehiclesInPlantServer"/>
<endpoint binding="webHttpBinding"
contract="Cai.Apex.Library.Common.VehiclesInPlantServer.Contracts.IVehiclesInPlantServer"
behaviorConfiguration="webBehavior" bindingConfiguration="webHttpBindingConfiguration"
address="http://localhost:8111/Cai/Apex/Services/Ticket/VehiclesInPlant/"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>

6|Page
Apex Web – Installation and Setup Guide
August 17, 2018

System Configuration
In the Apex system configuration, change the following settings as shown below.

• Change the Ticket -> Vehicles In Plant -> Service URL so that the “localhost” is replaced by the machine
name of the system running the Vehicles In Plant service. Disregard the instructions that state it must match
Ticket.VehicleInPlantService.exe.config, otherwise the service will not start.
• Change the Ticket -> Vehicles In Plant -> Only show vehicles from Our Fleet to ‘No’.

7|Page
Apex Web – Installation and Setup Guide
August 17, 2018

SQL Server
In Microsoft SQL Management Studio, set the NT AUTHORITY\SYSTEM user so that it has db_datareader and
db_datawriter access to the Apex system’s JwsData, JwsAudit, and JwsArchive databases.

Vehicles In Plant Service


Open your services and find the Vehicles In Plant service and start it. Be sure to configure the service to start
automatically, by right clicking on the service and selecting Properties.

8|Page
Apex Web – Installation and Setup Guide
August 17, 2018

Ensure that the service is set up to start automatically.

Click “Apply”, then click “Start” to start the service.

9|Page
Apex Web – Installation and Setup Guide
August 17, 2018

On the Recovery tab, set the First, Second, and Subsequent failures to Restart the Service.

Apex Web Configuration


Open the File Explorer and navigate to the C:\inetpub\wwwroot\Cai\Apex\Sites\Apex folder. Open the apexConfig.js file
using a text editor. Add the IP address and port of the Apex system where the Vehicles In Plant service is hosted under
the serverBaseUrl. It is recommended that an IP address is used instead of a machine name, as the security settings of
some browsers do not allow access to the service without an IP address.

10 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

The Apex Web site is set up by the installer, with a port number of ‘81’. If there is another web page using this port, then
the port can be changed by editing the bindings to the web site using the IIS Manager. The IIS Manager can be accessed
by right-clicking on MyComputer or the root of your computer in the File Explorer and selecting ‘Manage’.

Click on ‘Internet Information Services’ to access Connections. Expand the Connections


to view the Apex Web site hosted by IIS.

To edit the path to the Apex Web site, select Basic Settings and change the path.

11 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

To edit the port of the Apex Web site, right-click on the Apex Web site icon and select Edit Bindings…

Select the binding, click “Edit…”, then edit the port number and click “OK”.
Selecting the IP address is optional.

12 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Apex Web Testing Application


Using the Apex utility program UtVehiclesInPlantTestClient.exe, the Apex Web interface can be tested to verify the
service is available. There are a variety of tests that can be employed, but for Apex Web there are only two key tests that
will be covered.

The UtVehiclesInPlantTestClient.exe testing application.

13 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Vehicles In Plant Service


Enter the machine name of the system hosting the Vehicles In Plant service for the server as well as the port number (as
detailed in the Ticket.VehiclesInPlantService.exe.config).

Click “Get Test Message From Server” and the expected result should be the same
as is shown in the output panel.

14 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Apex User
Once the Vehicles In Plant service is verified as running correctly, enter the User ID and Password to validate the user. If
the user comes back with a blank record in the output box, make sure that the user exists in the Apex system. If the
UserKey returns blank, make sure the user has a GUID associated with it (GlobalUID for Apex database tables). A GUID
can be created for a user by editing the user in the Apex User program and saving the record. The GUID does not need to
be created, it will automatically be created for that user by Apex when an edited user record is saved.

Click “Authenticate Service Client User ” and the expected result should be the same
as is shown in the output panel. Make sure the UserKey has a GUID.

15 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Assigning a Menu

Under the Web Options, select the Menu available to the user
when logged into Apex Web.

Apex Web Operation


As a prerequisite to these operation instructions, access the Apex Web site in a browser by the IP address (enter
http://[IP address]:81 to access). The Welcome page should appear along with the log in button. NOTE: If Apex Web site
is run on Internet Explorer, version 10 or higher is required.

The Welcome page for Apex Web.

Logging On to Apex Web

16 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Log in to the Apex Web site as an Apex user.

17 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Enter the User ID and Password for the Apex user. Click “Sign In”.
A dialog will appear indicating whether the sign in was successful or not.

If the user isn’t authenticated, assure the user exists in the Apex system as a valid user.
If the user isn’t authenticated, it’s possible that legacy Apex users don’t have
a GlobalUID assigned (see Apex User above on how to correct this).

A successful sign in message.

18 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

If a menu has not been assigned to the user (see Setting Up the Apex Web Menu
above on how to correct this). Click “OK”.

Even without a menu, the logged on user should be shown.

A logged on user with a web menu shown.

Menu Settings – Load Bulk Trucks


For the Apex Web menu items to work, they must be configured in the settings page. Click on a menu item. The
following is a description of these settings for “Load Bulk Trucks”. Other menu items will have similar settings, each in
their own settings page.

19 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

The Select tab is used to set up the loader for a location and load station.

• Loader: Enter the Loader ID for the loader or workstation that the user will operate. Use the Workstations
screen in Apex to create and maintain a list of loaders/workstations. This ID will be used to record which loader
has loaded each vehicle.
• Location: Select the location to view vehicles to load. This limits the view to vehicles awaiting loading at the
selected location. The location can be changed to another location to view the new location’s vehicles to load.
Use the Locations screen in Apex to create and maintain a list of locations.
• Station: Select the load station to view vehicles to load, or select “All Stations”. This limits the view to vehicles
awaiting loading to just those vehicles at the selected load station. Use the Load Stations screen in Apex to
create and maintain a list of load stations.

On the Display tab, select the columns to display for the vehicle list.

20 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

On the Actions tab, select the actions that can be performed on a vehicle.

• Enter Quantity: Check this setting to be able to enter the loaded quantity for a vehicle. This displays an input
control where the user can enter the quantity that was loaded. This setting is unchecked by default.
• Set Loaded: Check this setting to enable the application to set a vehicle to ‘Loaded’. This displays a “Loaded”
button that the user can click to confirm that a vehicle is loaded. This setting is enabled by default, and is the
default behavior for the application.
• Request Ticket: Check this setting to enable the application to request a ticket for a vehicle after it is loaded.
This displays a “Ticket” button that the user can click to request a ticket from the Apex Auto ID system. This
setting is unchecked by default.

On the Misc. tab, set the Font Size and the interval in minutes in which to warn the loader.

• Font Size: Select a font size range to display. This can be helpful to view a larger font size if using a display device
with a small screen size. This feature doesn’t work on some browsers and displays.
• Warning: Specify up to four different warning minutes. These are used to display color badges for each vehicle,
each with a warning minute category in a different color.
➢ Less than Warning 1 minutes: White/Green
➢ Warning 1 minutes: Black/Yellow
➢ Warning 2 minutes: White/Red
➢ Warning 3 minutes Black/Gray
➢ Warning 4 minutes White/Gray

21 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Click “Done” to save the Settings. Click “Cancel” to exit Settings without saving.

After you have configured the settings for a menu feature, the menu feature’s main page is displayed.
You can also access the Settings page again at the bottom left of the display.

22 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Operation – Load Bulk Trucks


This application feature is used to display a list of bulk vehicles waiting to load. Use the application to view the vehicle
list, set the target weight, confirm that the vehicle is loaded, and request a ticket. The following columns are listed in the
vehicle list below.

The Load Bulk Trucks menu feature showing a list of


vehicles ready to be loaded.

• Vehicle: The vehicle description is displayed. If the settings have “Vehicle ID” checked, then the
vehicle ID will display instead of the vehicle description.
• Product: The product to load is displayed. If this is a split product load, the product display will have
a special indicator.
• Target Weight: The vehicle’s target net weight is displayed. This weight is calculated based on
maximum gross weight, latest tare weight, restricted weights by route or state, and special permits.
Click the Target Weight button to indicate that a truck has been loaded.
o If you would like a specific user defined target weight to used instead then you can add Field
263 “TARGET_USER_TONS” on the ticket screen. Any value defined in that field when the
vehicle is checked in will override the maximum gross weight for the vehicle that is typically
displayed.
• Minutes Badge: The minutes badge displays the number of minutes the vehicle has been in plant
waiting to load. The badge color displays various colors based on the warning categories that have
been specified in settings.

23 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Click the “Target Weight” button to indicate that a vehicle has been loaded.

Click “Yes” to confirm that the vehicle was loaded. The application will mark
the vehicle as loaded, noting the date, time, and loader ID.

Click the more details button to access the vehicle’s details.

24 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

View additional information on the vehicle detail screen.


Click the “Loaded” button to confirm that the vehicle has been loaded;
this is the same as clicking the “Target Weight” button on the main page.
To return to the main page, click the Back arrow button.

25 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

If the user’s settings are configured for “Enter Quantity”, then the quantity can be
entered on each vehicle. When “Target Weight” button is clicked
or the more details page is accessed, the application will display the
Vehicle Detail page with a “Loaded Quantity” input control.

Enter the loaded quantity for the vehicle. Click the “Loaded” button
to confirm that the vehicle is loaded.

26 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

If the user’s settings are configured for “Request Ticket”, then a ticket will be
requested instead of marking the vehicle as loaded. This is used where the loader
creates the ticket after loading. When the “Target Weight” button is clicked or the
more details page is accessed, the application will display the Vehicle Detail page
with “Ticket” button instead of a “Loaded” button.

Enter the loaded quantity. Click the “Ticket” button to request a ticket.
The application sends a ticket request to the Apex Auto ID system,
and a ticket is generated for the vehicle.

27 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Language
Each user can specify a preferred language for the Apex Web site. The user’s preferred language is determined using the
following logic:
1. The system administrator can specify a language for each user. This option if only needed if a user wants a
language different from the default language determined below, so most users will have a blank language
specified.
a. If no language is specified here, the logic will look for a language set below.
b. If a language is specified here, this will be the user’s preferred language.
2. The system administrator can specify a default preferred language for all users in the web site’s configuration
file - apexConfig.js. This option is only needed if most users want a language different from their client browser’s
language.
a. If no language is specified here, the logic will look for a language set below.
b. If a language is specified here, this will be the user’s preferred language.
3. Each client user’s browser specifies a language.
a. This will be the user’s preferred language.
The Apex Web site will attempt to use the preferred language. If the preferred language resource file isn’t found, then
the fallback language of English will be used.

The folder location containing the language resource files.

Currency
Apex Web site is a single-currency system; all clients use a common currency. There is no currency conversion for
different regions or locales. The default currency symbol is blank (no currency symbol). The system administrator can
specify a currency symbol by configuring it in the apexConfig.js file.
Examples:
currencySymbol: '' 123.45
currencySymbol: '$' $123.45
currencySymbol: '€' 123.45 €
currencySymbol: '¥' ¥123.45
currencySymbol: 'USD$' USD$123.45

NOTE: Save the apexConfig.js file as UTF-8 encoding after editing, so special characters like '€' will display correctly on
the web page.

28 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Multiple Instances of Apex Web


It is also possible to have multiple instances of Apex Web running on the same server. For example, if you have two or
more different companies and each one of those has a location registered for Wireless Loader, then that would require a
separate Apex Web Loader site. In this case, this would require a separate installation of an additional Apex Web site
and an additional instance of Vehicles In Plant Service.

You’ll need to install an additional Apex Web site.

To accomplish this, in the inetpub file path for the Web Loader site you would have an additional Folder under
C:\inetpub\wwwroot\Cai\Apex\Sites. To create this additional folder all you need to do is create a copy of the already
existing Apex folder and then rename the copy to whatever name you want.

Next, go into the your new folder and update the apexConfig.js file to use a new port.

serverBaseUrl: 'http://EC2AMAZ-TONAGM0:8112'

29 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

In IIS, right click Sites and select Add Website.

Next provide Site name, Application pool (should be DefaultAppPool), Physical path to folder that was created, and set
Port accordingly. This should be an unused Port. Click OK.

30 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Once completed you should see your additional Apex Web site in the list.

You’ll want to double check the site Bindings to make sure the Port is correct and not set to a port that is already in use.
All other configuration will follow regular setup per our documentation for Web Loader.

31 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Multiple Instances of Vehicles In Plant Service


In order to run multiple instances of Apex Web by Company you’ll need additional instances of Vehicles In Plant Service
by company running as well for each one.

To achieve this, all you need to do is create copies of the following files:
Ticket.VehiclesInPlant.exe
Ticket.VehiclesInPlant.exe.config
Ticket.VehiclesInPlantService.exe
Ticket.VehiclesInPlantService.exe.config

Once you have created copies of them, you’ll need to rename like you would with different service name. For example,
my second service is for Company 2.

Next, you’ll need to edit your new exe.config files and update CompanyID, LocationID, ServiceName, DisplayName, and
Port.

Ticket.VehiclesInPlant2.exe.config
<setting name="CompanyID" serializeAs="String">
<value>2</value>
</setting>
<setting name="LocationID" serializeAs="String">
<value>1002</value>
</setting>

<client>
<endpoint address="http://EC2AMAZ-TONAGM0:8001/Cai/Apex/Services/Ticket/VehiclesInPlant/"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IVehiclesInPlantServer"
contract="VIPWCFService.IVehiclesInPlantServer" name="BasicHttpBinding_IVehiclesInPlantServer" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint address="http://EC2AMAZ-TONAGM0:8001/Cai/Apex/Services/Ticket/VehiclesInPlant/"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IVehiclesInPlantServer1"
contract="TicketDtoBindingSource.IVehiclesInPlantServer" name="BasicHttpBinding_IVehiclesInPlantServer1" />
</client>

32 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Ticket.VehiclesInPlantService2.exe.config
<appSettings>
<add key="ServiceName" value="VehiclesInPlantService 2"/>
<add key="DisplayName" value="CAI JWS Vehicles In Plant Service 2"/>
<add key="ApexPath" value="c:\cai\jws\apex\"/>
<add key="CompanyID" value="2"/>
<add key="LocationID" value="1002"/>
</appSettings>

<services>
<service name="Cai.Apex.Library.Common.VehiclesInPlantServer.VehicleController"
behaviorConfiguration="VehiclesInPlantServerBehavior">
<endpoint binding="basicHttpBinding"
contract="Cai.Apex.Library.Common.VehiclesInPlantServer.Contracts.IVehiclesInPlantServer"/>
<endpoint binding="webHttpBinding"
contract="Cai.Apex.Library.Common.VehiclesInPlantServer.Contracts.IVehiclesInPlantServer"
behaviorConfiguration="webBehavior"
bindingConfiguration="webHttpBindingConfiguration" address="http://EC2AMAZ-
TONAGM0:8112/Cai/Apex/Services/Ticket/VehiclesInPlant/"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>

Once these have been updated install service using the Command Prompt.

You’ll also want System Configuration to point to the correct Port for the Service URL under Ticket → Vehicles In Plant

33 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

Once all setup has been completed, you will be able to access each Apex Web Loader Site. Each site will only display
vehicle information for its corresponding Company, so even if Multiple Companies share the same Vehicle IDs the data is
only for that corresponding Company’s vehicle.

34 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

35 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

36 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

37 | P a g e
Apex Web – Installation and Setup Guide
August 17, 2018

38 | P a g e

You might also like