From eb36fef57aeca5150efe297fd957eec5bd594a19 Mon Sep 17 00:00:00 2001 From: Mike Hatfield Date: Mon, 5 Nov 2007 15:19:34 +0000 Subject: [PATCH] Updates to Presence client-side components git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7294 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/presence/status.get.html.ftl | 112 +++++++++++++++--- .../org/alfresco/presence/status.get.js | 29 ++++- source/web/images/icons/presence_offline.gif | Bin 372 -> 0 bytes source/web/images/icons/presence_online.gif | Bin 591 -> 0 bytes .../images/icons/presence_skype_offline.png | Bin 0 -> 3405 bytes .../images/icons/presence_skype_online.png | Bin 0 -> 697 bytes .../web/images/icons/presence_status_none.png | Bin 0 -> 536 bytes .../images/icons/presence_status_unknown.png | Bin 0 -> 552 bytes source/web/images/icons/presence_unknown.gif | Bin 389 -> 0 bytes .../images/icons/presence_yahoo_offline.png | Bin 0 -> 3563 bytes .../images/icons/presence_yahoo_online.png | Bin 0 -> 950 bytes source/web/scripts/ajax/presence.js | 38 +++++- 12 files changed, 153 insertions(+), 26 deletions(-) delete mode 100644 source/web/images/icons/presence_offline.gif delete mode 100644 source/web/images/icons/presence_online.gif create mode 100644 source/web/images/icons/presence_skype_offline.png create mode 100644 source/web/images/icons/presence_skype_online.png create mode 100644 source/web/images/icons/presence_status_none.png create mode 100644 source/web/images/icons/presence_status_unknown.png delete mode 100644 source/web/images/icons/presence_unknown.gif create mode 100644 source/web/images/icons/presence_yahoo_offline.png create mode 100644 source/web/images/icons/presence_yahoo_online.png diff --git a/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.html.ftl index dda7864173..847f58cb88 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.html.ftl @@ -1,20 +1,54 @@ -
Invited Users Presence Status
-
- online=online
- offline=offline
- unknown=unknown +
Colleague Status
+
+
Presence Status Key:
+
+ online=Skype online
+ online=Yahoo online
+ offline=not configured +
+
+ online=offline
+ offline=offline
+ online=unknown +
<#list presenceResults as pr>
-
-
${pr[0]}
+
+
${pr[1]}
+
+
Documents created or modified in the last week
+
+ + + + + + + + <#assign rowNum=0> + <#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"] as child> + <#if (dateCompare(child.properties["cm:modified"], date, 1000*60*60*24*7) == 1) || (dateCompare(child.properties["cm:created"], date, 1000*60*60*24*7) == 1)> + <#assign rowNum = rowNum + 1> + + + + + + + + +
NameCreated DateModified Date
${child.properties.name}${child.properties["cm:created"]?datetime}${child.properties["cm:modified"]?datetime}
+
+
+ diff --git a/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.js b/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.js index 91c94205ed..dbf1f4a352 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/presence/status.get.js @@ -1,11 +1,26 @@ +var results = new Array(); main(); function main() { var nodeRef = args["nodeRef"]; var space = search.findNode(nodeRef); + model.space = space; + + parsePermissions(space); + + while ((space.inheritsPermissions) && (space.parent != null)) + { + space = space.parent; + parsePermissions(space); + } + + model.presenceResults = results; +} + +function parsePermissions(space) +{ var tokens, user, group; - var results = new Array(); for each(perm in space.permissions) { @@ -33,21 +48,23 @@ function main() } } } - - model.space = space; - model.presenceResults = results; } function pushUnique(results, user, details) { + var provider = String(details).split("|")[0]; + if (provider == "") + { + provider = "none"; + } var fullName = user.properties["firstName"] + " " + user.properties["lastName"]; for (i=0; i < results.length; i++) { - if (results[i][0] == fullName) + if (results[i][1] == fullName) { return; } } - results.push(new Array(fullName, details)); + results.push(new Array(provider, fullName, details)); } diff --git a/source/web/images/icons/presence_offline.gif b/source/web/images/icons/presence_offline.gif deleted file mode 100644 index 7c6d45be6704ab05d4abc693f0a67bddc64d9da0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmZ?wbhEHb6krfwxN63*ef##qhYue)a^%vbOZ)flzkU1mv17+}?AWns)23(7o~>KA zZtvc`Cr_R{d-m+MZQE|$y7l0}gHxwYoj!f~#*G_Wwrsg_<;w2eyAK{bc;LW+3l}cD zfB*jf|NpOEy?XQJ&5Ri{u3o)5Z{EB|j~=aAv*yQ-A3JyMT(oG>(xpqke*L;@*RB;S zR($^a`RLK3$B!T1ym|AdPoK`5IkR!&#>I;lfBg9I+_`gS($dZ_5CDolSr{1@%oub) z>Og*CV4LVLd+h@S4Xr~o6Zbf;`lP&2IioJl!zpcIYHH%uX3EUZ&&wp(-Dx(NNmyQ#S<-m&WHZLu#=Js2 zI^FG4ScC+5*q9g@8QR-DnbtFkvv7;8=x|cx-YurWFmI)kF#`ji?)<4I%!C;@&O3EG HGFSruM1-(6 diff --git a/source/web/images/icons/presence_online.gif b/source/web/images/icons/presence_online.gif deleted file mode 100644 index 6c621aaf32e6b5b65cbced3f9b709103e7b139d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591 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 diff --git a/source/web/images/icons/presence_yahoo_offline.png b/source/web/images/icons/presence_yahoo_offline.png new file mode 100644 index 0000000000000000000000000000000000000000..0d0a2663df88a1fc5dde8b1514052251884572ec GIT binary patch literal 3563 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 Y0Fu0q&hcWKumAu607*qoM6N<$f=qeLU;qFB literal 0 HcmV?d00001 diff --git a/source/web/scripts/ajax/presence.js b/source/web/scripts/ajax/presence.js index 7ae2e29346..da8b1b84a9 100644 --- a/source/web/scripts/ajax/presence.js +++ b/source/web/scripts/ajax/presence.js @@ -7,30 +7,46 @@ var Presence = { window.contextPath = Presence.getContextPath(); - var users = $$("#presenceContainer .presenceStatus"); - users.each(function(user, i) + var statuses = $$("#presenceContainer .presenceStatus"); + var users = $$("#presenceContainer .presenceUsername"); + + statuses.each(function(status, i) { - // ajax call to load online status - var userDetails = user.attributes["rel"].value.split("|"); + var user = users[i]; + + var userDetails = status.attributes["rel"].value.split("|"); var proxyURL = window.contextPath + "/ajax/invoke/PresenceProxyBean.proxyRequest"; var statusURL = Presence.getStatusURL(userDetails); if (statusURL != "") { + // ajax call to load online status var myAjax = new Ajax(proxyURL, { method: 'get', headers: {'If-Modified-Since': 'Sat, 1 Jan 2000 00:00:00 GMT'}, onComplete: function(textResponse, xmlResponse) { var statusType = Presence.getStatusType(userDetails[0], textResponse); + status.addClass(statusType); user.addClass(statusType); + if (statusType == "unknown") + { + status.title = "User's status is unknown, possibly due to client privacy settings"; + } + else + { + status.title = "User's status is " + statusType; + } + user.title = status.title; } }); myAjax.request("url=" + escape(statusURL)); } else { - user.addClass("unknown"); + status.addClass("unknown"); + status.title = "User's presence provider has not been configured by Alfresco admin"; + user.title = status.title; } }); }, @@ -79,7 +95,17 @@ var Presence = switch(provider) { case "skype": - statusType = (response == "Online") ? "online" : "offline"; + switch (response) + { + case "Online": + statusType = "online"; + break; + case "Offline": + statusType = "offline"; + break; + default: + statusType = "unknown"; + } break; case "yahoo": statusType = (response == "01") ? "online" : "offline";