What is a plugin project in liferay - liferay

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.

Related

Minimal portlet environment for developing?

At our company we are using Liferay for portals. My biggest issue with developing for such a huge framework is that the restart takes a lot of time even on a decent PC. We're trying to use hot deploying were it's possible but this sometimes just doesn't work (dependencies require restart, PermGen space errors occurs sometimes and Liferay have to be killed, etc.)
What i'm thinking about is that with most of our portlet's we are not really using any Liferay specific services just the JSR 168 provided things which is a standard. So i'm wondering if there's any minimal portlet environments available for Jetty or Tomcat which we can use for quicker portlet development? Of course i know that once i encounter a Liferay specific service call this is not an option.
I was testing Apache Pluto earlier which is a full blown but still lightweight portlet container however it works differently the way the portlet wars are assembled (web.xml should be modified) and it breaks compatibility in our build environment with Liferay. So it's not an option but i'm looking for something similar.
I've never used life ray portal, but too much played with GateIn portal because IBM Portal is heay, mostly for quick development on JSR-286 i used gatein
Currently used for visioneo.org, very flexible for every kind of use, large community.
Here is short summary
Liferay Currently used for visioneo.org, very flexible for every kind of use, large community.
eXo Platform Awesome look and set of web applications embedded. Last generation portal, very impressive! Based on Gatein
JBoss EPP Based on gatein, and designed to work with JBoss middleware architecture
Gatein A great portlet container. Light weight, easy to use. But unlike Liferay and eXo, it does not ship with collaborative portlets (Forum, Wiki etc.)
uPortal Beautiful portal, though its CSS are very intrusive: some BIRT styles are broken by uPortal's css.
Pluto Not really a portal, Apache Pluto can be used as a development / test platform. Often considered as a reference for portlet specifications.
Jahia Great look however not based on standards: portlets are supported but not really highlighted, a specific module technology is used instead
You might want to try the JRebel integration for Liferay. There's an introduction Webinar available, I don't know if it fully applies to the current implementation (the webinar is a bit aged) but it will give you an idea of the product/project.

Is Liferay suitable for an API Documentation Site?

I've been tasked with creating a documentation website for some services that we expose externally. Part of my task is to find out what the best base software would be to build this site. One of my specific objectives is to determine whether or not the Liferay Portal software or its plugins are suitable for building what is primarily functioning as an API documentation website. It seems like Liferay is meant for more content-driving applications, such as news, wikis, blogs, etc.
If Liferay is suitable for this task, are there any pointers on what the general layout should be for the site?
Liferay itself is proving to be rather complicated to learn, so I figured that it'd be better to figure out if I'm wasting my time or not before really diving into learning how to use it.
At the same time, are there any better, non-commercial alternatives?
Thanks!
I am creating web portal using Liferay and I implemented a simple document browsing page. I was using amazon java libraries to accomplish that and it was quite easy(just download all of the jars, include them in your portlet library folder and AWS(AmazonS3) is ready to use). On the other, the programmatic part of creating this portals with Liferay is quite a lot. I suggest you if you don't like programming to chose another software :)
I hope this was helpful! Its just an advice not a concrete answer.
Good luck with developing your website :)

How is your approach for creating your own set of controls aka own Extensions Library?

What is your approach for creating your own set of controls aka own Extensions Library? After a few years of Xpages development we have a huge set of controls that are general purpose for building UI, some web services etc. (Probably as most other developers.) When we start a new project now we have to copy the entire stuff from one database to new one which involves controls, jars, css, images, JAVA code ... and then you completely loose control to maintain some central version of this controls & codes, everything is scattered among several projects/databases and things get messy fast.
We have thought about creating our own extension library as described here
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer_Guide but there is not enough documentation for this topic and the entire development process is quite complicated (at least seems to me. I tried two times based on docs above going through eclipse plugin project -> feature project -> update site and still having some bugs around)
What is your experience and approach for creating and maintaining shared Xpages controls in your Domino environment? Is there some hidden feature we miss here that can help us?
Take a look at the XSP Starter Kit on OpenNTF and the XPages SDK to setup an eclipse environment for plugin development. You'll also want Eclipse IDE for RCP and RAP Developers. Install the starter kit and SDK into eclipse and you should be all set.
The starter kit is a sample plugin with all kinds of examples of phase listeners, components, etc. Once you want to deploy your plugin, create an update site from within eclipse and use the Update Site NSF available on your server install to place your update site. Once that's done, you can replicate that NSF to any other servers that may need the plugin.
For more information about the starter kit, take a look at this slide deck. There is also a github project for the starter kit. Documentation for the XPages SDK can be found here. And a video for setting up the SDK is available on youtube. Lastly, here's the documentation for setting up the update site NSF.
While we haven't gotten to that yet in XPages, our model for regular Notes design elements is to have a central template that contains the elements that are shared, with those specific design elements marked to inherit from that template. Sometimes, a database inherits design elements from two different central templates.
That way, those centrally controlled design elements remain the same in all databases.
I would recommend looking at some example's on github for how they have library/components setup. One of the more simpler examples that has just a single component built into a Library is Steve Pridemore's App Layout Extension...https://github.com/DominoDev, Another good one is Nathan Freeman's Starterkit: https://github.com/the-ntf/xspstarterkit. Hopefully these will help you get the file structure down on which files you need and how they work.

entreprise intranet Liferay or Alfresco

I want to create an enterprise intranet , that provides authentication of employees and management profiles, messaging, calendar, document management...
I think I can use php or java CMS , for the moment after some research I decided to use Liferay or Alfresco. The problem is that I don't really know the difference between them , and what I have to choose .
They're quite different products, solving different business needs.
Liferay
It's a Java Portal. It focuses on creating web sites that are able to integrate data coming from different sources and applications in the same page. Using portlets, you compose a page to enrich it with such mini applications. It's mostly used to create web sites that aggregate information and contain interactive features such as online chat, blogs and the like. It also provides document management as part of its features, with the possibility of integrating Alfresco as a backend.
Alfresco
It's an Enterprise Content Management system. It revolves around documents, their lifecycle and collaboration capabilities over such documents. With the advent of Share, Alfresco now offers a lightweight portal-like application that lets you place "dashlets" in both an User Dashboard and a Site Dashboard (sites are shared workspaces).
While you can have non-document centric dashlets, blogs and wikis, they're not extremely sophisticated, and most of Alfresco features focus on document management and online collaboration.
I have not worked with portals for quite a while, but I guess the answer is : It really depends. :)
Seriously, in your requirements context I would compare Alfresco Share with Liferay. Both compose pages in a similiar fashion with Webscripts/Portlets components and have security baked in.
I think the most important factor to consider is your skill set.
If you feel at home with Java, the Portlet spec and server side logic : Lean towards Liferay. Alfresco Share/Spring Surf should serve you better if you prefer Javascript in the browser and JSON/REST style programming.
Besides, validate how strong your document management requirements are.
Do you really need super sophisticated search, workflow, versioning, security and the like ?
Sophistication increases complexity. That is also why I would be careful before introducing them both at the same time.
Another point to have in mind may be documentation - guess this point goes to Liferay.
Liferay's primary strength is as a portal where you use existing "applications" to fit your need, or create your own using the Portlet spec. Alfresco is a CMS, so it focuses on content management.
Why not use both?

Liferay Portal : How different from Websphere Portal

I have worked with Websphere Portal 6.0,6.1 and developed portal applications usign JSR 168,JSR 286 Portlets.
Now I am moving to project where I will be working with Liferay portal server and JSR 168,JSR 286.
I know that as per programming interface (JSRs) It will be the same. But want to know what are the major difference at server level ( features,configuration,architecture, out-of-box services) when compared to Websphere Portal ?
Thanks
Liferay also supports JSR168 and JSR286 portlets, so in respect to that you can use the same API's as you are using in WebSphere Portal. The product itself cannot be easily compared to WPS as they both have different concepts. Liferay doesn't have a credential vault, for example, but it still supports SSO (NTLM or CAS). Your WebSphere Portal knowledge won't help you much in Liferay development, as it is a totally different product.
I agree the configuration will be different but I think it will help a lot the fact that you are prepared to think about the information architechture.
The main difference is that Liferay is not really that much prepared for escalability. It uses velocity so neither of the tags you use will help (Placeholders, component, element, etc).
It doesnt have that many portlets by default so you will have to develop a lot from the starter point.
Check this out for a really nice comparision (the slides are in spanish, and require the flash plug-in):
http://www.slideshare.net/mcimino/websphere-portal-vs-liferay-by-gartner-v10
Basically Liferay weaker points are in B2C and support. If you need to build a site that will rely heavily on personalization, you will have much work to do too.
Hope it helps

Resources