Set up a New Developer Machine
Objectives
Set up a Development environment for FullCount Developer
from a clean Windows OS installation, after General FullCount tools and
software has been added.
Outline installation guidelines and additional setup under 'Software
- Tech Team' Checklist located New Hire Checklist
Prerequisites
- Clean
installation of WindowsOS (11 at time of writing)
- Active
network connection.
- Keyboard
& Mouse
Instructions
Quicklinks
Some stuff may already be installed for you!
Java Development
- Download
and install Adoptium latest JDK 8
https://adoptium.net/temurin/releases/?version=8&os=windows
Source Control
- Download
and install TortoiseSVN here
- Make
sure you enable 'command line client tools' so it can integrate with
IntelliJ
- Create
local directories
- C:\java\codebase
- C:\java\tools
- Acquire
username and password from Systems Administrator.
- This
will be needed for committing and updating the SVN repos, but it is not
needed at this stage. Save it in KeePass as you will need it later!
- Checkout
any repositories you will be accessing from source control into
C:\java\codebase under their repo name.
- Take
a look at the Checkout section of the Subversion
Guide for instructions
- To
get started building our base project, you will need to download:
- internal:
http://sourcecontrol.fullcount.net/repos/internal
- notifications:
This is on github now - https://github.com/FullCount-Development/notifications.
You will need to do the github steps before you can grab this
- tools: http://sourcecontrol.fullcount.net/repos/tools
- Exhaustive
list of all FullCount SVN project repositories: Knowledgebase
Repository Article
- Download
and install Git
- Download
and install GitHub Desktop
- If
you do not have a invite to the FullCount Github repositiories then ask
for one
- Set
your GitHub account with your FullCount email
- You
should join the organization before you setup Github Desktop
Oracle XE
https://www.oracle.com/database/technologies/xe-downloads.html
- Download
Oracle 21c Express Edition. You will probably have to create an account
for this, you can just use your fullcount email. Make sure you save your
password in your KeePass.
- Update
your environment varialbes
- Search
for environment variables or go to System Properties > Environment
Variables

- Under
the System variables section, add new variable with
'ORACLE_HOSTNAME' as Variable name and 'localhost' as Variable value
- Add
a local system admin user to install Oracle XE with
- Search
for the Computer Mangement application on local machine

- Expand
folders and right click on Users folder and select New User...

- Fill
out fields and click create

- Select
Groups -> Administrators folder. Right Click and select Add to
Group...
- Click
Add

- Enter
local user details and click Check Names. Once the user appears, click
OK.

- Confirm
user appears under Administrators group as active. Click OK.

- Login
to Windows with local administrator account; you can do this by using
'.\<account_name>' from the password login page.
- Install
Oracle DB
- Navigate
to location for installation media as the local system admin
- Right
click on setup.exe and Run as Administrator


- Accept
terms of license agreement
- Confirm
destination folder

- Create
a system password. Store this value in Keepass!




- Open
C:\app\<username>\product\21c\homes\OraDB21Home1\network\admin\tnsnames.ora
in your favorite text editor
- Confirm
that the information in tnsnames.ora looks like the information below. You
may or may not need to change anthing here.

- Restart
the OracleServiceXE service via Windows Services. -> if
this step doesn’t work, restart your system to make sure environment
variables take effect

- Upgrade
TZ file version to match new 19c production database (https://docs.oracle.com/en/database/oracle/oracle-database/19/spmsu/upgrading-time-zone-file-version-after-upgrading-oracle-db.html)
- Copy
following files from T:\TechServices\Projects\Server Builds\DB Server
rebuild\21cXE\ directory to
C:\app\<username>\product\21c\dbhomeXE\oracore\zoneinfo\ on your
local machine
- timezlrg_43.dat
- timezone_43.dat
- Run
T:\TechServices\Projects\Server Builds\DB Server rebuild\21cXE\
developer_machine_build_21cXE.sql in SQL Developer. You will be
reminded to do this in the SQL Developer instructions!
SQL Developer
- Download
SQL Developer
- The
version you install must be compatible with JDK8
- Unzip
to C:\program files\
- Setup
connections to localhost, and any other connections needed (Central:
Dev/Test/Prod, Integration: Test/Prod etc)
- Open
SQL Developer, in "Connections" tab on the left click the green
"+" button.
- For
the localhost connection, fill in the following:

- This
is the same password from the previous Oracle XE setup step 15
- This
is a connection for the general Localhost user, NOT the System
User. Step 4 shows you how to do that
- Hit
"test" to test the connection, and if it is successful hit
"Save." You should have a new connection in your
"Connections" tab. Hit the "+" next to the
system_localhost connection to connect to it. A new tab will open up in
SQL Developer where you can run queries.
- Next,
you will need to create a connection as the System
User. Press the green + to create a new connection in the top
left, and make your login look like the following:
- This
is basically the same as the first one, the only two things you need to
change are:
- username should
be "sys"
- Role should
be "SYSDBA"
- 3
more connections need to be added for the dev, test, and prod databases.
Get your username and password from Rick. The following is an example for
dev, but test and prod will be extremely similar (just replace
"dev" with either "test" or "prod"). Pick
different colors for each connection so you have an easy visual cue as to
what database you're connected to:

- Follow
instructions outlined in article Run Baseline on Local XE Database
- Now,
run the TZ script mentioned earlier (located
at T:\TechServices\Projects\Server Builds\DB Server rebuild\21cXE\
developer_machine_build_21cXE.sql). Run this as the
"sys" db user!
- Restart
local xe database for these changes to take effect (in system processes)
- Date
formats can be updated to display dates with time by going to Tools >
Preferences > Database > NLS. Date Format can be set to something
like DD-MON-RR HH24:MI:SS to be able to see date and time.
IntelliJ Ultimate Idea
- Verify
you have a active license assigned to you from FullCount / 365 Retail
Markets
- You
should have an email from JetBrains Sales <sales.us@jetbrains.com>
which would be using your 365 email in the body (this is fine.)
- Create
your Jetbrains account with link in that email
- After
creating your Jetbrains account download and install IntelliJ
- When
opening IntelliJ for the first time you will need to create a new Project
- Create
a new empty project
- Verify
you check .pom in the settings for creating a new project
- feel
free to remove any files / modules it starts with
- You
will not be able to remove the 'External Libraries' or 'Scratches and
consoles'
- To
import our repos into IntelliJ, go to File > Project Structure or hit
SHIFT + CTRL + ALT + S
- In
the Project Structure pop-up, on the left navigation, go to Platform
Settings > SDKs. If a JDK 8 option exists, select it. If one does not
exist, click the + button and click Add JDK. Choose your JDKs folder
path. It may look something like "C:\Program Files\Eclipse
Adoptium\jdk-8.0.412.8-hotspot".
- In
the Project Structure pop-up, on the left navigation, go to Project
Settings > Project.
- Set
SDK to 1.8.
- Set
Language level to 8
- Click
Apply
- In
the Project Structure pop-up, on the left navigation, go to Project
Settings > Modules.
- in
the 2nd column hit the + icon and hit import module
- For
each repo select it's pom.xml file and click OK
- Repeat
for every repo
- once
all repos are imported click Apply or OK.
- To
configure compilation, go to File > Settings or hit CTRL + ALT + S
- In
the left navigation, select 'Build, Execution, Deployment' > Build
tools > Maven. Under Maven home path, select your newly installed
maven path. It will look something like:
"C:\java\tools\apache-maven-3.6.3"
- Under
'Compiler' select Java Compiler | In the left navigation, select 'Build,
Execution, Deployment" > Compiler > Java Compiler. Under
Per-module bytecode version, set each module's target bytecode version to
8, if it's not already.
- I
recommend installing the 'Maven Helper' plugin to help with maven
commands, else you can do it through command line
- Appearance
is up to you, feel free to get a free theme / update your color scheme as
you want
Apache Tomcat
- Copy
apache-tomcat-9.0.98.zip from T:\TechServices\Dev System files\Tomcat9 to
your machine.
- Unzip
contents and move to C:\java\tools
- Locate
ojdbc8.jar from T-Drive (T:\TechServices\Dev System files\Tomcat9\lib) and
place in {local-tomcat-path}\lib
- Locate
conf directory on T-Drive (T:\TechServices\Dev System files\Tomcat9\conf)
and copy-replace contents to {local-tomcat-path}\conf
- Add
environment variables to your System variables (alternatively to startup
scrips in bin)
- JAVA_HOME
- C:\Program Files\EclipseAdoptium\(jdk to run tomcat with)
- CATALINA_HOME
- root directory of tomcat (C:\java\tools\apache-tomcat-9.0.98)
- sandbox
- development
- Under
the "Path" variable, add
"C:\java\tools\apache-tomcat-9.0.98\bin"
Running
- Command
Line: add setenv.bat (T:\TechServices\Dev System files\Tomcat9\bin) to
local tomcat_home\bin directory.
Maven
(Adam was under the impression that we need to use a Maven
version lower than 3.8 for HTTP protocols)
- Download
Maven from https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/
and extract the zip into your C:/java/tools folder.
- Update/create
your MAVEN_HOME env variable to C:/java/tools/apache-maven-3.6.3
- Add
an entry to your PATH environment variable for %MAVEN_HOME%\bin
- Locate
'settings' file at T:\TechServices\Dev System files\Maven, place this on
your local system at C:\Users\{systemuser}\.m2\
Setting up Archiva Repositories
We use Archiva to store our release builds. After setting
this up on our local machines, we enable our local maven builds to pull
artifacts from the release directory. Documentation: https://maven.apache.org/guides/mini/guide-encryption.html
- Make
sure you've downloaded Maven from the previous section.
- Navigate
to the Maven bin directory via command line (should be something like
C:/java/tools/apache-maven-<VersionNumber>/bin)
- Generate
a strong ‘Master’ password via Keepass and run against the command:
mvn --encrypt-master-password {masterpasswordfromkeypass}
save the output of this command, you will use it in the next step! - Create
a new file under C:/users/{user}/.m2 called ‘settings-security.xml’ with
the following contents (disregard the bullet points):
- <settingsSecurity>
- <master>{encryptedMasterPassword}</master>
# what goes here is the entire output from the previous command,
including the curly brackets
- </settingsSecurity>
- Return
to command line and run the following command with the archiva password
you should have stored in Keepass:
mvn --encrypt-password {archivapassword}
NOTE: this must be the password you already use to access archiva
like before, you will use this command in the next step! - Once
you have that password encrypted you can append your existing settings.xml
file, in between the servers tags with the following (disregard the
tags):
- <server>
- <id>release</id>
- <username>archivaUsername</username>
- <password>{encrytpedArchivaPassword}</password> #
what goes here is the entire output from the previous command, including
the curly brackets
- </server>
- After
this is complete, you can verify it is working by making sure you have the
latest revision of a project currently using semantic versioning (like
“fullcount-integration-model"). You can then clear the notifications
dependency out of your local repo that is referenced by the project.
Attempt to do a build of the project and you should see output in the
IntelliJ console that looks like this:
[INFO] Downloading from : <a
href="http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.pom">http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.pom</a>
[INFO] Downloaded from : <a
href="http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.pom">http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.pom</a>
(3.3 kB at 23 kB/s) [INFO] Downloading from : <a
href="http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.jar">http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.jar</a>
[INFO] Downloaded from : <a
href="http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.jar">http://devtools.fullcount.net/archiva/repository/release/net/fullcount/notifications/1.0.1/notifications-1.0.1.jar</a>
(75 kB at 482 kB/s)
NodeJS
- Download
and run the .msi file to install the latest LTS version of NodeJS (as of
7/22/2024 this will be version 20.15.1) from this link:
https://nodejs.org/en
Android Studio
- Ask
Susan or someone else if you will be working with Android Studio, if not
you can ignore this.
- Download
and install AndroidStudio
- Follow
install wizard prompts.
- Ensure
appropriate Android SDK is installed and active. (At time of this writing
compile is done with 11.0 api level 30)
- Tools
-> SDK Manager -> SDK Platform.
- Ensure
SDK Tools are installed.
- Tools
-> SDK Tools -> SDK Tools
- Select
Android Emulator, Android SDK Platform-Tools, Android SDK Tools, Intel
x86 emulator accelerator (optional).
- Add
platform-tools directory to environment variable PATH.
- Default
location is
C:\Users\{systemuser}\AppData\Local\Android\Sdk\platform-tools
JasperSoft Studios
- Download
JasperSoft Studios 7.0.0
from https://community.jaspersoft.com/files/file/72-jaspersoft-studio-community-edition/.
- You
will need to make a Jaspersoft account to download.
- Right
click js-studiocomm_7.0.0_windows_x86_64.zip in your downloads folder.
Select 'Extract All', and click Extract
- Copy
the newly created folder into your C:/java/tools folder.
Manually create a start menu shortcut
- Inside
C:\java\tools\js-studiocomm_7.0.0_windows_x86_64\jaspersoftstudio, right
click Jaspersoft Studio.exe and select 'Create Shortcut'.
- Rename
the shortcut Jaspersoft Studio.
- Copy
the shortcut into the %appdata%\Microsoft\Windows\Start Menu\Programs
folder.
- Open
the start menu and search Jaspersoft. Right click on the Jaspersoft Studio
App and click 'Pin to Start'.
WinSCP
- Download
and install WinSCP.
- You
can set up connections after you have been granted access to individual
servers. These can also likely be found in your Putty application.
Notepad++
- Download
and install
- Some
helpfull plugins include TextFX ...
Klogg (Large text file reader)
Klogg is a large text file viewer, capable of loading
several gigabyte log files.
Download and install Klogg
Visual Studio Code
- Download
and install Visual Studio Code
- In
order for VSCode to dynamically lint our react-utility typescript project
with our linter settings, you will need to add the following code to your
settings file. Without these lines, linting will only be executed on
project build.
- Use
Ctrl + Shift + P to search a command.
- Search
'user settings' and choose 'Preferences: Open User Settings (JSON)'
- Copy
this code, paste, and save the file:
"eslint.validate": [
"javascript", "javascriptreact",
"html", "typescript", "typescriptreact",
],
"typescript.validate.enable": true,
7-Zip
Download and install 7-Zip
Outlook
As a developer, you'll receive a lot of automated emails. We
recommend you manage these by setting up automated Dev
Team Outlook Rules.
Postman
Download and install Postman
Firefox 3.5.4
- This
is only necessary to install once you're assigned to a touchscreen
development task. This is to test backwards compatibility with older
terminals.
- Download
archived file here: http://www.oldversion.com/windows/download/mozilla-firefox-3-5-4
- When
you run the executable, choose the 'Custom' installation. Specify a
different location than the current Firefox. The easiest way to do this is
probably just to add 3.5 to the prepopulated filepath (.ie 'C:\...\Mozilla
Firefox 3.5\').