New Developer Configuration
New Developer Configuration
Table of Contents
Preamble............................................................................................................................................................................... 2
Development Machine Configuration...................................................................................................................................2
Configure Windows Environment and VS2017..................................................................................................................2
Configure Node.js and npm...............................................................................................................................................3
Install Visual Studio Extensions.........................................................................................................................................4
Get the Source Code.........................................................................................................................................................4
Configure BuyEfficient Classic...........................................................................................................................................5
Add a user and give Everyone group access..................................................................................................................5
Configure Microsoft IIS 8...................................................................................................................................................7
General Site Setup.........................................................................................................................................................8
Create App Pools...........................................................................................................................................................9
Add the Website..........................................................................................................................................................10
Add the Classic Site to the main Site...........................................................................................................................11
Add Virtual Directories to Main Site............................................................................................................................14
Install Oracle Data Access Components (ODAC) Downloads 12c....................................................................................14
Download and Install ODAC 12c 64-bit version and 32-bit version.............................................................................14
Create/Modify some setup files and paths.................................................................................................................15
Set up ODBC driver......................................................................................................................................................16
Set Up the Project and Run the Site................................................................................................................................17
Setup IIS......................................................................................................................................................................20
Log in to the Site..........................................................................................................................................................20
Available Test Credentials...........................................................................................................................................20
Web.Config Configurable Settings...................................................................................................................................21
Web Services.......................................................................................................................................................................22
Concord Fax.....................................................................................................................................................................22
Adding a Web Reference to Your Project....................................................................................................................22
Accessing the Developer Tools....................................................................................................................................24
Troubleshooting.................................................................................................................................................................. 24
Allow oracle driver tracing with Web.config...................................................................................................................24
Runtime Error - Oracle.DataAccess.Client.Oracle.Exception...........................................................................................25
Other Website Errors......................................................................................................................................................25
Http 500 error.............................................................................................................................................................25
IIS Reset.......................................................................................................................................................................25
The W3SVC service has stopped. You cannot start IIS until you have restarted this service.......................................25
Localhost running very slowly.....................................................................................................................................25
Trusting IIS Express SSL certificate...................................................................................................................................25
Debugging Visual Basic Legacy Code...............................................................................................................................26
Change Log.......................................................................................................................................................................... 27
Preamble
This is the setup document for new developers coming onto the BuyEfficient project. If you follow these directions, you
should be able to configure a locally hosted website that connects directly to BuyEfficient servers and database instances.
d. Installed components should have a blue checkbox with a white check next to it:
2. Install Microsoft ASP.NET Framework 4.6.1 from Microsoft’s website and run through the installer instructions.
This step is also required for any production IIS servers.
2. Add another user, sys075NASbk: This username and its credentials must be this exactly as it gives you access to
important virtual directories!
a. Give him the password Wu6egeBu
i. This must match exactly, otherwise you can’t be authenticated against the virtual directories
b. Make him a member of the group IIS_IUSRS
c. Check password never expires
3. Give the Everyone group Full control to C:\BuyEfficient folder
a. Go to C:\BuyEfficient | right click on the folder | click “Properties”
b. Under the security tab, give the Everyone group full control of the folder!
regsvr32 C:\BuyEfficient\dlls\aspftp.dll
regsvr32 C:\BuyEfficient\dlls\AspUpload.dll
regsvr32 C:\BuyEfficient\dlls\BASE64.DLL
regsvr32 C:\BuyEfficient\dlls\BECP.dll
regsvr32 C:\BuyEfficient\dlls\eXchangeML.dll
regsvr32 C:\BuyEfficient\dlls\jmail.dll
regsvr32 C:\BuyEfficient\dlls\PPASP.dll
regsvr32 C:\BuyEfficient\dlls\PPCOM.dll
regsvr32 C:\BuyEfficient\dlls\PPConnect.dll
regsvr32 C:\BuyEfficient\dlls\PPContext.dll
regsvr32 C:\BuyEfficient\dlls\PPInterface.dll
regsvr32 C:\BuyEfficient\dlls\PPInternal.dll
regsvr32 C:\BuyEfficient\dlls\PPRO_Utilities.dll
regsvr32 C:\BuyEfficient\dlls\PPRUN.dll
regsvr32 C:\BuyEfficient\dlls\Pxml.dll
c. You need to this again for all WSCs in the \dlls\wsc folder but with 32-bit REGSVR32.exe. Navigate to
the SYSWOW64 folder before calling REGSVR32.EXE. Refer to the syntax below (enter in the complete
file path before the .wsc file)
d. $results = Get-ChildItem C:\BuyEfficient\dlls\wsc
e. ForEach ($result in $results) { IF($result.Extension -eq '.wsc') {&"c:\WINDOWS\SYSWOW64\
regsvr32.exe" $result.FullName} }
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\button.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\errhandler.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\icon.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\pagination.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\ppimages50.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\ppui.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfbid.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfbuyer.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfbuyer_5040.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfbuyer_5124.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfbuyerpo.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfcommon.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfmarketing.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfpo.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfpo_5040.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfpo_5124.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfprint.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfprint_5040.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfprint_5124.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfreqs.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfrfq.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfshopcart.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfsupplier.wsc
C:\WINDOWS\SYSWOW64\REGSVR32.EXE C:\BuyEfficient\dlls\wsc\wfuser.wsc
Configure Microsoft IIS 8
1. Enable IIS8 as described here: http://www.howtogeek.com/112455/how-to-install-iis-8-on-windows-8/
a. Make sure you have ASP.NET 4.5 checked under “WWW Services”
b. Also make sure you ASP checked for the classic site to work!
a. Under “Connections” on the left side, expand the option | right click on Application Pools | click Add
Application Pool
b. Enter the name Site124AppPool | Make sure .NET CLR version is v4.0.30319 | Click “OK”
c. After you have created it, right click on it in the Applications Pools section, go to Advanced Settings:
i. Change Enable 32-bit Applications to True | modify Shutdown Time Limit (seconds) to 600.
ii. Under “Process Model” edit the value of Identity| select custom account | add your
buyefficient_service user that you created earlier
2. Create another AppPool called 124ClassicAppPool.
a. Set .NET CLR Version to No Managed Code | Set Managed Pipeline Mode to Classic | Click “OK”
b. Go again to advanced settings
i. Set Enable 32-bit Applications to True | Ping Maximum Response Time to 900 | Ping Period
(seconds) to 600
a. At the top in the section dropdown list, select system.applicationHost/webLimits and change
connectionTimeout to 00:20:00 (20 minutes)
4. For each virtual directory, make sure you “Connect As” the specific user you created earlier, sys075NASbk
and you use its correct password Wu6egeBu
5. Next, click on ClassicWeb and in the center grid under IIS click Authentication. Click Anonymous
Authentication, edit (in the right hand panel), and then use the specific user sys075NASbk
Download and Install ODAC 12c 64-bit version and 32-bit version
1. Go to http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
a. Find ODAC121012_x64.zip and download
2. http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
3. Find ODTwithODAC121012.zip and download
4. Apply the next few steps to both installations (with 1 exception specified in one of the steps)
5. Run setup.exe, and then click Next.
7.
8. Click Next.
Specify the Oracle Base as C:\oracle\12c_64:
FOR THE 32 bit VERSION, make sure it is specified as 12c_32 INSTEAD!
Click Next.
> cd C:\Windows\SysWOW64
c) Navigate to C:\oracle\12c_32\product\12.1.0\client_1\Network\Admin\Sample\
- Copy tnsnames.ora to C:\oracle\ … \Admin
- Copy and paste the text from the below file into the copied tnsnames.ora file
Do the same for the files located in the 64-bit version (C:\oracle\12c_64\ ...)
4. Hide node_modules
a. Your solution will not build successfully unless node_modules is hidden.
b. Navigate to your solutions in Windows Explorer
c. Click on “Clients” -> “Com.BuyEfficient.Web.MVC”
d. Right click the node_modules folder, click on “Properties”
e. Check “Hide” and click apply
f. When prompted, select “Apply changes to this folder only”
5. Reduce the maximum number of parallel project builds to reduce compilation errors
a. Go to Tools > Options
b. Under “Projects and Solutions” select “Build and Run”
i. Set the maximum number of parallel project builds to 1
6. Set Com.BuyEfficient.Web.MVC as the StartUp Project by right-clicking on it and selecting the option.
Setup IIS
1. In order to
Usernames for BuyEfficient (Site124) with any special notes about the account:
buycat (admin)
andreb (has all catalogs)
castanos
pprs/admin
o pprs/gm
pprs/dof
pprs/dos
pprs/sales
ddts/admin
o ddts/gm
hcay/admin
Usernames for Shuster:
dshuster
bcain
SQA TEST
For SQA TEST, you may use all of the accounts above. The only difference is that the password is awssqa
PRODUCTION
There are a few test accounts set up in production. These must be requested at the time you wish to test the production
environment.
The “Web.config” of this site has several configurable settings that change whether you are developing on localhost,
using a dev machine, or on a production server. They are outlined below:
Recall notices in the Dashboard will show if their "Last last edit
RecallLifespan Int
time" was at or below this many days ago. For example
VmNewsroomPath String The path to the folder that contains the "newsroom" files.
This is the text of the title in the tile for "commodity corner"
CommodityAnnouncementsTitle String or "announcements" files. This changes based on whether the
site is BuyEfficient or Shuster.
The directory for the "Resources" folder which contains the
ResourcesDirectory String virtual directories for the dashboard files and some product
pictures. As of now, it is Content/Resources.
The main web.config files for the Desktop and Mobile contain multiple transformation files for each site/environment
combination. For example, Web.DevBuyEfficient.config is used to generate the web.config file to be used for the
iBuyEfficientSite in DEV. These transformations are applied on build. Generated web.config files are dropped in the
“configs” folder.
The steps for building and placing these files in specific folders are set up in the .csproj file. In order to view or edit these
steps, navigate to the project folder using Windows Explorer, right click on the .csproj file and click edit.
Web Services
BuyEfficient has subscribed to certain web services to help accomplish its goals. Credential information, implementation,
and other details will be listed here.
Concord Fax
BuyEfficient utilizes this SOAP-based service in order to automatically transit Offline Purchase Orders automatically to
the offline supplier
5. Under “Web Reference Name”, make sure you enter ConcordFaxService as the name. This is the name it is
referenced by in the code.
Troubleshooting
Allow oracle driver tracing with Web.config
<oracle.dataaccess.client>
<settings>
<!--<add name="DllPath" value="C:\oracle\bin"/>-->
<!--<add name="FetchSize" value="131072"/>
<add name="PromotableTransaction" value="promotable"/>
<add name="StatementCacheSize" value="10"/>-->
<add name="TraceFileName" value="C:\temp\odpnet2_webconf.trc"/>
<add name="TraceLevel" value="8"/>
<add name="TraceOption" value="1"/>
</settings>
</oracle.dataaccess.client>
IIS Reset
You might consider using iisreset if you are getting any kind of database connection errors after any major database
installations or configuration changes. It will not damage anything and may fix your problem.
The W3SVC service has stopped. You cannot start IIS until you have restarted this
service.
Open Command Prompt as administrator and type net start w3svc to start the service.