Back in February (I know, it’s been simmering on the back burner for too long), I did a couple of screencasts on Optaros Labs showing a demo of Alfresco Share (part 1, part 2). In part 2 of that screencast I showed two custom components: Status and Bookmark. Alfresco made Bookmark obsolete by releasing their own shared bookmarks module for Share, and that’s a Good Thing. I kind of expected them to release a microblog component as well, but they haven’t yet. Well, I finally got around to making ours available, so until a similar feature makes it into the product, feel free to use it in your own projects.
The component is simple: A “My Current Activity” dashlet lets you and your team give a quick blurb about what you’re working on. Another dashlet aggregates all of the status entries from your teammates. A global dashlet aggregates the entries from all Share sites. All status changes automatically show up in Alfresco’s Activity Feed as well.
Unlike Twitter, the status component lets you mark an entry as “done”. When you do that, your current status gets reset and the old entry moves to the archive. So it’s a little more task-oriented than more general purpose, free-form microblogging tools.
Deployment is pretty easy. An AMP gets deployed to your Alfresco WAR, and a ZIP gets unzipped into your Alfresco Share web application. That’s it. No configuration necessary. All of the data lives in the same structure as the other tools in your Share site.
I’ve put the code out on Google Code under a BSD license. There’s a pre-built AMP and a ZIP for download or you can checkout and build from source. There’s one Eclipse project for the repository tier and one for the Surf tier. I’ve tested this on Alfresco 3.2 Community. I’ll test it out on the Enterprise releases when I get a chance. There were some changes in the Activity Feed that I had to deal with and I’m not sure how far back those go so I may have to have version-specific releases.
Have a look and give me your feedback. If you want to dig in and make enhancements, bring ’em on.
Update: I’ve validated that this component works on all post-3.0 releases.
* Community/Labs Releases
o 3.2r Community
o 3.2 Community
o 3D Labs
* Enterprise Releases
o 3.2 Enterprise Beta
o 3.1.1 Enterprise
o 3.0.1 Enterprise
If you must run on 3D Labs or 3.0 Enterprise, see my special notes on the Google Code page.
Hi Jeff,
When I saw your post I was very happy, because I liked the feature in the screencast. Since a few days the company I’m working for, is running Share 3.2 Community as a trial. One of the things we’d like to implement is your microblog.
Today, I’ve been trying to implement it on Linux, but unfortunately without success. Since we have some adjustments outside the extension-folder, I tried to implement the microblog by hand by placing the files in the correct folder. But since this isn’t working I was wondering if you could point out where to place the files.
Thanks in advance.
Regards,
Jeffrey
There are two parts to the install. The AMP needs to be installed into your Alfresco WAR using the Alfresco MMT JAR. Or, if you have the Alfresco SDK, you can just use the “ant deploy” task that is included in the source of the repository extensions. Before you run the ant task, make sure to create a build.properties file using the build.properties.sample as an example, and edit it to match your local directory locations.
The second part of the install is to unzip the Share extensions into the Share web application root. Again, you can just use “ant deploy” from within the Share project and it will do it for you, provided you’ve created a build.properties file with the right directory paths.
Does this make sense? If not, let me know.
Jeff
Hi Jeff,
I’m a colleague of Jeffrey and trying to help him out. I’m almost sure we did everything right, however the dashlet can’t seem to find the webscript. ‘My current activity’ shows an errormessage: “freemarker.core.InvalidReferenceException – Expression status_value is undefined on line 52, column 107 in com/optaros/status/my-site-status.get.html.ftl.”. The log says: “/status/my-site-status.get.html.ftl does not map to a Web Script”
What have we forgotten?
That error message sounds like it can’t find the web script. You might try refreshing the webscripts by going to /share/services/index/ and clicking the “Refresh All Scripts” button. Then, verify that you can find the web script by browsing the list of web scripts by URI and searching for “status”.
What version of Alfresco and app server are you running? Are you running the Share and Alfresco WARs in the same app server or separately?
Jeff
Expression status_value is undefined on line 53, column 99 in com/optaros/status/my-site-status.get.html.ftl
This is the error what i got ..
Okay, I’ll take a look at this Monday night. If someone gets a chance, reply with your specific Alfresco version.
Jeff
I took a look at this and was able to recreate the problem by not installing the web scripts on the repository tier.
Did you use the Alfresco MMT JAR to install the provided AMP to your Alfresco WAR and then deploy the AMP’d WAR to your app server?
If so, can you validate that you can go to http://localhost:8080/alfresco/service/ and see the status web scripts?
Jeff
The version I’m using right now is ‘Alfresco Community v3.2.0 (2039)’ and it’s running on Ubuntu.
I didn’t use the MMT JAR, because we didn’t want to override the adjustments which were made outside the shared folder. Because of this, I did it manually.
When I look at …/share/service/index I see six webscripts which refer to the Optaros package and also a link to the package. But when I look at …/alfresco/service/index I don’t see them. Is this correct, because the component is ment for Share of did I do something wrong?
Jeffrey
There should definitely be web scripts on both the Share tier and the repository tier. When you go to:
http://localhost:8080/alfresco/service/index/package/com/optaros/status
You should see two web scripts (Get Status Entries and Post Status Entries).
You should be able to go to http://localhost:8080/alfresco/service/status/site/testsite1 where “testsite1” is the “URL name” of your Share site. The result should be a chunk of JSON.
The repository tier web scripts live in the extension directory within their package structure. So, you should see 9 files in $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status
-rw-r--r-- 1 jpotts staff 507 Oct 15 12:08 status.get.desc.xml
-rw-r--r-- 1 jpotts staff 140 Oct 16 00:09 status.get.html.ftl
-rw-r--r-- 1 jpotts staff 847 Oct 16 00:12 status.get.js
-rw-r--r-- 1 jpotts staff 186 Oct 16 00:09 status.get.json.ftl
-rw-r--r-- 1 jpotts staff 1495 Oct 15 23:28 status.lib.ftl
-rw-r--r-- 1 jpotts staff 325 Oct 15 12:08 status.post.desc.xml
-rw-r--r-- 1 jpotts staff 54 Oct 16 00:09 status.post.html.ftl
-rw-r--r-- 1 jpotts staff 866 Oct 16 00:13 status.post.js
-rw-r--r-- 1 jpotts staff 98 Oct 16 00:09 status.post.json.ftl
You mentioned that you’ve got other customizations in your webapp. If the above two items check out, the next step is probably to test using an out-of-the-box Alfresco WAR using the MMT to deploy the AMP.
Jeff
Hi Jeff,
I’ve only recently started reading your articles and can’t thank you enough!
I am also seeing the same problem with Alfresco Community 3.2 r on my Windows (XP) machine when I’ve installed the AMP with alfresco.war and copied the zip file contents into the expanded share folder in the tomcat/webapps directory.
I confirmed that the optaros web-scripts are duly deployed from the /alfresco/service Url.
However, when I pick the ‘My Site Status’ dashlet in ‘Customize my dashboard’, I cannot see any other dashlet in the dashboard, and the My Site status also doesn’t work (no action)
On the server, the same exception occurs as mentioned by people above.
Regards,
Kapil
Hi Jeff,
Your second step to check for testsite1 fails for me with the server trace –
org.alfresco.web.scripts.WebScriptException: 10040006 Wrapped Exception (with st
atus template): 10040005 Failed to execute script ‘/com/optaros/status/status.ge
t.js (in classpath store file:D:/install/Alfresco/tomcat/webapps/alfresco/WEB-IN
F/classes/alfresco/extension/templates/webscripts)’: syntax error (file:D:/insta
ll/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates
/webscripts/com/optaros/status/status.get.js#9)
at org.alfresco.web.scripts.AbstractWebScript.createStatusException(Abst
ractWebScript.java:613)
at org.alfresco.web.scripts.DeclarativeWebScript.execute(DeclarativeWebS
cript.java:165)
at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecut
e(RepositoryContainer.java:334)
at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecut
eAs(RepositoryContainer.java:438)
at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(Repos
itoryContainer.java:302)
at org.alfresco.web.scripts.AbstractRuntime.executeScript(AbstractRuntim
e.java:295)
at org.alfresco.web.scripts.AbstractRuntime.executeScript(AbstractRuntim
e.java:172)
at org.alfresco.web.scripts.servlet.WebScriptServlet.service(WebScriptSe
rvlet.java:122)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.alfresco.scripts.ScriptException: 10040005 Failed to execute scri
pt ‘/com/optaros/status/status.get.js (in classpath store file:D:/install/Alfres
co/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscrip
ts)’: syntax error (file:D:/install/Alfresco/tomcat/webapps/alfresco/WEB-INF/cla
sses/alfresco/extension/templates/webscripts/com/optaros/status/status.get.js#9)
Seems like everyone that is seeing problems is running on Windows. There’s nothing obvious that would be operating system dependent, but I’ll see if I can find a Windows box to try to recreate this with.
I’ve seen no problems when deploying to a fresh repository on Mac OS X.
Jeff
Hi, first of all many thanks for all your contributions to the Alfresco community.
I will test this amp on a Windows 2003 server against alfresco enterprise 3.1.1 and report my findings.
Cheers, Peter
Found the problem. In status.get.js and status.post.js, move the import statement to be the first line of the file.
Those files reside in $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status.
Jeff
Just tested on 3.1.1. enterprise, win2003 today
got the same error as some other folks:
Expression status_value is undefined on line 53, column 99 in com/optaros/status/my-site-status.get.html.ftl
As Jeff mentioned in his post, the fix for this issue is to edit the two .js files.
Thanks. I’ve added a new AMP on Google Code that has the updated JS files so we should be good at this point. It would be great if someone could install the new AMP and confirm.
http://alfresco-share-status.googlecode.com/files/optaros-status-repository-extensions-0.1a.amp
Jeff
Hi Jeff,
Will take a look at the new 01a.amp and test install.
just a brief question.
is there a technical reason that you need to use an amp and a seperate zip file for custom modules for Share?
Cant the zipped files reside in the amp and placed in a shared extension folder?
Peter
Hi Jeff,
i’ve installed the new amp file, but the error (status_value) remains the same. Further more, the imports you mention as a possible solution are no longer present in the JS files?
Jan
Jan,
I noticed when testing that reinstalling the AMP didn’t overwrite the existing JS files with the modified JS files. When I tested with a fresh Alfresco WAR, everything worked. You might try installing the AMP with “-force”. Also, use “-verbose” so you can tell whether or not it is copying the JS files into the web app.
Also, can you clarify your comment about the imports? I double-checked the AMP on Google Code and the JS files are in the location I expect them to be with the import statements intact.
Jeff
@Jan, are you looking in the correct filepath for these JS files?
They reside in the webapps/alfresco/.. folder
not in the webapps/share.
Peter
Ok, a fresh installation. Same problem with my_status and the webscript that cannot be found. Alfresco is running behind Apache with SSL. Could that be a problem?
Could anyone check out my log at http://www.janhendriks.net/alfresco.log? This log contains the error on my dashboard, as well as the errors on the site’s dashboard.
Jan,
Please do this:
1. Go to $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status
2. Do a directory listing and reply here with the results.
You should have 9 files in that directory. The status.get.js file should be 847 bytes long and the status.post.js file should be 866 bytes long.
Jeff
root@vlc-local-share:/opt/tomcat5.5/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status# ls -la
total 44
drwxr-xr-x 2 root root 4096 2009-11-09 13:15 .
drwxr-xr-x 3 root root 4096 2009-11-09 13:15 ..
-rw-r–r– 1 root root 507 2009-10-15 11:08 status.get.desc.xml
-rw-r–r– 1 root root 140 2009-10-15 23:09 status.get.html.ftl
-rw-r–r– 1 root root 847 2009-11-12 08:40 status.get.js
-rw-r–r– 1 root root 186 2009-10-15 23:09 status.get.json.ftl
-rw-r–r– 1 root root 1495 2009-10-15 22:28 status.lib.ftl
-rw-r–r– 1 root root 325 2009-10-15 11:08 status.post.desc.xml
-rw-r–r– 1 root root 54 2009-10-15 23:09 status.post.html.ftl
-rw-r–r– 1 root root 866 2009-11-12 08:39 status.post.js
-rw-r–r– 1 root root 98 2009-10-15 23:09 status.post.json.ftl
root@vlc-local-share:/opt/tomcat5.5/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status#
@Peter,
Yes, there is a reason why the install is divided into two. The reason is that Share is not always guaranteed to be on the same application server as Alfresco. The Alfresco installer deploys several JARs to the same Tomcat, but in production, most people will separate out the Share web app from the Alfresco web app for performance and operational reasons. For example, if you make a change to Share that requires a restart, you don’t want to have to restart all of Alfresco.
Jeff
Jan, it looks like you have the right versions of the get and post controllers.
If this is a fresh install, I’m going to assume that (1) old copies of the scripts don’t exist elsewhere in the web app (like maybe they were copied by hand into an incorrect location) and (2) that you have not uploaded any of the web scripts into the repository’s Data Dictionary. You can go to http://localhost:8080/alfresco/service/script/com/optaros/status/status.get and scroll down to see the controller’s JavaScript to validate that if you need to.
Regarding HTTPS, if the rest of Share is able to communicate with Alfresco (for example, you can see or create content in your test site) then the custom component will be able to communicate. It uses the same connector as the out-of-the-box components.
From the log (thanks for the link) I can see that you are testing by logging in to your test site in Share. Let’s remove Share from the equation for the moment and instead hit the web scripts on Alfresco directly. You should be able to go to the following URLs:
http://localhost:8080/alfresco/service/status/site/jan
http://localhost:8080/alfresco/service/status/history/global
http://localhost:8080/alfresco/service/status/global
And get something back. It might be empty JSON but you should not get an error. Make sure you are forcing the browser to refresh the cache.
If you hit these directly and Alfresco says those URLs aren’t mapped to web scripts, try clicking the “Refresh Web Scripts” button on http://localhost:8080/alfresco/service/ then try those URLs again. If that doesn’t work we may need to try to deploy a simple hello world web script to validate that your environment is okay.
Jeff
I’m not sure if there’s something else going on here, but a lot of the above doesn’t seem to apply to my installation of the micro blogging tool.
I’m experiencing the same problems as discussed above though, no action button on my status dashlet, and all other dashlets disappear when the my status dashlet is added.
We’re running Alfresco on a Linux server, and the directory $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates does not exist,
I manually created the directories templates/webscripts/com/optaros/status and copied in the optaros/status directory with the correct files from share, but not surprisingly that didn’t work.
I did the install with mmt to update the apache.WAR file, and unzipped the optaros-status-surf-extensions-0.1.zip with the file tree
WEB-INF\classes\alfresco\site-webscripts\optaros\status in the share directory.
Any idea what’s going on here?
Thanks for all the help Jeff, this looks like a great product.
-Adam
oops, meant to say alfresco.WAR file…
Adam,
You should not have to create the alfresco/extension/templates directory. All of the changes to the alfresco.war are handled by the AMP install. Did you use the 0.1a version of the AMP? The original 0.1 version had a problem with two of the web script controllers. If you installed the original AMP and are now installing the 0.1a version, you may need to use “-force” on the MMT tool to make it override the old files.
The components in Share are web scripts. If you’re seeing the dashlets, they are probably installed okay. They communicate with web scripts on the repository tier (in the Alfresco web app). You can invoke them directly in your web browser to validate that (1) they are installed properly and (2) they are returning the data you expect. There are a couple of comments earlier on this post that show you how to do that. Here’s the relevant chunk reprinted:
When you go to:
http://localhost:8080/alfresco/service/index/package/com/optaros/status
You should see two web scripts (Get Status Entries and Post Status Entries).
You should be able to go to http://localhost:8080/alfresco/service/status/site/testsite1 where “testsite1? is the “URL name” of your Share site. The result should be a chunk of JSON.
If you see the two web scripts in the web script index, and you can successfully get the JSON back by invoking one or both of the web scripts directly, but your dashlets still don’t work, let me know. You’ll also need to provide me with the specific version of Alfresco you are running and any exceptions that are showing up in the app server log.
Jeff
Thanks for your help and patience Jeff,
I did use the mmt tool with the -force option to install the 0.1a version
here is the results from that…
[adamjmcfarlin@agave status]$ cd ~
[adamjmcfarlin@agave ~]$ ls
alfresco-mmt-3.2.jar optaros optaros-status-repository-extensions-0.1a.amp
[adamjmcfarlin@agave ~]$ sudo java -jar alfresco-mmt-3.2.jar install optaros-status-repository-extensions-0.1a.amp /opt/Alfresco/tomcat/webapps/alfresco.WAR -force -verbose
Password:
Installing AMP ‘optaros-status-repository-extensions-0.1a.amp’ into WAR ‘/opt/Alfresco/tomcat/webapps/alfresco.WAR’
WAR has been backed up to ‘/opt/Alfresco/tomcat/webapps/alfresco.WAR-1258740955854.bak’
WARNING: The installation of this module is being forced. All files will be removed and replaced regardless of exiting versions present.
Clearing out files relating to version ‘0.1’ of module ‘OptarosStatus’
– Removing file ‘/WEB-INF/classes/alfresco/extension/scripts/optarosStatus.js’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.json.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.js’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.html.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.html.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.json.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.desc.xml’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.lib.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.js’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.desc.xml’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/ui/web-client-config-custom.xml’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/model/optStatusModel.xml’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/file-mapping.properties’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/module-context.xml’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/module.properties’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/license.txt’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/messages/webclient.properties’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros/status/status-set.json.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros/status/status-set.atomentry.ftl’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/ui’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/model’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/messages’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros/status’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros’ from war
– Removing file ‘/WEB-INF/classes/alfresco/extension/templates/activities/com’ from war
– Removing file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/modifications.install’ from war
– The file ‘/WEB-INF/classes/alfresco/module/OptarosStatus/module.properties’ was expected for removal but was not present in the war
Adding files relating to version ‘0.1’ of module ‘OptarosStatus’
– File ‘/WEB-INF/classes/alfresco/extension/scripts/optarosStatus.js’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.json.ftl’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.js’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.html.ftl’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.html.ftl’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.json.ftl’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.desc.xml’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.lib.ftl’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.get.js’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status/status.post.desc.xml’ added to war from amp
– Directory ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status’ added to war
– Directory ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros’ added to war
– Directory ‘/WEB-INF/classes/alfresco/extension/templates/webscripts/com’ added to war
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/ui/web-client-config-custom.xml’ added to war from amp
– Directory ‘/WEB-INF/classes/alfresco/module/OptarosStatus/ui’ added to war
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/model/optStatusModel.xml’ added to war from amp
– Directory ‘/WEB-INF/classes/alfresco/module/OptarosStatus/model’ added to war
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/file-mapping.properties’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/module-context.xml’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/module.properties’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/license.txt’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/module/OptarosStatus/messages/webclient.properties’ added to war from amp
– Directory ‘/WEB-INF/classes/alfresco/module/OptarosStatus/messages’ added to war
– File ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros/status/status-set.json.ftl’ added to war from amp
– File ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros/status/status-set.atomentry.ftl’ added to war from amp
– Directory ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros/status’ added to war
– Directory ‘/WEB-INF/classes/alfresco/extension/templates/activities/com/optaros’ added to war
– Directory ‘/WEB-INF/classes/alfresco/extension/templates/activities/com’ added to war
[adamjmcfarlin@agave ~]$
As you guessed the problem is that when I go to
http://localhost:8080/alfresco/service/index/package/com/optaros/status
I do not see Get Status Entries and Post Status Entries).
Nor do I see the post js (also the get js seems to be too small of a file)
here’s what I have in the webscripts/com/optaros/status directory
[adamjmcfarlin@agave status]$ pwd
/opt/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status
[adamjmcfarlin@agave status]$ ls -l
total 120
-rw-r–r– 1 root root 292 Nov 18 10:28 my-site-status.get.desc.xml
-rw-r–r– 1 root root 259 Nov 18 10:28 my-site-status.get.head.ftl
-rw-r–r– 1 root root 2453 Nov 18 10:28 my-site-status.get.html.ftl
-rw-r–r– 1 root root 2141 Nov 18 10:28 my-site-status.get.js
-rw-r–r– 1 root root 1829 Nov 18 10:28 my-site-status.get.properties
-rw-r–r– 1 root root 265 Nov 18 10:28 status.get.desc.xml
-rw-r–r– 1 root root 263 Nov 18 10:28 status.get.head.ftl
-rw-r–r– 1 root root 457 Nov 18 10:28 status.get.html.ftl
-rw-r–r– 1 root root 225 Nov 18 10:28 status.get.js
-rw-r–r– 1 root root 1554 Nov 18 10:28 status.get.properties
-rw-r–r– 1 root root 273 Nov 18 10:28 statusHistory.get.desc.xml
-rw-r–r– 1 root root 263 Nov 18 10:28 statusHistory.get.head.ftl
-rw-r–r– 1 root root 456 Nov 18 10:28 statusHistory.get.html.ftl
-rw-r–r– 1 root root 232 Nov 18 10:28 statusHistory.get.js
-rw-r–r– 1 root root 1551 Nov 18 10:28 statusHistory.get.properties
-rw-r–r– 1 root root 209 Nov 18 10:28 status-list.get.desc.xml
-rw-r–r– 1 root root 802 Nov 18 10:28 status-list.get.js
-rw-r–r– 1 root root 246 Nov 18 10:28 status-list.get.json.ftl
-rw-r–r– 1 root root 1518 Nov 18 10:28 status-list.get.properties
-rw-r–r– 1 root root 900 Nov 18 10:28 status-list.lib.ftl
-rw-r–r– 1 root root 275 Nov 18 10:28 statusSite.get.desc.xml
-rw-r–r– 1 root root 263 Nov 18 10:28 statusSite.get.head.ftl
-rw-r–r– 1 root root 468 Nov 18 10:28 statusSite.get.html.ftl
-rw-r–r– 1 root root 512 Nov 18 10:28 statusSite.get.js
-rw-r–r– 1 root root 1554 Nov 18 10:28 statusSite.get.properties
-rw-r–r– 1 root root 291 Nov 18 10:28 statusSiteHistory.get.desc.xml
-rw-r–r– 1 root root 263 Nov 18 10:28 statusSiteHistory.get.head.ftl
-rw-r–r– 1 root root 467 Nov 18 10:28 statusSiteHistory.get.html.ftl
-rw-r–r– 1 root root 512 Nov 18 10:28 statusSiteHistory.get.js
-rw-r–r– 1 root root 1551 Nov 18 10:28 statusSiteHistory.get.properties
[adamjmcfarlin@agave status]$
the .zip file I downloaded is optaros-status-surf-extensions-0.1.zip.
Any idea why I don’t have those 2 scripts?
Also there are 6 webscripts when I go to
http://localhost:8080/alfresco/service/index/package/com/optaros/status
(My Site Status, Status List, Global Status Summary, Global Status History, Site Status Summary, Site Status History)
Thanks again,
-Adam
I see what’s happened. The optaros-status-surf-extensions-0.1.zip got unzipped into the Alfresco web app. The listing you’ve provided is showing the set of web scripts that should have been unzipped to the Share web application.
I would remove everything from that directory and deploy your AMP again.
After that, change to your alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status directory and do an ls|wc. You should see:
9 9 167
Then, change to your share/WEB-INF/classes/alfresco/site-webscripts/com/optaros/status directory and do an ls|wc. You should see:
30 30 746
Once that’s all straightened out I’ll bet it starts working for you.
Jeff
These are the steps I took –>
1)removed everything from the directory
/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/com/optaros/status
2)re-ran the mmt with force option,
but the AMP doesn’t seem to add anything back into INF/classes/alfresco/extension/templates/webscripts/com/optaros/status so my word count is
0 0 0
the word count is correct for
share/WEB-INF/classes/alfresco/site-webscripts/com/optaros/status
I’m going to try unzipping the zip file in the correct location but I don’t think this will solve my problem since it also won’t contribute to the
alfresco/extension/templates/webscripts/com/optaros/status directory… I’ll let you know if my problem is solved after that though.
Thanks!
-Adam
After you run the MMT to deploy the AMP to the WAR, are you re-deploying the WAR to your webapp? In other words, is the WAR sitting in your webapps directory or is it sitting somewhere else? If it is sitting somewhere else, you have to either copy the AMP’d WAR into your webapp directory or you have to unzip the WAR into your exploded webapp directory. If you are using the Ant deploy task that is part of the project source, it does that for you.
So, check the WAR, by doing a jar -tvf alfresco.war|grep status and you should see that the MMT added the web scripts to the WAR. Then, check the exploded web app and see that the files were unzipped successfully. If they are in the WAR but not in the web app directory, unzip the WAR over the top of your web app directory.
Jeff
alright, the issue was with where I had the WAR file, now in the right directory and I’m getting the correct word counts, but now share can’t seem to connect to the server. I’m getting the
“Failed to Login The remote server may be unavailable or…” Also doesn’t look like virtual_stop.sh is working, stopping with a connection error.
I’ve read up on some other people’s issues with this, and it looks like there must be a port mix-up somewhere, I don’t think this is related to the status install, I’ll let you know when I have things working.
Thanks for your help Jeff,
-Adam
Well, it looks like somehow all of the config files under webapps/alfresco/WEB-INF/classes/alfresco
are missing… not sure what else is missing.
Obviously this is why share can no longer connect to the Alfresco server, but I’m not at all clear on how this happened, hopefully get to the bottom of this soon.
Alright, everything is working except one thing =)
the status history doesn’t show a record of the status’s I’ve finished, is this normal?
———————————————–
Thanks a *ton* for the advice on the earlier problems, for for reference to anyone else in a similar situation the problem with the 503 error was caused by soffice.exe
At one point I restarted the tomcat server and somehow openoffice blocked port 8080 needed by tomcat, only took me a day to get back on track but I learned a lot about tomcat and .war files in the process!
Thanks,
scratch the ‘everything except one thing’
All is working well.
thanks!
Did some other tests today and like it very much.
Are you planning to develop these dashlets a little more or are leaving that to the community?
couple of minor testresults
1. “empty” current activity is allowed as an update “corrupting” the “who is doing what” and “status history” dashlets
2. history dashlet isnt limited in size so dashlet keeps growing and growing
ad 1) would be nice to reject “null” as an update
ad 2) would be nice to have the dashlets with a fixed frame with scroll bar
Regards, Peter
another nice to have feature:
Enable the site manager role to be able to remove status messages from “Who’s doing what” and “Status history” (for moderation point of view)
@Peter,
Thanks for testing and providing feedback. I’ll enter these as issues on the Google Code project.
Regarding further development of the dashlets, I am definitely open to continuing development. The idea was to put them out there and gauge interest. I’m also open to anyone that wants to lend a hand.
Jeff
Happy to supply the feedback.
I just read your post on the new release.
Looking forward to test it and will give some feedback.
Peter