Index: site/site-impl/impl/src/java/org/sakaiproject/site/impl/BaseSite.java =================================================================== --- site/site-impl/impl/src/java/org/sakaiproject/site/impl/BaseSite.java (revision 46032) +++ site/site-impl/impl/src/java/org/sakaiproject/site/impl/BaseSite.java (working copy) @@ -892,6 +892,7 @@ */ public void loadAll() { + // Everything is here must check that it isn't already loaded as we get called just before a save. // first, pages getPages(); Index: site/site-impl/impl/src/java/org/sakaiproject/site/impl/DbSiteService.java =================================================================== --- site/site-impl/impl/src/java/org/sakaiproject/site/impl/DbSiteService.java (revision 46032) +++ site/site-impl/impl/src/java/org/sakaiproject/site/impl/DbSiteService.java (working copy) @@ -272,6 +272,7 @@ // write the pages, tools, properties, // and then commit the site and release the lock + edit.loadAll(); // delete the pages, tools, page properties, tool properties Object fields[] = new Object[1]; @@ -1601,8 +1602,11 @@ public void readAllSiteProperties(Site site) { // read and un-lazy the site properties - readSiteProperties(site, ((BaseSite) site).m_properties); - ((BaseResourcePropertiesEdit) ((BaseSite) site).m_properties).setLazy(false); + if (((BaseResourcePropertiesEdit) ((BaseSite) site).m_properties).isLazy()) + { + readSiteProperties(site, ((BaseSite) site).m_properties); + ((BaseResourcePropertiesEdit) ((BaseSite) site).m_properties).setLazy(false); + } // read and unlazy the page properties for the entire site readSitePageProperties((BaseSite) site); @@ -1659,9 +1663,10 @@ // get the page BaseSitePage page = (BaseSitePage) site.getPage(pageId); - if (page != null) + if (page != null && ((BaseResourcePropertiesEdit) page.m_properties).isLazy()) { page.m_properties.addProperty(name, value); + } // nothing to return @@ -1702,7 +1707,7 @@ // get the page BaseToolConfiguration tool = (BaseToolConfiguration) site.getTool(toolId); - if (tool != null) + if (tool != null && tool.m_configLazy) { tool.getMyConfig().setProperty(name, value); } @@ -1745,7 +1750,7 @@ // get the group BaseGroup group = (BaseGroup) site.getGroup(groupId); - if (group != null) + if (group != null && ((BaseResourcePropertiesEdit)group.m_properties).isLazy()) { group.m_properties.addProperty(name, value); }