Showing posts with label Liferay Articles. Show all posts
Showing posts with label Liferay Articles. Show all posts
Monday, April 2, 2012
Security System in Liferay
Here’s a brief outline of how you can use your own security system in Liferay.
• Create your own PermissionChecker class that extends Liferay’s PermissionChecker class.
• Register this new class in portal.properties (or portal-ext.properties for the EXT environment) under the permissions.checker property.
• Override the hasUserPermission(…) method and the hasGuestPermission(…) method with your
own calls to your permission system.
• You can call the setValues(…) method to pull in parameters from the request object that your permission
checker might need (e.g., userId, projected, etc).
• You can call the resetValues(…) method to wipe out old parameters.
• Override the isAdmin(…) method.
IFrame in Liferay
1. This portlet is defined in /portal-web/docroot/WEB-INF/portlet.xml.
<portlet>
<portlet-name>48</portlet-name>
<display-name>IFrame</display-name>
<portlet-class>com.liferay.portlet.IFramePortlet</portlet-class>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>edit</portlet-mode>
</supports>
<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
<portlet-preferences>
<preference>
<name>src</name>
<value>http://www.gfa.org</value>
</preference>
<preference>
<name>auth</name>
<value>false</value>
</preference>
<preference>
<name>auth-type</name>
<value>basic</value>
</preference>
<preference>
<name>form-method</name>
<value>post</value>
</preference>
<preference>
<name>user-name</name>
<value></value>
</preference>
<preference>
<name>password</name>
<value></value>
</preference>
<preference>
<name>hidden-variables</name>
<value>var1=hello;var2=world</value>
</preference>
</portlet-preferences>
<security-role-ref>
<role-name>Power User</role-name
</security-role-ref>
<security-role-ref>
<role-name>User</role-name>
</security-role-ref>
</portlet>
The unique id associated with this portlet is 48. The IFramePortlet class extends javax.portlet.GenericPortlet.
The source [http://content.liferay.com/document/api/portal-ejb/com/liferay/portlet/IFramePortlet.java.html] of
this class shows that this class prints an IFRAME tag that references an external site. This portlet is editable
and viewable by HTML browsers. The preferences bind the name src with the default value of http://www.gfa.org.
The auth value, if set to true, will attempt to authenticate the user to the external IFrame application. The authtype value can be set to basic or form. Basic authentication appends the login information to the URL and form
authentication requires a post to the external IFrame application. The form-method value can be set to get or
post. This is only used if you are using form authentication. The user-name value sets the user name for authentication. If you are using basic authentication, then you just need to set the user name. If using form authentication, you need to set the user name as a key value pair like acme_login=test@acme.com. The password
value sets the password for authentication. If using basic authentication, you just need the password. If using
form authentication, set the password as a key value pair like acme_password=password. The hidden-variables value is used for form authentication. Some forms require certain prepopulated fields in order to proceed
with authentication. Separate each key and value with a = and each key value pair with a ;. Users must have
either the Power User or User role to access this portlet. The roles can be changed at run time via the Admin
portlet.
2. The title is fetched by StrutsResourceBundle and is configured in /
portal-ejb/classes/content/Language.properties.
javax.portlet.title.48=IFrame
3. Additional definitions for this portlet are found in /portal-web/docroot/WEB-INF/liferay-portlet.xml.
<portlet id="48" struts-path="iframe" />
The id value in liferay-portlet.xml must match the portlet-name value in portlet.xml. The struts-path value
tells Struts that all requests starting with http://localhost/c/iframe/* are considered part of this portlet's scope.
See the Mail portlet to better understand this feature.
4. Display information for this portlet is found in /portal-web/docroot/WEB-INF/liferay-display.xml and makes it
possible for users to add this portlet via the personalize pages screen.
<category name="category.test">
<portlet id="47" />
<portlet id="48" />
</category>
When a user goes to personalize pages and clicks on a category to choose a portlet, the IFrame portlet is available under the category with the name that matches the key category.test. The value for this key is defined in /
portal-ejb/classes/content/Language.properties.
category.test=Test
Calendar in Liferay
1. This portlet is defined in /portal-web/docroot/WEB-INF/portlet.xml.
<portlet>
<portlet-name>8</portlet-name>
<display-name>Calendar</display-name>
<portlet-class>com.liferay.portlet.JSPPortlet</portlet-class>
<init-param>
<name>view-jsp</name>
<value>/portlet/calendar/view.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
<security-role-ref>
<role-name>Power User</role-name>
</security-role-ref>
<security-role-ref>
<role-name>User</role-name>
</security-role-ref>
</portlet>
The unique id associated with this portlet is 8. The JSPPortlet class extends javax.portlet.GenericPortlet. The
source of this class shows that this class looks for the init parameters and forwards to the appropriate JSP depending on the portlet mode. This portlet is viewable by HTML browsers. Users must have either the Power
User or User role to access this portlet. The roles can be changed at run time via the Admin portlet.
2. The title is fetched by StrutsResourceBundle and is configured in /
portal-ejb/classes/content/Language.properties.
javax.portlet.title.8=Calendar
3. Additional definitions for this portlet are found in /portal-web/docroot/WEB-INF/liferay-portlet.xml.
<portlet
id="8"
struts-path="calendar"
scheduler-class="com.liferay.portlet.calendar.job.Scheduler"
preferences-sharing-type="user"
show-portlet-access-denied="true"
show-portlet-inactive="true"
</
The id value in liferay-portlet.xml must match the portlet-name value in portlet.xml. The struts-path value tells
Struts that all requests starting with http://localhost/c/calendar/* are considered part of this portlet's scope. See
the Mail portlet to better understand this feature. The scheduler-class value must be a class that implements
Scheduler and is called to schedule Quartz jobs for this portlet. The preferences-sharing-type value indicates
the preferences sharing type of the portlet. If set to none, preferences are not shared and each page will have its
own set of preferences. If set to user, preferences are shared by user if the portlet is in a personal page or by
group if the portlet is in a group page. If set to company, preferences are shared across the entire company. The
show-portlet-access-denied value, if set to true, means non-permissioned users are shown that they do not have
access to the portlet. The default value is set in portal.properties. The show-portlet-inactive value, if set to true,
means users are shown that the portlet is inactive (if the portlet is inactive). The default value is set in
portal.properties
4. Display information for this portlet is found in /portal-web/docroot/WEB-INF/liferay-display.xml and makes it
possible for users to add this portlet via the personalize pages screen.
<category name="category.community">
...
<portlet id="8" />
...
</category>
When a user goes to personalize pages and clicks on a category to choose a portlet, the Calendar portlet is
available under the category with the name that matches the key category.community. The value for this key is
defined in /portal-ejb/classes/content/Language.properties.
category.community=Community
Code Conventions in Liferay
We are proud and passionate about super clean code. Wrap lines at 80 spaces and use real tabs equivalent to 4spaces. Follow the Java Code Conventions and read
The Elements of Java Style. And ABOVE all else, follow thprecedence of the rest of the code.
The Elements of Java Style. And ABOVE all else, follow thprecedence of the rest of the code.
Liferay with Groovy
Liferay with ruby
Liferay with PHP
Liferay with Groovy
Liferay with PHP
Liferay with Groovy
- We can create Groovy, Ruby or PHP portlets and use them with Liferay
- Liferay plugins repository has several examples of these
Liferay supports Web Services
Title: Web services in Liferay
• JSON
• Hessian
• Burlap
• REST
*RMI
• Spring HTTP
• WSRP
• WebDAV
Performance in Liferay
- Multi-tier clustering at any combination of multiple tiers(presentation, service, business logic, and database)
- Advanced Caching
- Page Caching
- Load Balancing
- Session Replication
- Distributed Cache
- Static Content Export
- Liferay Portal has been deployed to Amazon EC2 which uses virtualization and cloud computing technologies to scale dynamically to geographically specific areas of demand.
Security in Liferay
- Liferay Portal uses industry standard, governmentgrade encryption technologies including advanced algorithms such as DES, MD5 and RSA. Liferay was benchmarked as among the most secure portal platforms using LogicLibrary's Logiscan suite.
- · Pluggable Authentication
- Email Verification
- Granular Permissioning
- LDAP Authentication
- Session Management
Service Builder in Liferay
- · Liferay has very good service builder utility. We can specify our domain model in a service.xml file and run an ant task. The utility will create Java files, Hibernate files,and service classes
- Service Builder is a RAD tool, we may choose to use our own service framework and layer instead
Using the plugins sdk in liferay
· Plugins sdk can be used to create portlets and themes and deploy them to the Liferay portal
· Easiest and fastest way to start building the enterprise portal application
· Plugins are hot deployed to tomcat
·
· Plugins are fully JSR compliant and plugins developed outside sdk can also be used
*ant -Dportlet.name="hello-world" -Dportlet.display.name="Hello World " create
•ant -Dtheme.name="sample-theme" -Dtheme.display.name="Sample Theame “ Create
*ant deploy
Why use Liferay
- Need a portal based application
- Need rapid development and / or prototyping (Well, most projects do !)
- Need collaboration e-commerce, internationalization
Thursday, March 29, 2012
popup in liferay
To implement popup on popup in liferay is quite simple. We need to have 2 pages one parent page on which 1st popup is already opened and 2nd page which will be opened in 2nd popup.
For 1st page call:
functionparentPage(url) {
var popup = Liferay.Popup(
{
stack: true,
draggable:false,
title: 'Parent Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
here stack:true property is important which is responsible for pop on popup.url is which page we want to load . It can be portlet url. Other parameters are self explanatory.
In child page you can simply write another popup.
functionchildPage(url) {
var popup = Liferay.Popup(
{
title: 'Child Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
Thanks and Hope this help few people.
For 1st page call:
function
var popup = Liferay.Popup(
{
stack: true,
draggable:false,
title: 'Parent Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
here stack:true property is important which is responsible for pop on popup.url is which page we want to load . It can be portlet url. Other parameters are self explanatory.
In child page you can simply write another popup.
function
var popup = Liferay.Popup(
{
title: 'Child Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
Thanks and Hope this help few people.
popup in liferay
To implement popup on popup in liferay is quite simple. We need to have 2 pages one parent page on which 1st popup is already opened and 2nd page which will be opened in 2nd popup.
For 1st page call:
functionparentPage(url) {
var popup = Liferay.Popup(
{
stack: true,
draggable:false,
title: 'Parent Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
here stack:true property is important which is responsible for pop on popup.url is which page we want to load . It can be portlet url. Other parameters are self explanatory.
In child page you can simply write another popup.
functionchildPage(url) {
var popup = Liferay.Popup(
{
title: 'Child Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
Thanks and Hope this help few people.
For 1st page call:
function
var popup = Liferay.Popup(
{
stack: true,
draggable:false,
title: 'Parent Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
here stack:true property is important which is responsible for pop on popup.url is which page we want to load . It can be portlet url. Other parameters are self explanatory.
In child page you can simply write another popup.
function
var popup = Liferay.Popup(
{
title: 'Child Page',
position:[110,50],
modal:true,
width:450,
height:365,
url:url
}
);
}
Thanks and Hope this help few people.
Hiding portlet in liferay
Simple Approach:
It is very difficult to hide or show portlet at user level. To get rid of these type of problem liferay provide us Roles. So we can create roles and on those roles we can easily assign permission on each portlet.
Creating role in liferay is very simple.
Just login as Admin and using dock navigate to control panel , click on Role from left panel and then click Add...for more details refer portal administration guide from liferay.
Once this is done click on define permission and select portlet permission.
e.g. Suppose you want to remove view permission from portlet A then uncheck view.
When you will login as user with that role then you will get message something like this.
"you don't have required permission to access this portlet"
Finally to make this portlet invisible for that role user who is not having required permission to view the portlet.In portal-ext.properties add this line
layout.show.portlet.access.denied=false
It is very difficult to hide or show portlet at user level. To get rid of these type of problem liferay provide us Roles. So we can create roles and on those roles we can easily assign permission on each portlet.
Creating role in liferay is very simple.
Just login as Admin and using dock navigate to control panel , click on Role from left panel and then click Add...for more details refer portal administration guide from liferay.
Once this is done click on define permission and select portlet permission.
e.g. Suppose you want to remove view permission from portlet A then uncheck view.
When you will login as user with that role then you will get message something like this.
"you don't have required permission to access this portlet"
Finally to make this portlet invisible for that role user who is not having required permission to view the portlet.In portal-ext.properties add this line
layout.show.portlet.access.denied=false
Hiding portlet in liferay
Simple Approach:
It is very difficult to hide or show portlet at user level. To get rid of these type of problem liferay provide us Roles. So we can create roles and on those roles we can easily assign permission on each portlet.
Creating role in liferay is very simple.
Just login as Admin and using dock navigate to control panel , click on Role from left panel and then click Add...for more details refer portal administration guide from liferay.
Once this is done click on define permission and select portlet permission.
e.g. Suppose you want to remove view permission from portlet A then uncheck view.
When you will login as user with that role then you will get message something like this.
"you don't have required permission to access this portlet"
Finally to make this portlet invisible for that role user who is not having required permission to view the portlet.In portal-ext.properties add this line
layout.show.portlet.access.denied=false
It is very difficult to hide or show portlet at user level. To get rid of these type of problem liferay provide us Roles. So we can create roles and on those roles we can easily assign permission on each portlet.
Creating role in liferay is very simple.
Just login as Admin and using dock navigate to control panel , click on Role from left panel and then click Add...for more details refer portal administration guide from liferay.
Once this is done click on define permission and select portlet permission.
e.g. Suppose you want to remove view permission from portlet A then uncheck view.
When you will login as user with that role then you will get message something like this.
"you don't have required permission to access this portlet"
Finally to make this portlet invisible for that role user who is not having required permission to view the portlet.In portal-ext.properties add this line
layout.show.portlet.access.denied=false
Reading tempelates in liferay
Brief Overview:
If we see in existing liferay source code then we can find the email tempelates regarding
create account and forgot password in com/liferay/portlet/admin/dependencies/ and they are read from there.
In 1 case I can tell you from UserLocalServiceImpl and corresponding entry for each tempelate is there in
portal.properties
Enough theory time to do your self:
1.Just create a folder in ext-impl may be u can choose this path
ext-impl\src\com\mytempelate
2.Write a simple tempelate
eg:
Dear [$TO_NAME$],<br /><br />
Hi this is my first tempelate.<br /><br />
Sincerely,<br />
[$FROM_NAME$]
save this as my_first_tmpl.tmpl
3.make an entry in portal-ext.properties
for our example like this :
ext.myfirst.tempelate=ext-impl\src\com\mytempelate\my_first_tmpl.tmpl
This is just a normal key value pair.
4.Now time to read your tempelate
String firstTemeplate = PrefsPropsUtil.getContent(user.getCompanyId(),"ext.myfirst.tempelate");
or
String firstTemeplate = ContentUtil.get("ext-impl\src\com\mytempelate\my_first_tmpl.tmpl");
5. We can easily replace the content :
String firstTemeplate= StringUtil.replace(firstTemeplate, new String[] {"[$TO_NAME$]","[$FROM_NAME$]"
}, new String[] {
"any_name","any_name"
});
CK editor in Liferay 6.0
Follow these 4 simple steps.
Step 1.Add below line on your page
<liferay-ui:input-editor width="80%" />.
Step 2.Create hidden variable to set the value of CK editor like below
<aui:input name="content" type="hidden" />
Step 3.Add javascript init method like this
<aui:script>
function <portlet:namespace />initEditor() {
return "<%= UnicodeFormatter.toString(content) %>";
}
</aui:script>
Step 4:On submiting form we can assign CK editor value like this
function <portlet:namespace />saveEntry() {
var message = window.<portlet:namespace />editor.getHTML();
document.<portlet:namespace />fm.<portlet:namespace />content.value = message;
submitForm(document.<portlet:namespace />fm);
}
Currently we are having problem in liferay 6.0 is that when we refresh CK editor page , it gives JS error.
For that fix is like this get html/js/editor/ckeditor.jsp in function initCkArea() comment line 52 and 53 which starts with CKEDITOR.config.toolbar and CKEDITOR.config.customConfig respectively and add below line
ckEditor.setData(parent.<%= HtmlUtil.escape(initMethod) %>());
In the same file comment line number 131 i.e
initCkArea(); and add
if (parent.AUI) {
parent.AUI().on('domready', initCkArea);
}
In side CKEDITOR.replace method at line number 123 in same file comment line starts with filebrowserBrowseUrl , filebrowserUploadUrl and
add below code
customConfig: '<%= PortalUtil.getPathContext() %>/html/js/editor/ckeditor/ckconfig.jsp?p_l_id=<%= plid %>&p_p_id=<%= HttpUtil.encodeURL(portletId) %>&p_main_path=<%= HttpUtil.encodeURL(mainPath) %>&doAsUserId=<%= HttpUtil.encodeURL(doAsUserId) %>&cssPath=<%= HttpUtil.encodeURL(cssPath) %>&cssClasses=<%= HttpUtil.encodeURL(cssClasses) %>',
filebrowserBrowseUrl: '<%= PortalUtil.getPathContext() %>/html/js/editor/ckeditor/editor/filemanager/browser/liferay/browser.html?Connector=<%= connectorURL %>',
filebrowserUploadUrl: null,
toolbar: '<%= TextFormatter.format(HtmlUtil.escape(toolbarSet), TextFormatter.M) %>'
Finally add required import i.e
<%@ page import="com.liferay.portal.util.PortalUtil" %> and one extra variable
String portletId = ParamUtil.getString(request, "p_p_id");
Step 1.Add below line on your page
<liferay-ui:input-editor width="80%" />.
Step 2.Create hidden variable to set the value of CK editor like below
<aui:input name="content" type="hidden" />
Step 3.Add javascript init method like this
<aui:script>
function <portlet:namespace />initEditor() {
return "<%= UnicodeFormatter.toString(content) %>";
}
</aui:script>
Step 4:On submiting form we can assign CK editor value like this
function <portlet:namespace />saveEntry() {
var message = window.<portlet:namespace />editor.getHTML();
document.<portlet:namespace />fm.<portlet:namespace />content.value = message;
submitForm(document.<portlet:namespace />fm);
}
Currently we are having problem in liferay 6.0 is that when we refresh CK editor page , it gives JS error.
For that fix is like this get html/js/editor/ckeditor.jsp in function initCkArea() comment line 52 and 53 which starts with CKEDITOR.config.toolbar and CKEDITOR.config.customConfig respectively and add below line
ckEditor.setData(parent.<%= HtmlUtil.escape(initMethod) %>());
In the same file comment line number 131 i.e
initCkArea(); and add
if (parent.AUI) {
parent.AUI().on('domready', initCkArea);
}
In side CKEDITOR.replace method at line number 123 in same file comment line starts with filebrowserBrowseUrl , filebrowserUploadUrl and
add below code
customConfig: '<%= PortalUtil.getPathContext() %>/html/js/editor/ckeditor/ckconfig.jsp?p_l_id=<%= plid %>&p_p_id=<%= HttpUtil.encodeURL(portletId) %>&p_main_path=<%= HttpUtil.encodeURL(mainPath) %>&doAsUserId=<%= HttpUtil.encodeURL(doAsUserId) %>&cssPath=<%= HttpUtil.encodeURL(cssPath) %>&cssClasses=<%= HttpUtil.encodeURL(cssClasses) %>',
filebrowserBrowseUrl: '<%= PortalUtil.getPathContext() %>/html/js/editor/ckeditor/editor/filemanager/browser/liferay/browser.html?Connector=<%= connectorURL %>',
filebrowserUploadUrl: null,
toolbar: '<%= TextFormatter.format(HtmlUtil.escape(toolbarSet), TextFormatter.M) %>'
Finally add required import i.e
<%@ page import="com.liferay.portal.util.PortalUtil" %> and one extra variable
String portletId = ParamUtil.getString(request, "p_p_id");
Apply Color Schemes in Liferay Theme
Apply Color Schemes in Our Theme
The technique documented here creates a "color scheme" that has the borders turned off, but preserves the other attributes of the theme, and does so with a single CSS source set (allowing for easier maintenance). It uses a CSS design pattern known as "CSS sub-class selectors." Note that this technique can be used for more than just borders. It can be used when you have several very small variations on a single theme, and you want to keep all of those variations in a single source file.
Step1. import the color scheme css in custom.css and write css for display the color schemes div
@import url(color_schemes/blue.css);
@import url(color_schemes/red.css);
/*------------color Schemes ------------*/
.color_schemes {
position:absolute;
text-align:right;
width:100%;
margin-top:65px;
}
Step2. Then in portal_normal.vm write this code
<div class="color_schemes">
<table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" title="change theme color">
<input type="image" src="$images_folder/color_schemes/red.png" onclick="body.className=value; setCookie('bgColor',value,60);" name="theme" value="red" id="red" width="10px" height="10px">
<input type="image" src="$images_folder/color_schemes/blue.png" onclick="body.className=value; setCookie('bgColor',value,60);" name="theme" value="blue" id="blue" width="10px" height="10px">
</td>
</tr>
</table>
</div>
Step3. Then deploy from your theme
Enable OpenOffice in liferay
To enable document conversion in the Document Library portlet, follow the instructions bellow:
For Windows user
1) Install OpenOffice.org v2.0.3 or higher (has been tested on many versions, include 3.2).
2) Go to the folder where it was installed (for example, C:\Program Files\OpenOffice.org\program) and start OpenOffice service with the following command:
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
For Linux user
1) Goto Openoffice installing path.From command prompt type this line
"cd /usr/lib/openoffice/program"
2) Same command prompt copy & paste this code
"sudo soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless –nofirststartwizard"
In latest linux we need run this commend with user name ubuntu 10.4 + use this code it will ask password give your root user password..
"sudo -H -u root /usr/lib/openoffice/program/ soffice "-accept=socket,host= localhost,port=8100;urp; StarOffice.ServiceManager" -nologo -headless -nofirststartwizard"
For Mac user
1) If you are running on Mac OS X, then you should run the following from the Terminal program (note that this is assuming you are running Open Office and it is installed in your /Applications directory.
/Applications/OpenOffice.org.app/Contents/MacOS/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless
In liferay GUI
2) Go to control panel then click on the Server Administration tab, then OpenOffice tab. Click on enable, in case OpenOffice is listening to a different port change the it accordingly.
You should see this when you View a document in Document Library, click on the desired conversion.
2) Web content Display
You should see this when you click configuration select which are the format guest could download. Then click save button show the option to guest.
For Windows user
1) Install OpenOffice.org v2.0.3 or higher (has been tested on many versions, include 3.2).
2) Go to the folder where it was installed (for example, C:\Program Files\OpenOffice.org\program) and start OpenOffice service with the following command:
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
For Linux user
1) Goto Openoffice installing path.From command prompt type this line
"cd /usr/lib/openoffice/program"
2) Same command prompt copy & paste this code
"sudo soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless –nofirststartwizard"
In latest linux we need run this commend with user name ubuntu 10.4 + use this code it will ask password give your root user password..
"sudo -H -u root /usr/lib/openoffice/program/
For Mac user
1) If you are running on Mac OS X, then you should run the following from the Terminal program (note that this is assuming you are running Open Office and it is installed in your /Applications directory.
/Applications/OpenOffice.org.app/Contents/MacOS/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless
In liferay GUI
2) Go to control panel then click on the Server Administration tab, then OpenOffice tab. Click on enable, in case OpenOffice is listening to a different port change the it accordingly.
Places where this integration is used.
1) Document Library portletYou should see this when you View a document in Document Library, click on the desired conversion.
2) Web content Display
You should see this when you click configuration select which are the format guest could download. Then click save button show the option to guest.
Subscribe to:
Posts (Atom)