Age | Commit message (Collapse) | Author |
|
Adding a new interface, F1API for F1 APIs which require a valid access
token. This is now used by AssessmentResultsPage to assign an attribute
each time someone completes the assessment.
Also adding an AttributeTool to list all attributes and assign
attributes to users.
|
|
F1Access will provide a collection of F1 API methods, rather than
placing all of those methods in F1User as I was originally planning.
|
|
Parts of addAttribute have been implemented in F1User, but I may move it
out into a general F1 API class.
|
|
The query param 'next' allows you specify which chapter to goto next.
This is being added to allow proofing specific chapter complete messages
even if all of the chapters have been completed.
|
|
Also added the Leader page to the normal Chapter list.
|
|
|
|
|
|
Also moved the Playlist related tests to their own class.
|
|
The page header now displays the domain label if the domain is not prod.
This is useful for quickly identifying if you are modifying prod data.
|
|
|
|
|
|
|
|
|
|
serverprod starts the frontend locally but points it to the prod
dynamodb.
The import tool loads data into dynamodb. Each record has a hash key and
one or more attribute/value pairs. Records are separated by an empty
line. The first line of the record is the hash key. Each subsequent line
is an attribute key, followed by a space, followed by the value.
|
|
|
|
|
|
AccountRedirectResource was expecting the user to have a UserRecord, but
new users did not have one. This caused JsonRequestProvider to throw an
IOException and AccountRedirectResource to return 500.
JsonRequestProvider now throws a NotFoundException on 404 and
AccountRedirectResource properly handles it.
|
|
While trying to fix this issue, I also moved FMFacade into this package
and fixed a couple bugs that snuck into the last commit.
|
|
* Fixing thread ordering.
* Adding a limit of 5 threads per topic.
* Changing frontend /account references to UserRecord.
|
|
|
|
|
|
* Adding an Author indicator on the feed.
* Adding showfeed cookie to enable/disable feed demo.
* Hiding the feed on the introduction chapter.
* Adding whitespace compression to all pages.
|
|
Other Changes:
* JsonEncodedProvider no longer implements Provider.
* Only the first answer is shown. Others slide down.
* Switch going deeper and the feed.
|
|
Changed MessageThread so that a thread always contains one original
message.
Added support in JsonEncodedProvider for JavaTypes in addition to
classes.
Updated communityfeed.ftl to actually display questions and answers.
|
|
|
|
Previously sliders were scored as a value between 1 and 4 based on the
percentage across the screen that the slider was slid. This required you
to slide fully to the right to get a 4.
Now the slider is divided into n sections, where n is the number of answers
on the slider. With 4 answers the score will be exactly 1, 2, 3, or 4.
With more answers you may get a decimals, but the last section of the
slider will always result in a 4.
|
|
|
|
|
|
|
|
|
|
After refactoring users were required to watch all videos regardless of
their assessment score.
Also enabling strict video ordering and adding the option magicskip to
watch out of order.
|
|
|
|
Video numbers may now be decimals (i.e. 5.1, 5.2). If the number is 0 it
is not displayed on the website.
Updating the videos-from-csv.py script to distinguish between user
facing video numbers and video ids.
Also updating urls for many videos.
|
|
|
|
|
|
|
|
|
|
Also made the Outline links more noticeable.
|
|
Playlists are now generated from a default playlist and regularly
merged with the default playlist to get updates.
Also adding the Question tests that got left out of a previous commit.
|
|
Question and Answer can now be serialized and deserialized to/from JSON.
As such, I no longer have to pass awkward maps around. As part of this
change I have introduced a Provider interface to abstract out loading
and persisting these beans.
The scoring logic has been completed factored out of
SurveyResultsResource and into the various ScoringEngines. Tests have
been added for Question, Answer, and the ScoringEngines. A bug has been
fixed in computing the value for slider questions.
The label identifiers in the circle questions have changed from all
lower case to camel case. That is, topleft is now topLeft. Several
issues have been corrected in the circle answers where the point values
did not match the labels.
Testing and code coverage support and reports have been added.
|
|
|
|
|
|
|
|
Finally fixing config overrides. Found a bug? in restlet where the
Servlet context parameters aren't passed to the final application. I'm
working around the issue by creating my own component which builds the
config and shares it with the frontend and backend. Overall I think it's
a much more elegant solution.
Now we have the ability to specify an external config file for the F1
credentials and the ability configure different domains in different
tomcat containers.
|
|
|
|
For this fix I am moving Question and Answer from the backend into a new
model package. Question is now used in SurveyPageResource instead of the
Map. Eventually I should encode/decode the model from the json directly.
I am adding support to the Question model to find the next question
based on the answer to the current question. If the answer has a
specific nextQuestion field, that is used. Otherwise the question's
nextQuestion field is used. This is to facilitate skipping irrelevant
questions.
|
|
|
|
Introduction chapter is always required and thus after the assessment
the user is taken directly to the introduction. After the introduction
training continues with whichever section the user assessed in to.
|
|
|
|
/account redirects to either the assessment or the training page, as
appropriate.
This change adds the /accounts/UID backend resource, which simply stores
an arbitrary json document for now.
|