No coments.
Wellcome!
In Cms Howto you'll find updated tutorials to work with Alfresco, Liferay, and other cms software. In a world without information, Cms Howto is the solution.
Wednesday, December 2, 2009
Tuesday, November 24, 2009
Creating a webscript dashlet in Alfresco
To develop a custom dashlet in Alfresco we need 3 things:
- A Webscript.
- A Jsp.
- A Freemarker template.
1.- Firstly, create a webscript with the actions that you want to show in Alfresco Dashboard. WebScripts WikiPage.
For example:
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\templates\my_webscript.ftl
2.- Create a Jsp for the dashlet in: \tomcat\webapps\alfresco\jsp\extension\dashboards\dashlets\my_webscript.jsp with this content:
3.- Add to web-client-config-custom.xml the next config:
- A Webscript.
- A Jsp.
- A Freemarker template.
1.- Firstly, create a webscript with the actions that you want to show in Alfresco Dashboard. WebScripts WikiPage.
For example:
\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\templates\my_webscript.ftl
2.- Create a Jsp for the dashlet in: \tomcat\webapps\alfresco\jsp\extension\dashboards\dashlets\my_webscript.jsp with this content:
3.- Add to web-client-config-custom.xml the next config:
Finally restart Alfresco and configure the dashboard to show your new dashlet.
Tuesday, November 17, 2009
Changing the LifeRay context
In LifeRay we can found different types of urls, such as /c, /d, /theme, etc. It would be useful that all urls began by the same string, for example /portal. In that case we´ll have:
/portal/c../
/portal/d../
/portal/theme../
This allows Apache to handle easily the Liferay urls. To do that:
1.- Firstly, shutdown LifeRay.
2.- Edit portal-ext.properties, and add:
portal.ctx=/portal
portlet.virtual.path=/portal
3.- Rename the /ROOT folder to /portal in TOMCAT_HOME/webapps.
4.- Rename "tomcat-6.0.18/conf/Catalina/localhost/ROOT.xml" to "tomcat-6.0.18/conf/Catalina/localhost/portal.xml".
5.- Delete the content of the folders /temp and /work in TOMCAT_HOME (delete the tomcat cache).
6.- Restart LifeRay.
Probably we must redo the Lucene Index in LifeRay control panel. Finally we can go to the LifeRay home page at:
http://localhost/portal
/portal/c../
/portal/d../
/portal/theme../
This allows Apache to handle easily the Liferay urls. To do that:
1.- Firstly, shutdown LifeRay.
2.- Edit portal-ext.properties, and add:
portal.ctx=/portal
portlet.virtual.path=/portal
3.- Rename the /ROOT folder to /portal in TOMCAT_HOME/webapps.
4.- Rename "tomcat-6.0.18/conf/Catalina/localhost/ROOT.xml" to "tomcat-6.0.18/conf/Catalina/localhost/portal.xml".
5.- Delete the content of the folders /temp and /work in TOMCAT_HOME (delete the tomcat cache).
6.- Restart LifeRay.
Probably we must redo the Lucene Index in LifeRay control panel. Finally we can go to the LifeRay home page at:
http://localhost/portal
Monday, November 9, 2009
Api JavaScript samples in Alfresco
Alfresco allows us to perform actions when an event occurs, such as content creation, modification, and so on. Here are some examples of use:
Js that sent mails:
// create mail action
var mail = actions.create("mail");
mail.parameters.to = "user@mail.com";
mail.parameters.subject = "News Letter Title";
mail.parameters.from = "alfresco@society.com";
mail.parameters.template = search.findNode("workspace://SpacesStore/9c74d256-ff43-4437-rio5-3098c54fbc7a");
mail.parameters.text = "Sorry, but the news letter is not available this week due to maintenance needs. Please apologize for disturbance";
// execute action against a document
mail.execute(document);
Js that start and advanced pooled workflow:
var workflow = actions.create("start-workflow");
workflow.parameters.workflowName = "jbpm$wf:reviewpooled";
workflow.parameters["bpm:workflowDescription"] = document.name;
workflow.parameters["bpm:groupAssignee"] = people.getGroup("GROUP_myGroup");
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 7);
workflow.parameters["bpm:workflowDueDate"] = futureDate;
workflow.execute(document);
Js that change the name of an inbound document:
// change the name of this document
document.properties.name = "Backup of " + document.properties.name;
// add a new property string
document.properties["cm:locale"] = mylocalenode;
// save the property modifications
document.save();
More examples here:
Alfresco Js Api
Js that sent mails:
// create mail action
var mail = actions.create("mail");
mail.parameters.to = "user@mail.com";
mail.parameters.subject = "News Letter Title";
mail.parameters.from = "alfresco@society.com";
mail.parameters.template = search.findNode("workspace://SpacesStore/9c74d256-ff43-4437-rio5-3098c54fbc7a");
mail.parameters.text = "Sorry, but the news letter is not available this week due to maintenance needs. Please apologize for disturbance";
// execute action against a document
mail.execute(document);
Js that start and advanced pooled workflow:
var workflow = actions.create("start-workflow");
workflow.parameters.workflowName = "jbpm$wf:reviewpooled";
workflow.parameters["bpm:workflowDescription"] = document.name;
workflow.parameters["bpm:groupAssignee"] = people.getGroup("GROUP_myGroup");
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 7);
workflow.parameters["bpm:workflowDueDate"] = futureDate;
workflow.execute(document);
Js that change the name of an inbound document:
// change the name of this document
document.properties.name = "Backup of " + document.properties.name;
// add a new property string
document.properties["cm:locale"] = mylocalenode;
// save the property modifications
document.save();
More examples here:
Alfresco Js Api
Saturday, November 7, 2009
Adding portlets to a theme/layout
If we want to include some portlet in all the pages of our web, we must include it into a theme or layout file (.vm or .tpl).
For example, it would be useful to have a breadcrumb portlet in the layout and not have to manually include it on every page. Even we could establish a default configuration.
Other portlets which should be included on the theme could be the language portlet, content search, navigation, etc.
The following examples show how to add a language portlet, to do that we have two posibilities:
a) Adding the portlet to portal_normal.vm with the xml configuration:
b) Adding the portlet to a hidden page, configure it and instance his portlet-id from portal_normal.vm:
For example, it would be useful to have a breadcrumb portlet in the layout and not have to manually include it on every page. Even we could establish a default configuration.
Other portlets which should be included on the theme could be the language portlet, content search, navigation, etc.
The following examples show how to add a language portlet, to do that we have two posibilities:
a) Adding the portlet to portal_normal.vm with the xml configuration:
b) Adding the portlet to a hidden page, configure it and instance his portlet-id from portal_normal.vm:
Saturday, September 19, 2009
Creating a portlet clon in LifeRay
Some times we need a copy of a existing portlet, like navigation, breadcrumb, etc. We can do a copy of some portlet to instance it in the theme and have two different portlet configurations for the same type of portlet. This are the steps that we have to follow:
1. Edit liferay-display.xml and add a free id entry for that portlet.
2. Edit liferay-portlet.xml. We can copy the "... " of the origin portlet, and asign the free id of point 2.
3. Edit portlet-custom. We do the same of point 3.
4. Finally, we give a title to the portlet. Create a file in“/portal/WEB-INF/classes/content” called Language-ext_en_US.properties and add the line:
javax.portlet.title.FreeId=My_Clon_Portlet
1. Edit liferay-display.xml and add a free id entry for that portlet.
2. Edit liferay-portlet.xml. We can copy the "
3. Edit portlet-custom. We do the same of point 3.
4. Finally, we give a title to the portlet. Create a file in“/portal/WEB-INF/classes/content” called Language-ext_en_US.properties and add the line:
javax.portlet.title.FreeId=My_Clon_Portlet
Thursday, September 17, 2009
Expanding Alfresco JVM memory
When we launch for first time Alfresco Comunity 3.2, we get this warning:
Alfresco JVM - WARNING - maximum heap size 494.938MB is less than recommended 512MB
We have to expand the JVM memory to solve it. Go to Alfresco install home and edit the alfresco.bat/alfresco.sh file , and modify the JAVA_OPTS like that:
Linux:
export JAVA_OPTS='-Xms256m -Xmx1024m -XX:MaxPermSize=512m -server
Windows:
set JAVA_OPTS='-Xms256m -Xmx1024m -XX:MaxPermSize=512m -server
Alfresco JVM - WARNING - maximum heap size 494.938MB is less than recommended 512MB
We have to expand the JVM memory to solve it. Go to Alfresco install home and edit the alfresco.bat/alfresco.sh file , and modify the JAVA_OPTS like that:
Linux:
export JAVA_OPTS='-Xms256m -Xmx1024m -XX:MaxPermSize=512m -server
Windows:
set JAVA_OPTS='-Xms256m -Xmx1024m -XX:MaxPermSize=512m -server
Subscribe to:
Posts (Atom)