LDEV-3599: Load the really needed objects instead of using Hibernate to derive them from parent objects. Use SQL for counting instead of fetching full collection in Hibernate and checking its size.Prepare for paging: add offset parameter to queries.
LDEV-3599: Load only first few learners for each activity and lesson completed. Count learners for each activity, including hidden children of Branching in Flash format. Fetch full learner list on demand.Remove unnecessary methods.
LDEV-3578: Convert passwords from sha1 to sha256 with salt after successful authentication and on password change.Remove password hashing in browser.Change internal authentication mechanism for LoginRequestServlet and LoginAsAction.
LDEV-3591: Flatten UniversalLoginModule hierarchy - it was just a single leaf anyway.Format code. Clean up logs, errors and comments.Move queries from config files to code.
LDEV-3561: Initial implemntation of re-setting read-only flag of Activities on force uncomplete.Each Tools' service has a method to report whether there is significant users' content left it the Activity. If so, it reports the Activity as read-only. Otherwise the flag can be re-set.Grouping, Gate and Complex activities also have their way of checking their immutability.
LDEV-3523: When returning a JSON list of learning designs set design type to "default" if no type exists. Also search on default for designs without a type.
LDEV-3523: When returning a JSON list of learning designs set design type to "default" if no type exists. Also search on default for designs without a type.