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) {