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
- 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), 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.
- Execute net stop was /y followed by net start w3svc from a command prompt.
- Remove Default Web Site in IIS Manager.
- Create folder c:\Artemis.
- Create folder 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 this folder: c:\Artemis
- Click Extract.
- Edit c:\Artemis\appsettings.json (with notepad)
- Under Application Settings, set “WebRoot” to appropriate URL to whcih you will be binding.
Set RequireHttps to true if you will be using HTTPS. Leave it false if you will be using HTTP.
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. Trusted_Connection=True” should be left in there if you will be connecting to SQL Server using an Application Pool in IIS that is mapped as a login in SQL Server. If you will be using SQL Auth, use User Id=myUsername, Password=myPassword instead of “Trusted_Connection=True;”
Start Aretmis
Start the Artemis website.
If the website was already running, first stop it.
- Browse to http://localhost/sysadmin/Login.
- 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 that 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.
Login using your HPS credentials.
Login credintials 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. “Pasco County Schools”. Enter an integration id, e.g. “pasco_fl”. The integration id will act as the “user id” for Newton to communicate with Artemis. Click “Add New”. The success message will tell you that a new district was created and tell you the new integration password. Copy this down. If you miss it, use the Change Integration Password button to generate a new one. You will need this password for Newton to communicate with Artemis.
- Under External Users, click “Add User”
- Create a username for Vendnovation Service to use. E.g. “pasco_vendnovation”. The role should be “Vending API” (there are no other choices at this time)
- Click Add User
- Again, the confirmation message will tell you the new user’s password. Copy it down. If you miss it, click the new user name and use the “Rotate Password” button to generate a new one.
At this point Artemis is setup and ready to go.
If Aretmis 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, make sure .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 this folder: c:\Vendnovation
- Click Extract.
- Edit c:\Vendnovation\web.config (with notepad)
- Under <appSettings> element, set ArtemisUserName to the external user created in Artemis, e.g. “pasco_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 like http://localhost/api/Vending/ depending on how you are handling the binding.
- Set LogFilename to “c:\Vendnovation\logs\log-{Date}.txt”. Note, unlike Artemis, this is XML and not JSON, so there are no escaped backslashes in the path.
- Change “LogFilename” to “c:\\artemis\\logs\\log-{Date}.txt” (note the double backslashes, this is JSON file so backslashes have to be escaped like this)
- Set “includeExceptionDetailInFaults” to “false”
- Set “directoryBrowse enabled” to “false”
- Save web.config, and start Vendnovation website