If I become disabled or dead, you should get the password to my keypass software on my computer from the location we discussed in my home.
Then look up the password/url to my Amazon AWS account. This gives you access to the entire cloud setup.
All passwords, usernames, and other secret information for the system and various services are inside the keypass file. They are all there and you can search the Keypass database until you find what you are looking for.
ClicFlic Linux Server
HR Avatar Production Server
If a password doesn't work, look up the Default Password entry in Keypass. I use this on inconsequential sites mostly. It may work.
Saturday, December 27, 2014
Routine Maintenance Activities
To keep the sites running it is important to perform the following activities:
Using an SCP Client, connect to the ClicFlic EC2 instance as root (get credentials from mike's keypass), go to /backup/dbms and delete old copies of the database backup files.
The servers should run for some time.
Reboot - Weekly, or when there is a problem.
Reboot all server instances weekly to deal with memory leaks. No issues have been experienced in some time, but ...
To reboot, you can do one of two things.
Method 1. First (and easiest) log onto the AWS console and go to EC2 -> Instances. Then for each instance choose the reboot action. This will fully reboot the server.
Method 2: Second (and safest since it shuts down the application server before rebooting) SSH into each server. For ClicFlic and HR Avatar, change directories to /backup/scripts then execute the reboot script by typing /reboot.sh Wait a minute and it should reboot itself. For the Discern and CFShare server, simply ssh as root and type shutdown -r 0 which will reboot the server.
All servers except the discern server will come back fully on reboot. For discern you must manually restart the essay programs. To do this you must log on to the discern server via SSH as ec2-user (DO NOT LOG ON AS ROOT FOR THIS), then change directory to /work, then execute the script startdiscern.sh by typing /startdiscern.sh That's it. Just log off after you type that and it should say "OK"
Remove old database records - Weekly
Using WinSCP, connect to the ClicFlic server and navigate to /backup/dbms - delete files over a week old. Should be handled automatically by a script called cleanlogs.sh in /backup/scripts and copied to /etc/cron.daily
Remove old export directories - Weekly
Via http://www.clicflic.com/stutil, go to Clean old Media Files and click on "Clear Local Export Folders."
Clean up some dbms records - Weekly
Via http://www.clicflic.com/stutil, go to "Video and ActX Conversions" and click on "Clean Act Archive Records." Then click on "Clean Old File Conversion Job Records."
Clean out old deploy folders - Weekly
Via http://www.clicflic.com/stutil, go to Clean old Media Files and click on the button under "Clean Standalone Deploy Directories" The code for this is "forlake"
Clean out old IMO Media - Quarterly
Via http://www.clicflic.com/stutil, go to Clean old Media Files and click on the button under "Delete Media From Old, Deleted Scripts" The code for this is "forlake"
Archive ActHistory Records on ClicFlic - Quarterly
Log on to http://www.clicflic.com using an admin logon and go to Admin -> Archive ActHistory Records.
Archive Test Event records on HR Avatar - Quarterly
Go to http://www.simajob.com and log on using an admin logon. Then go to Admin -> clean/archive to start the process.
Review IMO Media and delete extraneous files - Annual
Via http://www.clicflic.com/stutil, go to Clean old Media Files and click on the button under "Clean Old/Unused Media Files" The code for this is "forlake" Leave actId at 0 to review all IMOs.
Tuesday, December 23, 2014
Campaigns
AD CAMPAIGNS ON HR AVATAR
There are several mechanisms built into HR Avatar to help capture and track information about the source of a particular kind of action by a user. All of these ultimately add a UserAction record, described below.
Custom Page Servlet
A custom page is configured on SimBuilder and is set up to allow non-programmers to create basic marketing content on the HR Avatar website.
All of these pages are accessed through the custom page servlet, https://www.hravatar.com/ta/cpg
The custom page servlet (called AdUtils in the code) generates this page on the fly every time someone accesses it. You can create as many Custom Pages as you want.
Whenever a custom page is accessed, it generates a UserAction record (see below).
Note that all the custom page servlet does is create a customized web page when someone clicks the URL.
You can embed any form you want inside a custom page. If you want to embed a new account registration form you can code it yourself (to use the campaign servlet below) or embed an iframe like this: <iframe src="https://www.hravatar.com/ta/misc/custom/regforminsert.xhtml" style="width:600px;height:520px;border:0px;"></iframe>.
Many custom pages will include forms or links that use the campaign servlet to effect an action if the user clicks on the right thing.
Example: To Link to custom page 7 (see it by clicking the link below or modify it on http://sim.hravatar.com) from a search engine, use link:
https://www.hravatar.com/ta/cpg/7/hr-avatar-employment-tests-accurate-easy-to-use-just-40ea-get-a-free-trial
Note that there is no campaign id, the number of the custom page is the unique identifier. It's stored as Custom Page: 7. This would appear in an account registration that came from this page, unless a custom form is used and it goes through the campaign servlet, in which case you can define your own campaign id.
Campaign Servlet
Sometimes you want to create a custom form with full control of the look/feel and/or have it be hosted off of hravatar.com. But when the form (or link) is clicked, you want to trigger a specific action on HR Avatar, or you just want to create a link that causes HR Avatar to take some action. This is where you would use the Campaign Servlet functionality, described below. Basically, you configure a page to send a set of parameters to HR Avatar when the form is submitted and HR Avatar does the rest, or you create a link that has the appropriate parameters.
Whenever the Campaign Servlet is accessed, it generates a UserAction record with the type defined by the parameter uat and the optional campaign id defined by parameter cpid.
Trackable Actions
In some cases, the system automatically tracks actions, such as blog and news views, or product views. If there is a campaign id in these requests (parameter name=c) then that is stored along with the action in a User Action record.
User Actions
UserActions are created by various parts of the system when key actions are taken by a user, such as searching the catalog, viewing a product, viewing a blog or news entry, or signing up for a new account.
In the database there is a table called UserAction. This table is used to record the actions of anonymous and logged on users.
The following User Action Types are captured:
SEARCH_PRODUCTS(1,"Product Search"),
SEARCH_BLOG(2,"Product Blog"),
SEARCH_NEWS(3,"Product News"),
DOWNLOAD_WP(10,"Download White Paper" ),
NEWSLETTER_SIGNUP(11,"Signup for Newsletter" ),
VIEW_PROMOTION(12,"View Promotion" ),
VISIT_WEBPAGE(13,"Visit a Misc Webpage" ),
VIEW_BLOG(14,"View Blog Entry"),
VIEW_NEWS(15,"View News Entry"),
VIEW_PRODUCT(16,"View Product Detail" ),
REGISTER_ACCOUNT(17,"Register for Account" )
The UserAction record captures several key fields:
TypeId: The numeric type from the list above.
IP: The IP Address
Referer: The Page that referred the person to the link that caused a UserAction to be recorded.
Identifier: The specific campaign id, if any, passed within the link.
Viewing User Actions
If you want to capture user actions to track which button, which campaign etc, you can do that now and then look on Simajob.com for the results in the Admin area in the section called User Actions.
Coding User Actions
Links within the HR Avatar website will automatically create UserActions using default values.
When you set up a campaign, you can configure the links and buttons to cause your own UserActions as follows:
Method 1: Linking to Blog entries, News entries, and Product Detail pages:
In some cases, you can embed a campaign id by including the http parameter 'c' in the URL. The value for 'c' must be URL-encoded for it to be valid.
Example:
If you want to link to the page: https://www.hravatar.com/ta/blogs/25/how-to-hire-smart-people with a campaign id of 'my first campaign'
First, url encode my first campaign into: my+first+campaign
Next, attach the c parameter to the URL as follows:
https://www.hravatar.com/ta/blogs/25/how-to-hire-smart-people?c=my+first+campaign
That's it! Works for Blog Entries, News Entries, and Product Detail pages.
Method 2: Use the Campaign Servlet
With this method, instead of linking directly to a page, you link to the campaign servlet on HR Avatar with the appropriate parameters. The Campaign servlet creates a useraction record (if data is present for a useraction record), performs any other duties (like registering for a email list), then forwards to the correct page. So, the Campaign Servlet acts like an intermediary to record where the person came from and what they are doing, for reporting purposes.
We will add to this as different use cases arise.
Basic Process
1. Determine the 'click' url you want to send someone when they click on a link.
2. Assign a campaign id (string, no spaces, numbers and letters only please). Bill or Shoa - recommend you create a Google Doc to track campaign ids.
3. Determine the URL and parameters you want to embed.
4. Embed.
USE CASES
USE CASE 1: Refer to another page.
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
tgt fully qualified url of the page to link to, URL Encoded if you use GET (URL Encode Strings at http://www.freeformatter.com/url-encoder.html. Note if this is linking from one page on hravatar website to another, you don't need the https://www.hravatar.com part, just start with /ta/... like, /ta/user/freetrial.xhtml )
uat 13
fn First Name (Optional)
ln Last Name (Optional)
em Email (Optional)
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
Example:
https://www.hravatar.com/ta/cpn/?cpid=campaignnumberone&uat=13&tgt=http%3A%2F%2Fwww.freeformatter.com%2Furl-encoder.html
Notes:
This can forward to any page, on our site or not on our site. You can do a lot with this.
If user info is provided, such as through a form, a user record is created (or looked up) and saved, and the recorded user action is saved. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
USE CASE 2: Newsletter Signup
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
int1 Email List Id Number (from Simajob)
uat 11
fn First Name
ln Last Name
em Email
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
tgt Target Page, URL Encoded if you use GET ( URL Encode Strings at http://www.freeformatter.com/url-encoder.html), (Optional, will send to home page if not present). Note that this is optional. If not provided, a default page will be used.
Example, use a form with POST or GET and embed hidden parameters for cpid, int1, and uat. Use form fields for fn, ln, em, and optional parameters. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
USE CASE 3: White Paper Download
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
uat 10
tgt download URL for white paper, URL Encoded if you use GET ( URL Encode Strings at http://www.freeformatter.com/url-encoder.html)
tgt2 Target Page for to show a thank you, URL Encoded if you use GET. If this is not provided the system will use a default page.
str1 The title of the White Paper (URL Encode if you use GET)
int1 Email List Id Number (from Sim Builder, if you want to also register them for an email list)
fn First Name
ln Last Name
em Email
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
Example, use a form with POST or GET and embed hidden parameters for cpid, int1, and uat. Use form fields for fn, ln, em, and optional parameters. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
USE CASE 4: New Account Signup
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
int1 0 or missing means has not agreed to terms and conditions. 1 means has reviewed terms.
uat 17
fn First Name ln Last Name
em Email
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
For the FORM element, set the action to: https://www.hravatar.com/ta/cpn/
Set method to POST (can be GET if you need that). Add hidden tags for uat and cpid.
Example, use a form with POST embed hidden parameters for cpid, and uat. Use form fields for fn, ln, em, and optional parameters. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
In this case, if there is a valid email, firstname, and lastname present, the system will register the user for an HR Avatar account. If company name is not provided, the company name will be "Free Trial: [Lastname]." A Username will be generated from the email by removing everything past the @ sign. A random password will be generated and the user will asked to change password after the first time he logs on.
If insufficient data is present (fn, ln, em) the system will populate all fields and send to the HR Avatar reg form with error message and with the appropriate fields filled in.
USE CASE 5: Link to a new account signup page from a search engine or outside the HR Avatar website (user is not on our website).
This is just a special case of Use Case 1. To go to the Free Trial signup page and retain the campaign id:
URL: https://www.hravatar.com/ta/cpn/?cpid=CAMPAIGNID&uat=13&tgt=https%3A%2F%2Fwww.hravatar.com%2Fta%2Fuser%2Ffreetrial.xhtml
There are several mechanisms built into HR Avatar to help capture and track information about the source of a particular kind of action by a user. All of these ultimately add a UserAction record, described below.
Custom Page Servlet
A custom page is configured on SimBuilder and is set up to allow non-programmers to create basic marketing content on the HR Avatar website.
All of these pages are accessed through the custom page servlet, https://www.hravatar.com/ta/cpg
The custom page servlet (called AdUtils in the code) generates this page on the fly every time someone accesses it. You can create as many Custom Pages as you want.
Whenever a custom page is accessed, it generates a UserAction record (see below).
Note that all the custom page servlet does is create a customized web page when someone clicks the URL.
You can embed any form you want inside a custom page. If you want to embed a new account registration form you can code it yourself (to use the campaign servlet below) or embed an iframe like this: <iframe src="https://www.hravatar.com/ta/misc/custom/regforminsert.xhtml" style="width:600px;height:520px;border:0px;"></iframe>.
Many custom pages will include forms or links that use the campaign servlet to effect an action if the user clicks on the right thing.
Example: To Link to custom page 7 (see it by clicking the link below or modify it on http://sim.hravatar.com) from a search engine, use link:
https://www.hravatar.com/ta/cpg/7/hr-avatar-employment-tests-accurate-easy-to-use-just-40ea-get-a-free-trial
Note that there is no campaign id, the number of the custom page is the unique identifier. It's stored as Custom Page: 7. This would appear in an account registration that came from this page, unless a custom form is used and it goes through the campaign servlet, in which case you can define your own campaign id.
Campaign Servlet
Sometimes you want to create a custom form with full control of the look/feel and/or have it be hosted off of hravatar.com. But when the form (or link) is clicked, you want to trigger a specific action on HR Avatar, or you just want to create a link that causes HR Avatar to take some action. This is where you would use the Campaign Servlet functionality, described below. Basically, you configure a page to send a set of parameters to HR Avatar when the form is submitted and HR Avatar does the rest, or you create a link that has the appropriate parameters.
Whenever the Campaign Servlet is accessed, it generates a UserAction record with the type defined by the parameter uat and the optional campaign id defined by parameter cpid.
Trackable Actions
In some cases, the system automatically tracks actions, such as blog and news views, or product views. If there is a campaign id in these requests (parameter name=c) then that is stored along with the action in a User Action record.
User Actions
UserActions are created by various parts of the system when key actions are taken by a user, such as searching the catalog, viewing a product, viewing a blog or news entry, or signing up for a new account.
In the database there is a table called UserAction. This table is used to record the actions of anonymous and logged on users.
The following User Action Types are captured:
SEARCH_PRODUCTS(1,"Product Search"),
SEARCH_BLOG(2,"Product Blog"),
SEARCH_NEWS(3,"Product News"),
DOWNLOAD_WP(10,"Download White Paper" ),
NEWSLETTER_SIGNUP(11,"Signup for Newsletter" ),
VIEW_PROMOTION(12,"View Promotion" ),
VISIT_WEBPAGE(13,"Visit a Misc Webpage" ),
VIEW_BLOG(14,"View Blog Entry"),
VIEW_NEWS(15,"View News Entry"),
VIEW_PRODUCT(16,"View Product Detail" ),
REGISTER_ACCOUNT(17,"Register for Account" )
The UserAction record captures several key fields:
TypeId: The numeric type from the list above.
IP: The IP Address
Referer: The Page that referred the person to the link that caused a UserAction to be recorded.
Identifier: The specific campaign id, if any, passed within the link.
Viewing User Actions
If you want to capture user actions to track which button, which campaign etc, you can do that now and then look on Simajob.com for the results in the Admin area in the section called User Actions.
Coding User Actions
Links within the HR Avatar website will automatically create UserActions using default values.
When you set up a campaign, you can configure the links and buttons to cause your own UserActions as follows:
Method 1: Linking to Blog entries, News entries, and Product Detail pages:
In some cases, you can embed a campaign id by including the http parameter 'c' in the URL. The value for 'c' must be URL-encoded for it to be valid.
Example:
If you want to link to the page: https://www.hravatar.com/ta/blogs/25/how-to-hire-smart-people with a campaign id of 'my first campaign'
First, url encode my first campaign into: my+first+campaign
Next, attach the c parameter to the URL as follows:
https://www.hravatar.com/ta/blogs/25/how-to-hire-smart-people?c=my+first+campaign
That's it! Works for Blog Entries, News Entries, and Product Detail pages.
Method 2: Use the Campaign Servlet
With this method, instead of linking directly to a page, you link to the campaign servlet on HR Avatar with the appropriate parameters. The Campaign servlet creates a useraction record (if data is present for a useraction record), performs any other duties (like registering for a email list), then forwards to the correct page. So, the Campaign Servlet acts like an intermediary to record where the person came from and what they are doing, for reporting purposes.
We will add to this as different use cases arise.
Basic Process
1. Determine the 'click' url you want to send someone when they click on a link.
2. Assign a campaign id (string, no spaces, numbers and letters only please). Bill or Shoa - recommend you create a Google Doc to track campaign ids.
3. Determine the URL and parameters you want to embed.
4. Embed.
USE CASES
USE CASE 1: Refer to another page.
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
tgt fully qualified url of the page to link to, URL Encoded if you use GET (URL Encode Strings at http://www.freeformatter.com/url-encoder.html. Note if this is linking from one page on hravatar website to another, you don't need the https://www.hravatar.com part, just start with /ta/... like, /ta/user/freetrial.xhtml )
uat 13
fn First Name (Optional)
ln Last Name (Optional)
em Email (Optional)
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
Example:
https://www.hravatar.com/ta/cpn/?cpid=campaignnumberone&uat=13&tgt=http%3A%2F%2Fwww.freeformatter.com%2Furl-encoder.html
Notes:
This can forward to any page, on our site or not on our site. You can do a lot with this.
If user info is provided, such as through a form, a user record is created (or looked up) and saved, and the recorded user action is saved. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
USE CASE 2: Newsletter Signup
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
int1 Email List Id Number (from Simajob)
uat 11
fn First Name
ln Last Name
em Email
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
tgt Target Page, URL Encoded if you use GET ( URL Encode Strings at http://www.freeformatter.com/url-encoder.html), (Optional, will send to home page if not present). Note that this is optional. If not provided, a default page will be used.
Example, use a form with POST or GET and embed hidden parameters for cpid, int1, and uat. Use form fields for fn, ln, em, and optional parameters. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
USE CASE 3: White Paper Download
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
uat 10
tgt download URL for white paper, URL Encoded if you use GET ( URL Encode Strings at http://www.freeformatter.com/url-encoder.html)
tgt2 Target Page for to show a thank you, URL Encoded if you use GET. If this is not provided the system will use a default page.
str1 The title of the White Paper (URL Encode if you use GET)
int1 Email List Id Number (from Sim Builder, if you want to also register them for an email list)
fn First Name
ln Last Name
em Email
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
Example, use a form with POST or GET and embed hidden parameters for cpid, int1, and uat. Use form fields for fn, ln, em, and optional parameters. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
USE CASE 4: New Account Signup
URL: https://www.hravatar.com/ta/cpn/
Parameters:
cpid Campaign ID (string, no spaces, digits and letters only)
int1 0 or missing means has not agreed to terms and conditions. 1 means has reviewed terms.
uat 17
fn First Name ln Last Name
em Email
cn Company Name (Optional)
ttl Title (Optional)
pho Office Phone (Optional)
phm Mobile Phone (Optional)
uref User External Reference Id (Advanced, Optional)
For the FORM element, set the action to: https://www.hravatar.com/ta/cpn/
Set method to POST (can be GET if you need that). Add hidden tags for uat and cpid.
Example, use a form with POST embed hidden parameters for cpid, and uat. Use form fields for fn, ln, em, and optional parameters. Be sure the 'name' attribute of each field is exactly equal to the above. These values ARE CASE SENSITIVE.
In this case, if there is a valid email, firstname, and lastname present, the system will register the user for an HR Avatar account. If company name is not provided, the company name will be "Free Trial: [Lastname]." A Username will be generated from the email by removing everything past the @ sign. A random password will be generated and the user will asked to change password after the first time he logs on.
If insufficient data is present (fn, ln, em) the system will populate all fields and send to the HR Avatar reg form with error message and with the appropriate fields filled in.
USE CASE 5: Link to a new account signup page from a search engine or outside the HR Avatar website (user is not on our website).
This is just a special case of Use Case 1. To go to the Free Trial signup page and retain the campaign id:
URL: https://www.hravatar.com/ta/cpn/?cpid=CAMPAIGNID&uat=13&tgt=https%3A%2F%2Fwww.hravatar.com%2Fta%2Fuser%2Ffreetrial.xhtml
Tuesday, October 14, 2014
Language on the testing system
Information
Each Sim is built from IMOs in a certain language. The language is set in the Sim and IMO records.
The Org Record (Company account on HR Avatar) allows you to set a default test taker language. The default value is "Use Test-Taker Browser"
The Suborg Record (called an 'Organization' on HR Avatar) allows you to set a default test taker language. If set, this overrides the default specified in the Company Record.
When you create a test key, you can assign a test administration language to it (on HR Avatar).
When you create a test key, you can assign a PDFScore Report language to it (on HR Avatar).
On Simajob, when you create a "Report" record, you can specify a language for the Report (Default is use authorizing user language).
On simajob, when you create a "Portal", you can specify a language (Default is use test-taker browser language).
Email Messages TO the test taker (pre-test):
If a test administration language was specified in the Test Key, use that.
Else, if the Suborg has a language specified, use that.
Else, if the Org has a language specified, use that.
Else, use the language of the authorizing user.
Test Administration:
The IMO that is the test is always in a certain language, specified by the Sim record.
If a test administration language was specified in the Test Key, use that.
Else, if the portal the test is being taken in has a language specified, use that.
Else, if the Suborg has a language specified, use that.
Else, if the Org has a language specified, use that.
Else, use the language specified by the user's web browser.
If this language is not supported, uses English.
Email/Text Messages with Text Results:
Uses authorizing user language.
PDF Reports:
If a PDFreport language was specified in the Test Key, use that.
Else, if the Report record (on Simajob) for the report being created, has a language specified, use that.
Else, use the authorizing user language.
Each Sim is built from IMOs in a certain language. The language is set in the Sim and IMO records.
The Org Record (Company account on HR Avatar) allows you to set a default test taker language. The default value is "Use Test-Taker Browser"
The Suborg Record (called an 'Organization' on HR Avatar) allows you to set a default test taker language. If set, this overrides the default specified in the Company Record.
When you create a test key, you can assign a test administration language to it (on HR Avatar).
When you create a test key, you can assign a PDFScore Report language to it (on HR Avatar).
On Simajob, when you create a "Report" record, you can specify a language for the Report (Default is use authorizing user language).
On simajob, when you create a "Portal", you can specify a language (Default is use test-taker browser language).
Email Messages TO the test taker (pre-test):
If a test administration language was specified in the Test Key, use that.
Else, if the Suborg has a language specified, use that.
Else, if the Org has a language specified, use that.
Else, use the language of the authorizing user.
Test Administration:
The IMO that is the test is always in a certain language, specified by the Sim record.
If a test administration language was specified in the Test Key, use that.
Else, if the portal the test is being taken in has a language specified, use that.
Else, if the Suborg has a language specified, use that.
Else, if the Org has a language specified, use that.
Else, use the language specified by the user's web browser.
If this language is not supported, uses English.
Email/Text Messages with Text Results:
Uses authorizing user language.
PDF Reports:
If a PDFreport language was specified in the Test Key, use that.
Else, if the Report record (on Simajob) for the report being created, has a language specified, use that.
Else, use the authorizing user language.
Saturday, May 17, 2014
Essay Scoring - Developers Notes
These notes are meant only for developers:
NOTES FOR USING DISCERN
1. To start Discern on Amazon Linux, always must be ec2-user
2. To start Discern on local linux box, always must be mike (windsurf44)
DJANGO WILL NOT WORK OTHERWISE!!!!!!!!!!!
3. Celery log should be in /tmp/ Be sure to look here.
Changes 5/17/2014
- Added redis-cli flushall command to startup scripts. This will remove any lingering tasks that need to be removed after a reboot.
- Upgraded Celery to latest (pip install --upgrade celery) // Done to address runaway CPU issue (seems to have been caused by website indexing program in the discern implementation that is totally not needed - disabled below)
- Re-installed django-celery (pip install --upgrade django-celery) // Not sure why needed by was.
- Added CELERY_ACCEPT_CONTENT['pickle','json'] to discern/discern/settings.py to remove deprecation error.
- changed discern/discern/settings.py -> DEBUG to False // also requires change to ALLOWED_HOSTS
- added entry '*' to ALLOWED_HOSTS in discern/discern/settings.py
- Changed java programs to remove all non-ascii chars from essays before submitting. Was an issue not sure why. So, if ever expand to other languages, need to deal with this.
- Disabled Celery Task to regenerate index: discern/freeform_data/tasks.py - this is important because the model 'file' is stored at discern/ml_models_api and these files are impossible to index, so having a website indexing program run is a massive CPU sucker.
- Changed task to evaluate whether to re-create models to fire every 30 minutes rather than every minute. discern/settings.py -> TIME_BETWEEN_ML_CREATOR_CHECKS = 30*60
- Changed task to evaluate whether to score essays to 60 seconds. TIME_BETWEEN_ML_GRADER_CHECKS= 60
DISCERN NOTES:
1. create directory like /work
2. install virtualenv if not already installed.
3. virtualenv /work
4. cd /work
5. source bin/activate
6. git clone git://github.com/edx/discern.git
7. cd discern
8. pip install -r pre-requirements.txt
9. pip install -r requirements.txt
10. Install Ease per below
11. chmod 777 -R /work
12. Edit discern/settings.py to change database, turn off debug, etc.
12. python manage.py syncdb --settings=discern.settings --noinput --pythonpath=.
13. python manage.py migrate --settings=discern.settings --noinput --pythonpath=.
14. python manage.py collectstatic -c --noinput --settings=discern.settings --pythonpath=
Next, you need to create a user and an organization. Refer to docs to do this with python.
http://cfmedia.clicflic.com/web/misc/discerndocs/index.html
TO INSTALL EASE
go to /work/discern
git clone git://github.com/edx/ease.git
change to ease directory
python setup.py build
python setup.py install
Note: You must have root privileges (no sudo) to install into a virtualenv
DEVELOPMENT COMPUTER
There are two logons - root and mike.
NOTES FOR USING DISCERN
1. To start Discern on Amazon Linux, always must be ec2-user
2. To start Discern on local linux box, always must be mike (windsurf44)
DJANGO WILL NOT WORK OTHERWISE!!!!!!!!!!!
3. Celery log should be in /tmp/ Be sure to look here.
Changes 5/17/2014
- Added redis-cli flushall command to startup scripts. This will remove any lingering tasks that need to be removed after a reboot.
- Upgraded Celery to latest (pip install --upgrade celery) // Done to address runaway CPU issue (seems to have been caused by website indexing program in the discern implementation that is totally not needed - disabled below)
- Re-installed django-celery (pip install --upgrade django-celery) // Not sure why needed by was.
- Added CELERY_ACCEPT_CONTENT['pickle','json'] to discern/discern/settings.py to remove deprecation error.
- changed discern/discern/settings.py -> DEBUG to False // also requires change to ALLOWED_HOSTS
- added entry '*' to ALLOWED_HOSTS in discern/discern/settings.py
- Changed java programs to remove all non-ascii chars from essays before submitting. Was an issue not sure why. So, if ever expand to other languages, need to deal with this.
- Disabled Celery Task to regenerate index: discern/freeform_data/tasks.py - this is important because the model 'file' is stored at discern/ml_models_api and these files are impossible to index, so having a website indexing program run is a massive CPU sucker.
- Changed task to evaluate whether to re-create models to fire every 30 minutes rather than every minute. discern/settings.py -> TIME_BETWEEN_ML_CREATOR_CHECKS = 30*60
- Changed task to evaluate whether to score essays to 60 seconds. TIME_BETWEEN_ML_GRADER_CHECKS= 60
DISCERN NOTES:
1. create directory like /work
2. install virtualenv if not already installed.
3. virtualenv /work
4. cd /work
5. source bin/activate
6. git clone git://github.com/edx/discern.git
7. cd discern
8. pip install -r pre-requirements.txt
9. pip install -r requirements.txt
10. Install Ease per below
11. chmod 777 -R /work
12. Edit discern/settings.py to change database, turn off debug, etc.
12. python manage.py syncdb --settings=discern.settings --noinput --pythonpath=.
13. python manage.py migrate --settings=discern.settings --noinput --pythonpath=.
14. python manage.py collectstatic -c --noinput --settings=discern.settings --pythonpath=
Next, you need to create a user and an organization. Refer to docs to do this with python.
http://cfmedia.clicflic.com/web/misc/discerndocs/index.html
TO INSTALL EASE
go to /work/discern
git clone git://github.com/edx/ease.git
change to ease directory
python setup.py build
python setup.py install
Note: You must have root privileges (no sudo) to install into a virtualenv
DEVELOPMENT COMPUTER
There are two logons - root and mike.
Monday, March 31, 2014
Known Issues
31 March, 2014 - Chrome on Android cannot download PDF Reports.
Have been unable to determine what is wrong. Can download sample report but not direct reports. This doesn't make sense. Trying to work it.
After making some changes it appears to work, but we should monitor.
31 March, 2014 - Pepper Flash Player hesitates (freezes for 4 - 30 seconds) after clicks.
Chrome comes with it's own Flash player "Pepper Flash" that is maintained by google and not by Adobe. This player has been observed to hesitate occasionally after a click for 4 - 30 seconds. It appears flash has frozen and then it works. In order to avoid this condition, a checkbox is now available in ClicFlic -> IMO -> Main Settings -> Deployment Settings to avoid using the Pepper Flash player if it is present and if HTML5 is available.
Have been unable to determine what is wrong. Can download sample report but not direct reports. This doesn't make sense. Trying to work it.
After making some changes it appears to work, but we should monitor.
31 March, 2014 - Pepper Flash Player hesitates (freezes for 4 - 30 seconds) after clicks.
Chrome comes with it's own Flash player "Pepper Flash" that is maintained by google and not by Adobe. This player has been observed to hesitate occasionally after a click for 4 - 30 seconds. It appears flash has frozen and then it works. In order to avoid this condition, a checkbox is now available in ClicFlic -> IMO -> Main Settings -> Deployment Settings to avoid using the Pepper Flash player if it is present and if HTML5 is available.
Monday, March 24, 2014
Direct Testing (Completely Bypassing a Portal)
Given the browser-driven nature of ClicFlic IMOs, it is sometimes preferable to completely bypass the testing portal when administering an assessment. This enables HR Avatar to administer tests directly on customer's websites, if they want to do it that way. The IMO will still report everything to the testing system and the results will be handled exactly as if a testing portal would be used. But all access is controlled by the customer and there is no pin code or anything.
Velocity Performance uses this approach.
Configuring a SIM for Direct Testing
The IMO is embedded in the customer webpage exactly as if it were a hosted IMO with ClicFlic, except:
Velocity Performance uses this approach.
Configuring a SIM for Direct Testing
The IMO is embedded in the customer webpage exactly as if it were a hosted IMO with ClicFlic, except:
- There is a 'direct test code' parameter added to the IMO parameters. This code is Sim and Org specific, and can be obtained via the SimBuilder website.
- The Sim IMO must collect name/email information and this must be included in the result XML using the name and email field identifiers.
- The customer must include a unique xref value for the test event in the parameters, otherwise there will be no restart capability if the person abandons in the middle and restarts. Without a unique xref value, the system will treat all starts as new starts and the restarting test taker will have to start over.
Products and Product Groups
A Product is anything we deliver or sell on HR Avatar. All Products have a product record.
So, every Sim that is provided through HR Avatar as a test must have a Product record. A package of credits sold to a customer must have a product record.
A Product Group is a set of Products.
The catalog system on HR Avatar uses Product Groups.
For example, there are default Product Groups, whose products are made available to everyone regardless of their organization. There are also Product Groups that are only made available to individuals for specific Organizations.
So, if we create a Sim we want to sell to everyone, be create a Product and we add that product to the HR Avatar public Product Group. If we create a sim that is only to be made available to one customer, we create a Product and we create a new Product Group containing that Product. Then we associate the new Product Group with the Org of the customer who will use it.
So, every Sim that is provided through HR Avatar as a test must have a Product record. A package of credits sold to a customer must have a product record.
A Product Group is a set of Products.
The catalog system on HR Avatar uses Product Groups.
For example, there are default Product Groups, whose products are made available to everyone regardless of their organization. There are also Product Groups that are only made available to individuals for specific Organizations.
So, if we create a Sim we want to sell to everyone, be create a Product and we add that product to the HR Avatar public Product Group. If we create a sim that is only to be made available to one customer, we create a Product and we create a new Product Group containing that Product. Then we associate the new Product Group with the Org of the customer who will use it.
Organizations, Suborganizations, Users, and Roles
A User is ANY individual who either performs an activity on any site, such as take a test, log on to a corporate account, etc.
All Users must belong to one Org.
An Org can any (or none) number of Suborgs.
A User can be associated with zero or one Suborg.
Users can be either "Named" or "Anonymous" - though we don't know the name of an anonymous user, they can still exist on the system as a test-taker.
Users, Orgs, and Suborgs can all set various defaults that are only overridden by the object below it in specificity. So, User overrides Suborg and Suborg overrides Org. These defaults include such items as where to email or text test results.
All users are assigned a role that determines there access. These roles are:
A Personal User - belongs to the default personal account org and has his/her own personal account on HR Avatar (this functionality is not currently used).
A Portal User is a test taker who accesses a logon testing portal and therefore needs a logon id and password, which will work only for the logon portal.
Account Level 1 Users can view results only. They cannot initiate tests.
Account Level 2 Users can view results only and initiate tests.
Account Level 3 Users can also manage the 'Role' of all account users and create new account users.
Duplicates
Note that the system tries to associate users by their email address WITHIN A SINGLE ORGANIZATION ONLY. So, if the same person takes a test with three different organizations, they will have three different User records on our system, one for each Org.
All Users must belong to one Org.
An Org can any (or none) number of Suborgs.
A User can be associated with zero or one Suborg.
Users can be either "Named" or "Anonymous" - though we don't know the name of an anonymous user, they can still exist on the system as a test-taker.
Users, Orgs, and Suborgs can all set various defaults that are only overridden by the object below it in specificity. So, User overrides Suborg and Suborg overrides Org. These defaults include such items as where to email or text test results.
All users are assigned a role that determines there access. These roles are:
- No Logon
- Personal Logon Only
- Logon Portal User
- Account User Level 1
- Account User Level 2
- Account User Level 3
- Overall System Administrator
A Personal User - belongs to the default personal account org and has his/her own personal account on HR Avatar (this functionality is not currently used).
A Portal User is a test taker who accesses a logon testing portal and therefore needs a logon id and password, which will work only for the logon portal.
Account Level 1 Users can view results only. They cannot initiate tests.
Account Level 2 Users can view results only and initiate tests.
Account Level 3 Users can also manage the 'Role' of all account users and create new account users.
Duplicates
Note that the system tries to associate users by their email address WITHIN A SINGLE ORGANIZATION ONLY. So, if the same person takes a test with three different organizations, they will have three different User records on our system, one for each Org.
Testing Portal Basics
There are two different kinds of testing portals available on HR Avatar's testing system.
These are:
LOGON Portals can be set to allow or disallow re-entry into completed tests.
All portals are configured in the administration section of SimBuilder, under portals. You can set various parameters and customize the look/feel of a portal to virtually any look you need. You can also customize the way the portal functions. For instance, you can control whether the portal collects name/email info, collects standard US demographic data, presents a customizable release to the test taker, and provides any other instructions. You can customize what happens after the test(s) are completed.
Each portal is associated with an organization, and can be made the default testing portal for that organization.
These are:
- PIN Portals, which require an Access Key with PIN that determines what test (sim) or tests (for a battery) to administer.
- LOGON Portals, which require a user to log on and which administer a single battery of tests to the logged on user.
LOGON Portals can be set to allow or disallow re-entry into completed tests.
All portals are configured in the administration section of SimBuilder, under portals. You can set various parameters and customize the look/feel of a portal to virtually any look you need. You can also customize the way the portal functions. For instance, you can control whether the portal collects name/email info, collects standard US demographic data, presents a customizable release to the test taker, and provides any other instructions. You can customize what happens after the test(s) are completed.
Each portal is associated with an organization, and can be made the default testing portal for that organization.
Understanding the HR Avatar Applications
Several web applications make up the HR Avatar Suite. These are:
ClicFlic Sites - these are web apps that have their own website login:
There are two databases - ClicFlic (called seenthat2) and HR Avatar (called TM2). The are totally independent. The only webapp that accesses both of them is SimBuilder.
ClicFlic uses its own database and user management system, while the other sites all share a common database. So a user can have a logon to ClicFlic but that same logon will not work on the other sites unless a copy of the that user account is created on the HR Avatar database.
All applications have a special administrator page with various functions and information available via http://SITE DOMAIN/tools/admin/admintools.xhtml To access these pages you need to have an overall system administrator logon.
ClicFlic Sites - these are web apps that have their own website login:
- ClicFlic (http://www.clicflic.com) - this is the IMO authoring system. The complete purpose of ClicFlic is to create one IMO.
- ClicFlic Utilities: (http://www.clicflic.com/stutil) - performs various maintenance and troubleshooting activities for ClicFlic.
- STEJBALL - performs deployments, compiles IMOs, manages media conversion, emailing. Accessed exclusively through web services.
- STWS - Performs file transfers and media conversions. Accessed exclusively through web services.
- HR Avatar (https://www.hravatar.com) - Main HR Avatar marketing and selling, and customer accounts portal.
- SimBuilder (http://www.simajob.com) - this is the main administration site for HR Avatar. The site is used to:
- Define and build Sims and all their related objects.
- Maintain the image libraries
- Create administer testing portals
- Manage all users
- Create and administer test batteries
- Create and manage organizations and sub-organizations
- Create and manage product groups
- Create and manage all products
- Perform item and test analysis tasks
- Auto-generate CT3 Sims
- Perform various test cleanup tasks, such as archiving - Test Engine (http://test.hravatar.com) - Administers all tests
- Scoring Engine (http://ts.hravatar.com) - Performs all scoring, report generation, and results distribution. Each of these functions is performed independently.
There are two databases - ClicFlic (called seenthat2) and HR Avatar (called TM2). The are totally independent. The only webapp that accesses both of them is SimBuilder.
ClicFlic uses its own database and user management system, while the other sites all share a common database. So a user can have a logon to ClicFlic but that same logon will not work on the other sites unless a copy of the that user account is created on the HR Avatar database.
All applications have a special administrator page with various functions and information available via http://SITE DOMAIN/tools/admin/admintools.xhtml To access these pages you need to have an overall system administrator logon.
Welcome! System Administrators, not customers
This blog is intended to provide a searchable repository of notes regarding how to accomplish various tasks within the HR Avatar suite of software applications.
Note that this is NOT for CUSTOMERS. This is for individuals with overall system administrator access only. The blog hravatarcorpusers.blogspot.com will be used for updates and information for corporate users.
Note that this is NOT for CUSTOMERS. This is for individuals with overall system administrator access only. The blog hravatarcorpusers.blogspot.com will be used for updates and information for corporate users.
Subscribe to:
Posts (Atom)