I am trying to develop a portlet that has a domain class and database mapping for it done with ServiceBuider. Classes and numerous config files get generated fine, but deploying fails to exception (don't have them available right now).
Is ServiceBuilder supposed to work in liferay sdk 6.0.5 for ordinary Liferay portlets, or is it usable only for ext-plugins/hook-plugins/ liferay Internals? Am I missing some other undocumented restrictions/dependencies.
yup, ServiceBuilder is supposed to work from portlet plugins (and it definitely does). It's deprecated (but works) in ext plugin. See the KnowledgeBase Portlet from the plugins (svn-username: "guest", password is empty)
To find a solution for your problems it would really help to get the exact steps you do as well as the exact exception.
Related
I use Liferay CE 7.3.4 and I need to use IPC in my portlets so I tried to test most basic communication between two portlets. My first try was with JSF portlet and it didn't work to put it simply it acts as if IPCEvent doesn't exist, the same is for PublicRenderParameters. So I tried doing it in Liferay MVC and I got same results. But when I tried to run this portlets on Liferay 7.2 everything works perfectly.
So I have one very simple question are IPCEvents and PublicRenderParameters still supported in Liferay 7.3, and if they are how to enable them.
I would like to know if you can import the interface used for XPages (oneui) inside the application without the need to have to referencing the server or extend it.
Thank you
Since 8.5.3 OneUI has been delivered via an OSGi plugin on the server. Most modern XPages applications are being built using bootstrap look and feel instead, which is again in the OSGi plugin for XPages Extension Library on OpenNTF. IBM have also moved away from OneUI for IBM Verse and for responsive XPages have adopted bootstrap. I'm not aware of anyone who has tried to pull those into an NSF, and I would not advise it. You may hit Java security exceptions with some of the code, mapping between resources may not work, and there are an immense number of Java classes and other resources. And if you do hit any issues, you are unlikely to find much help to solve them.
I'm new to liferay. And I've some basic question that what is liferay all about. What is a liferay plugin project or service builder project? Is liferay any framework,GUI tool, a content manager or WHAT?
I know that you guys are not engaged with this tool in this BLOG but still somehow it is related to java. So please guys help me.
Have you tried reading the liferay tag-wiki on stackoverflow? Just hover your mouse over it and you will have answers to all your questions. And if you want more just click on the pop-up and you would also find details about how to learn more about Liferay.
Still as per the norms of answering, here are some brief answers to your question:
Is liferay any framework,GUI tool, a content manager or WHAT?
Liferay is an open source JSR 286 compliant web-portal and social platform, written in Java. It includes content-management and more. It has different plugins known as portlets like Blogs, Forums, Document management, Content management etc.
What is a liferay plugin project or service builder project?
Plugin projects are nothing but small components/applications/widgets that run in the portal. Some might have UI and others might run in the backend.
Service Builder is a framework in liferay to ease development of services which might include service to access database, web-services, json web-services.
Everything else is given in the tag-wiki and the wiki also includes links to official resources if you wish to use/develop in liferay.
plugins are features which developers add them to portals like liferay.
for example:
liferay hooks are defined to do some tasks, like user's authentication, adding users, etc .. and we want change (override) that hooks, so we need develop ext plugins to do this for us.
We have downloaded the Notifications portlet from liferay which modifies the JSP:
html/portlet/dockbar/view_user_account.jspf
And we are also modifying this particular jspf in our hook.
Currently what we are doing is we are copying the code from notifications portlet in our custom hook and are deploying our custom hook at the end so that our changes are applied.
Or else we would need to remove the JSP hook from notifications portlet by modifying the notification portlet's source.
Are there any better ways to achieve this?
Thanks
Unfortunately you're stuck between a rock and a hard place. You'll need to modify one of the plugins to not contain the JSP. Liferay can handle each JSP to be overridden max once.
An alternative might be to "hack" your changes through JS DOM manipulation after the page is displayed. This makes maintenance harder, but eases daily business and updates.
The big problem with any workarounds that involve two plugins changing the same JSP is that order is not defined. Also, it can be destructive: After deploying and undeploying two plugins that modify the same JSP, the original JSP is gone :(
Deploying plugin A, then B, followed by undeployment of A will leave you with only plugin B deployed, but use A's version of the overridden JSP.
Fairly new to Liferay. I learned it is possible to create plugins UI with different frameworks including JSF. Also I learned I can extend functionality of an existing plugin with hooks. Now I am curious if it is possible to add new JSF pages to an existing plugin which interface is build with JSP using hooks?
Suppose I want to extend dynamic data list portlet, add some new functionality and for this I need to add new pages.
Is it possible to add new pages in general?
Can I create a new plugin with JSF as a front end framework, implement the logic I want to add within JSF pages, would it be possible to redirect a user from an original JSP to those JSF pages, let user do something there and then return the user back to original dynamic_data_list JPSs?
If it is possible, how can I do this with Liferay 6.2?
Thanks
The mechanics are documented in the developer guide or the Wiki. It's not exactly a hook that you deploy to the running system, rather a development option to inject custom changes into existing plugins, and you deploy the modified version instead of the original one.
With this, you can do everything that you can add as extra feature this way (see the build process). Technically the answer to the first two bulletpoints is "yes". If the linked documentation doesn't help answering your third bulletpoint, please ask more specifically what actually doesn't work. But keep in mind that only core liferay is customizable with hooks, plugins are customizable at compile time - and not with hooks.