Artemis is intended to be a multi-tenant service hosted by Heartland to manage external integrations. At this time (April 2017), no production system exists at Heartland to host this server. Customers requiring this service will need to host their own copy of Artemis on-premise.
These instructions were tested on a clean Windows Server 2012 R2 server
Deploying Artemis On-Premise |
Add Server Role |
Create a New Website |
Deploying Artemis On-Premise
Add Server Role
- Add Server Role: Web Server(IIS).
- Under .NET Framework 4.5 Features:
- Add ASP.NET 4.5.
- CF Services: Add Http activation.
- Under Web Server Role (IIS), locate Role Services.
- Add Application Development/ASP.NET 4.5. This automatically adds:
- .NET Extensibility 4.5
- ISAPI Extensions
- ISAPI Filters
- Install DotNetCore Windows server Hosting.
- From Command Prompt, execute net stop was /y followed by net start w3svc.
- Remove Default Web Site in IIS Manager.
- Create a folder called c:\Artemis.
- Create a folder called c:\Artemis\logs.
Create a New Website
- In IIS Manager, create a new website.
Site name: Artemis
Physical Path: c:\Artemis
Hostname: blank - Edit the new Artemis App Pool.
- Change .NET CLR version to No Managed Code.
- Extract contents of Artemis.zip to c:\Artemis.
- Paste Artemis.zip onto desktop.
Right-click and select Extract All.
Files will be extracted to the folder c:\Artemis.
- Click Extract.
- Edit c:\Artemis\appsettings.json (with Notepad)
- Under Application Settings, set WebRoot to appropriate URL to which you will be binding.
Set RequireHttps to True if you will be using HTTPS. If using HTTP, leave it False.
Change LogFilename to c:\\artemis\\logs\\log-{Date}.txt.
Note the double backslashes. This is a JSON file, so backslashes have to be escaped like this.
- Under ConnectionStrings, change connection string for Artemis to the appropriate connection string to connect to your SQL Server.
- If you will be connecting to SQL Server using an Application Pool in IIS that is mapped as a login in SQL Server, Trusted_Connection: True.
- If you will be connecting using SQL Auth, use User Id: myUsername, Password: myPassword instead of Trusted_Connection: True.
Start Artemis
Start the Artemis website.
If the website was already running, first stop it.
- Browse to http://localhost/sysadmin/Login and login with the initiating Username and Password provided by Support.
- If you have already created a BLANK Artemis database when you setup your connection string, you will get an error “Invalid object name ‘INFO’” . Click Initialize Database.
- If you do not have a blank database created, you will get an error indicating that it cannot connect to the database. Click Create Database to create one.
- After creating/initializing your database, click Upgrade Database. You will be prompted for an HPS user account to be the first super-user of the new database.
- If you want to change the sysadmin username or password, click Compute New Password hash and follow the prompts. You will be given a new password hash. Copy the value, paste it into appsettings.json, and restart the website for it to take effect.
- Logout of the sysadmin area using Logout button.
- Use the Login button on the main webroot. You will be redirected to Heartland SSO page.
Log in using your HPS credentials.
Login credentials must be the username you entered above as the initial super-user, but you don’t need the HPS\ prefix or anything, just login as you normally would any Heartland SSO site.
District Maintenance
- Go to District Maintenance.
- Add New.
- Enter a District Name. e.g. Hometown County Schools
Enter an Integration ID. e.g. Hometown_US
The Integration ID will act as the “User ID” for communicate with Artemis.
Click Add New.
The success message will inform you that a new district was created and provide the the new integration password.
Note the information. You will need this password for communication with Artemis.
If you miss the message, use the Change Integration Password button to generate a new one.
- Under External Users, click Add User.
Create a username for Vendnovation Service to use. e.g. “hometown_vendnovation”.
The Role should be Vending API. There are no other choices at this time.
- Click Add User.
The confirmation message will inform you of the new user’s password.
Note the information. You will need this password for communication with Artemis.
If you miss the message, click the new user name and use the Rotate Password button to generate a new one.
Artemis is setup is now complete.
If Artemis is used in conjunction with Vendovation, you will need to follow the next steps to setup the Vendnovation Service wedge.
Vendovation Service Integration
The Vendnovation Service wedge is a separate web application. This is a single-tenant webservice that proxies requests from Vendnovation to Artemis. Vendnovation provides no credentials or authentication of any kind when it communicates with the service, so it is imperative that the Vendnovation Service be installed by the school district in such a way as to prevent any inbound access to the service from traffic other than that 100% certain to originate from Vendnovation. A secure VPN is recommended. If a VPN to Vendnovation is not possible and an open internet communication must be used, contact Vendnovation for assistance with setting up IP whitelist rules in the school district’s firewalls.
Create a New Website
- In IIS Manager create a new website.
Site name: Vendnovation
Physical Path: c:\Vendnovation
Hostname: blank - Edit the new Vendnovation App Pool.
- Ensure .NET CLR version is set to v4.0.
- Extract contents of Vendnovation.zip to c:\Vendnovation.
- Paste Vendnovation.zip onto desktop.
Right-click Extract All.
Files will be extracted to the folder c:\Artemis.
- Click Extract.
- Edit c:\Vendnovation\web.config (with notepad)
- Under the <appSettings> element, set ArtemisUserName to the external user created in Artemis. e.g. “hometown_vendnovation”.
- Set ArtemisPassword to the corresponding password.
Set ArtemisURL to the URL you will be using to get from Vendnovation service to Artemis.
If you are on the same server, it will be something similar to http://localhost/api/Vending/ depending on how you are handling the binding.
Set LogFilename to c:\Vendnovation\logs\log-{Date}.txt.
Unlike Artemis, this is XML and not JSON; therefore, there are no escaped backslashes in the path.
Change LogFilename to c:\\artemis\\logs\\log-{Date}.txt.
- Set IncludeExceptionDetailInFaults to False.
- Set directoryBrowse enabled to False.
- Save web.config.
- Start the Vendnovation website.