|
| File: org/alfresco/modules/discussions/rss/topiclist-rss.get.desc.xml |
<webscript>
<shortname>Discussions RSS</shortname>
<description>Discussions: RSS of List of Topics component</description>
<url>/components/discussions/rss</url>
<format default="rss"/>
<authentication>user</authentication>
</webscript> |
| File: org/alfresco/modules/discussions/rss/topiclist-rss.get.js |
function convertTopicJSONData(topic)
{
// created
var created = new Date(topic["createdOn"])
topic["createdOn"] = created;
// last reply
if (topic["lastReplyOn"] != undefined)
{
topic["lastReplyOn"] = new Date(topic["lastReplyOn"])
}
}
/**
* Converts the data object from strings to the proper types
* (currently this only handles strings
*/
function convertTopicsJSONData(data)
{
for (var x=0; x < data.items.length; x++)
{
convertTopicJSONData(data.items[x]);
}
}
function main()
{
// gather all required data
var site = args["site"];
var container = (args["container"] != undefined) ? args["container"] : "discussions";
var url = '/api/forum/site/' + site + '/' + container + "/posts?contentLength=512";
var connector = remote.connect("alfresco-feed");
var result = connector.get(url);
if (result.status != status.STATUS_OK)
{
status.setCode(status.STATUS_INTERNAL_SERVER_ERROR, "Unable to do backend call. " +
"status: " + result.status + ", response: " + result.response);
return null;
}
var data = eval('(' + result.response + ')');
convertTopicsJSONData(data);
model.items = data.items;
// set additional properties
// PENDING: where to get this information?
var lang = "en-us";
model.lang = lang;
model.site = site;
model.container = container;
}
main(); |
| File: org/alfresco/modules/discussions/rss/topiclist-rss.get.properties |
#
# file topiclist-rss.get.rss.ftl
#
topiclistrss.title=Alfresco Discussions Topics
topiclistrss.description=RSS feed of the discussions
topiclistrss.nocontent=No topic content yet
|
| File: org/alfresco/modules/discussions/rss/topiclist-rss.get.rss.ftl |
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>${msg("topiclistrss.title")}</title>
<link>${absurl(url.context)}/service/components/discussions/rss?site=${site}&container=${container}</link>
<description>${msg("topiclistrss.description")}</description>
<language>${lang}</language>
<#if (items?size > 0)>
<#list items as topic>
<item>
<title>${topic.title?html}</title>
<link>${absurl(url.context)}/page/site/${site}/discussions-topicview?container=${container}&topicId=${topic.name}</link>
<description>${topic.content?html}</description>
<#-- make sure we use en_US for date rendering -->
<#assign currentLocale=locale />
<#setting locale="en_US" />
<pubDate>${topic.createdOn?datetime?string("EEE, dd MMM yyyy HH:mm:ss Z")}</pubDate>
<#setting locale=currentLocale />
</item>
</#list>
<#else>
<item>${msg("topiclistrss.nocontent")}</item>
</#if>
</channel>
</rss>
|