Creating KNL-1011 branch for performance work

git-svn-id: https://source.sakaiproject.org/svn/kernel/branches/KNL-1011@118298 66ffb92e-73f9-0310-93c1-f5514f145a0a
KNL-1011 - Improve performance of SiteService and Portal

This is the parent change for all of the solutions proposed on KNL-1011.

Specifically, the following are implemented (not all in this commit):

 * Leave SiteService.getSites behavior unchanged for existing calls
   (except potentially faster because of caching) 
 * Add a SiteService.getSites signature to retrieve records without
   processing descriptions 
 * Implement a four-stage approach in SiteService.getSites: get IDs,
   check cache for each; query by ID for only those uncached, cache new 
 * For sites loaded without descriptions, lazily load descriptions on
   loadAll and getSite (which retrieves all pages, etc. and caches a
   single site fully) 
 * Add a new SiteService method, getUserSites that caches the complete
   list of sites for a user 
 * Call getUserSites from SiteNeighbourhoodServiceImpl.getAllSites to
   take advantage of cache 
 * Call getUserSites from MergedList in site/mergedlist-util (used for
   announcements, etc.) 
 * Add new methods to Site, getHtmlShortDescription and
   getHtmlDescription to escape and retain them internally 
 * Call the new HTML-safe description getters from PortalSiteHelperImpl
   instead of Web.escapeHtml on the plaintext descriptions 

Note that some of the above are implemented in commits against other
modules. These should all be combined and committed to trunk in a single
revision with the above details when the time is right (by using a
sparse working copy).



git-svn-id: https://source.sakaiproject.org/svn/kernel/branches/KNL-1011@118304 66ffb92e-73f9-0310-93c1-f5514f145a0a
KNL-1011 - Invalidate current user's site cache on unjoin

git-svn-id: https://source.sakaiproject.org/svn/kernel/branches/KNL-1011@118310 66ffb92e-73f9-0310-93c1-f5514f145a0a
KNL-1011 - Allow control of lazy loading in Site copying and caching

 * Add collection getters to BaseSite that can avoid fetching
 * Call the lazy getters for copy construction (in set())
 * Call the lazy getters from SiteCacheImpl when making copies
   for cache put notification



git-svn-id: https://source.sakaiproject.org/svn/kernel/branches/KNL-1011@118313 66ffb92e-73f9-0310-93c1-f5514f145a0a
KNL-1011 - Clean up bad whitespace in original patch

git-svn-id: https://source.sakaiproject.org/svn/kernel/branches/KNL-1011@119098 66ffb92e-73f9-0310-93c1-f5514f145a0a
KNL-1011 - Improve performance of SiteService and Portal

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@120411 66ffb92e-73f9-0310-93c1-f5514f145a0a