Index: lams_build/conf/unix/lams/lams.xml
===================================================================
diff -u -r2835d73355dc2dae51130694d52cc31a299eeda1 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_build/conf/unix/lams/lams.xml (.../lams.xml) (revision 2835d73355dc2dae51130694d52cc31a299eeda1)
+++ lams_build/conf/unix/lams/lams.xml (.../lams.xml) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -34,12 +34,7 @@
1.1
en_AU
LTR
-
-
- en_AU
- 2006-01-02
-
-
+ 2006-01-02
shaun.melcoe.mq.edu.au
conference.shaun.melcoe.mq.edu.au
admin
Index: lams_build/conf/windows/lams/lams.xml
===================================================================
diff -u -r2835d73355dc2dae51130694d52cc31a299eeda1 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_build/conf/windows/lams/lams.xml (.../lams.xml) (revision 2835d73355dc2dae51130694d52cc31a299eeda1)
+++ lams_build/conf/windows/lams/lams.xml (.../lams.xml) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -34,12 +34,7 @@
2.0.@datetimestamp@
en_AU
LTR
-
-
- en_AU
- 2006-01-02
-
-
+ 2006-01-02
shaun.melcoe.mq.edu.au
conference.shaun.melcoe.mq.edu.au
admin
Index: lams_central/src/flash/main.as
===================================================================
diff -u -rfd9dfc4534dc33a019435e2c05ddd462a722ed2c -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_central/src/flash/main.as (.../main.as) (revision fd9dfc4534dc33a019435e2c05ddd462a722ed2c)
+++ lams_central/src/flash/main.as (.../main.as) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -39,6 +39,10 @@
Debugger.log('Unique ID is not defined.',Debugger.CRITICAL,'main','ROOT');
}
+if(StringUtils.isEmpty(langDate)){
+ _root.langDate = "01-01-1970";
+}
+
//Set stage alignment to top left and prent scaling
Stage.align = "TL";
Stage.scaleMode = "noScale";
Index: lams_central/src/flash/main2.as
===================================================================
diff -u -rf9fa25ee04db9294e7f4fcfd6a65f379ba6d81f7 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_central/src/flash/main2.as (.../main2.as) (revision f9fa25ee04db9294e7f4fcfd6a65f379ba6d81f7)
+++ lams_central/src/flash/main2.as (.../main2.as) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -31,6 +31,10 @@
Debugger.log('Unique ID is not defined.',Debugger.CRITICAL,'main','ROOT');
}
+if(StringUtils.isEmpty(langDate)){
+ _root.langDate = "01-01-1970";
+}
+
//Set stage alignment to top left and prent scaling
Stage.align = "TL";
Stage.scaleMode = "noScale";
Index: lams_central/src/flash/main_addseq.as
===================================================================
diff -u -r0d9af2041ba016d633ef4d7b19c18eef6771b039 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_central/src/flash/main_addseq.as (.../main_addseq.as) (revision 0d9af2041ba016d633ef4d7b19c18eef6771b039)
+++ lams_central/src/flash/main_addseq.as (.../main_addseq.as) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -36,6 +36,10 @@
Debugger.log('Build is not defined, using defualt:'+_root.build,Debugger.CRITICAL,'main','ROOT');
}
+if(StringUtils.isEmpty(langDate)){
+ _root.langDate = "01-01-1970";
+}
+
//Set stage alignment to top left and prent scaling
Stage.align = "TL";
Stage.scaleMode = "noScale";
Index: lams_central/src/flash/main_monitoring.as
===================================================================
diff -u -r50cba762742a8fb65e95fd24299b6f4395887689 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_central/src/flash/main_monitoring.as (.../main_monitoring.as) (revision 50cba762742a8fb65e95fd24299b6f4395887689)
+++ lams_central/src/flash/main_monitoring.as (.../main_monitoring.as) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -23,6 +23,11 @@
_root.lessonID = 1;
Debugger.log('LessonID is not defined, using defualt:'+_root.lessonID,Debugger.CRITICAL,'main','ROOT');
}
+
+if(StringUtils.isEmpty(langDate)){
+ _root.langDate = "01-01-1970";
+}
+
_root.monitoringURL = "monitoring/monitoring.do?method="
//Set stage alignment to top left and prent scaling
Index: lams_central/web/author.jsp
===================================================================
diff -u -r5e3a1e5f73e433076f00eb9b0a489c54430b5672 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_central/web/author.jsp (.../author.jsp) (revision 5e3a1e5f73e433076f00eb9b0a489c54430b5672)
+++ lams_central/web/author.jsp (.../author.jsp) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -19,7 +19,7 @@
String authoringClientVersion = Configuration.get(ConfigurationKeys.AUTHORING_CLIENT_VERSION);
String serverLanguage = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
-String languageDate = Configuration.getDictionaryDateForLanguage(serverLanguage);
+String languageDate = Configuration.get(ConfigurationKeys.DICTIONARY_DATE_CREATED);
%>
@@ -232,7 +232,7 @@
-?loadFile=lams_authoring.swf&loadLibrary=lams_authoring_library.swf&userID=&serverURL=<%=pathToRoot%>&build=<%=authoringClientVersion%>&lang=&country=&theme=&uniqueID=
+?loadFile=lams_authoring.swf&loadLibrary=lams_authoring_library.swf&userID=&serverURL=<%=pathToRoot%>&build=<%=authoringClientVersion%>&lang=&country=&langDate=<%=languageDate%>&theme=&uniqueID=
lams_preloader.swf
lams_preloader
Index: lams_common/src/flash/org/lamsfoundation/lams/common/Config.as
===================================================================
diff -u -r735adeb5d2ea7849b86d4991480630c4613fadec -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_common/src/flash/org/lamsfoundation/lams/common/Config.as (.../Config.as) (revision 735adeb5d2ea7849b86d4991480630c4613fadec)
+++ lams_common/src/flash/org/lamsfoundation/lams/common/Config.as (.../Config.as) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -44,7 +44,7 @@
public static var MESSAGE_TYPE_ERROR:Number = 1;
public static var MESSAGE_TYPE_CRITICAL:Number = 2;
public static var MESSAGE_TYPE_OK:Number = 3;
- public static var USE_CACHE:Boolean = false; //FLAG TO TELL DICT AND (todo:add to themes) Theme if thay can use the cached data.
+ public static var USE_CACHE:Boolean = true; //FLAG TO TELL DICT AND (todo:add to themes) Theme if thay can use the cached data.
//nulls
public static var STRING_NULL_VALUE:String = "string_null_value";
Index: lams_common/src/flash/org/lamsfoundation/lams/common/dict/Dictionary.as
===================================================================
diff -u -r735adeb5d2ea7849b86d4991480630c4613fadec -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_common/src/flash/org/lamsfoundation/lams/common/dict/Dictionary.as (.../Dictionary.as) (revision 735adeb5d2ea7849b86d4991480630c4613fadec)
+++ lams_common/src/flash/org/lamsfoundation/lams/common/dict/Dictionary.as (.../Dictionary.as) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -37,6 +37,7 @@
private var items:Hashtable;
private var _currentLanguage:String;
+ private var _currentDate:Object;
private var _module:String;
private var comms:Communication;
private var app:ApplicationParent;
@@ -79,11 +80,27 @@
//TODO DI 19/05/05 Check cookie and if not present load from server
//Set Language
this._currentLanguage = language;
+ this._currentDate = _root.langDate;
+
+ var _oldDate:Object = null;
+
//Cookie or server?
Debugger.log('Config.DOUBLE_CLICK_DELAY:'+Config.DOUBLE_CLICK_DELAY,Debugger.GEN,'load','org.lamsfoundation.lams.dict.Dictionary');
Debugger.log('Config.USE_CACHE:'+Config.USE_CACHE,Debugger.GEN,'load','org.lamsfoundation.lams.dict.Dictionary');
- if(CookieMonster.cookieExists('dictionary.'+language) && Config.USE_CACHE) {
- openFromDisk();
+ if(CookieMonster.cookieExists('dictionary.date')){
+ _oldDate = CookieMonster.open('dictionary.date', true);
+ }
+
+ Debugger.log('Existing date:'+String(_oldDate) + ' Current date:' + String(_currentDate),Debugger.GEN,'load','org.lamsfoundation.lams.dict.Dictionary');
+
+ if(CookieMonster.cookieExists('dictionary.'+language) && Config.USE_CACHE && _oldDate != null) {
+
+ if(this._currentDate != _oldDate){
+ openFromServer();
+ } else {
+ openFromDisk();
+ }
+
}else {
openFromServer();
}
@@ -190,13 +207,21 @@
//Convert to data object and then serialize before saving to a cookie
var dataObj = toData();
CookieMonster.save(dataObj,'dictionary.' + _currentLanguage,true);
+ var success = CookieMonster.save(_root.langDate, 'dictionary.date', true);
+
+ if (!success) {
+ //TODO DI 30/05/05 raise error if config data can't be saved
+ Debugger.log('Config item could not be saved: ' + _root.langDate ,Debugger.CRITICAL,'saveToDisk','Dictionary');
+ }
}
/**
* Open the Dictionary from disk
*/
public function openFromDisk():Void{
- var dataObj:Object = CookieMonster.open('dictionary.' + _currentLanguage,true);
+ Debugger.log('opening Dictionary from Shared Object',Debugger.CRITICAL,'openFromDisk','Dictionary');
+
+ var dataObj:Object = CookieMonster.open('dictionary.' + _currentLanguage,true);
createFromData(dataObj);
}
Index: lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java (.../Configuration.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/util/Configuration.java (.../Configuration.java) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -65,22 +65,16 @@
}
/**
- * Retrieves the date in which the specified dictionary was created.
+ * Retrieves the date in which the specified dictionary was created/updated.
* If the dictionary isnt found, null is returned.
- * @param language
* @return
*/
- public static String getDictionaryDateForLanguage(String dictionary)
+ public static String getDictionaryDateForLanguage()
{
- if ((items != null)&&(items.get(ConfigurationKeys.DICTIONARY_DATES)!=null))
- {
- Map map = (Map)items.get(ConfigurationKeys.DICTIONARY_DATES);
- if (map!=null && map.get(dictionary) != null)
- {
- return (String)map.get(dictionary);
- }
- }
- return null;
+ if ((items != null)&&(items.get(ConfigurationKeys.DICTIONARY_DATE_CREATED)!=null))
+ return (String)items.get(ConfigurationKeys.DICTIONARY_DATE_CREATED);
+ else
+ return null;
}
}
Index: lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java
===================================================================
diff -u -r5e3a1e5f73e433076f00eb9b0a489c54430b5672 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java (.../ConfigurationKeys.java) (revision 5e3a1e5f73e433076f00eb9b0a489c54430b5672)
+++ lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java (.../ConfigurationKeys.java) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -112,14 +112,18 @@
/** Direction (left to right, right to left) for writing on HTML pages. Originally LTR */
public static String SERVER_PAGE_DIRECTION = "ServerPageDirection";
- public static String DICTIONARY_DATES = "DictionaryDates";
+ /** universal date of dictionary updates */
+ public static String DICTIONARY_DATE_CREATED = "DictionaryDateCreated";
+ /** deprecated */
public static String DICTIONARY = "Dictionary";
-
+
+ /** deprecated */
public static String DICTIONARY_CREATE_DATE = "createDate";
-
+
+ /** deprecated */
public static String DICTIONARY_LANGUAGE = "language";
-
+
public static String XMPP_DOMAIN = "XmppDomain";
public static String XMPP_CONFERENCE = "XmppConference";
Index: lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationLoader.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r03edc31fa89b65b81c3b533b4cdfb16253a8c0bb
--- lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationLoader.java (.../ConfigurationLoader.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationLoader.java (.../ConfigurationLoader.java) (revision 03edc31fa89b65b81c3b533b4cdfb16253a8c0bb)
@@ -110,17 +110,8 @@
if(node.getNodeType()== Node.ELEMENT_NODE){
Element ele = (Element)node;
-
- // DictionaryDates have a more complex structure than the rest of the configuration file.
- if (ele.getNodeName().equals(ConfigurationKeys.DICTIONARY_DATES))
- {
- loadDictionaryDates(ele, items);
- }
- else
- {
- if(ele.getLastChild()!=null){
+ if(ele.getLastChild()!=null){
items.put(ele.getNodeName(),ele.getLastChild().getNodeValue());
- }
}
}
}
@@ -150,6 +141,7 @@
*
* @param ele
* @param items The main hashmap where the elements are stored.
+ * @deprecated
*/
private static void loadDictionaryDates(Element ele, Map items)
{
@@ -173,6 +165,7 @@
* key->value pair.
* @param dictionary
* @param dictionaryItems The separate hashMap in which to store the different dictionary and the date it was created.
+ * @deprecated
*/
private static void storeDictionaryDetailsInMap(Element dictionary, HashMap dictionaryItems)
{