How to support file upload in web-form Liferay 7? - liferay

I need a simple extension for Liferay web form to enahance file attachment to data flled in a liferay 7 web form.
Also need to sent this file as an attachment with the email to the registered user.
I know how to achieve this functionality in liferay 6.2 but not about liferay 7. I am using liferay 7 GA-5 CE.
Any help appreciated.

You need to create a custom form field type plugin, please find liferay wiki here Creating Form Field Type. and follow below steps,
Change input type to file in soy file path is
src/main/resources/META-INF/resources/your-plugin-type-name.soy
Create a fragment of dynamic.data.list.form.web bundle and override display/view.jsp to accept the file i.e. multipart data.
Override AddRecordMVCActionCommand action command to store the selected file as you required.
Build and deploy all 3 plugins
Hope this will help you.

Related

How to show a file browser and Select files from Liferay Document Library in my custom portlet using ItemSelector

I want to display a file browser to show the Liferay Document Library files and folders and let the user select or upload his files, in my custom portlet.
There is such implementation in the Liferay portal itself now, but I could not find its source code in the Liferay portal source code. (see attached photo)
I need to have both the frontend and backend implementation of ItemSelector for such a use case. I searched Liferay documents but did not find any examples.
I use Liferay 7.3, React and PrimeReact components in the front-end and REST Services in the back-end and have not used JSP in the back-end. (should I use JSP to open the selection modal in the front-end?)

How can I create Liferay web content structure's outside of Liferay configuration?

I'm very new to Liferay theme development and i'm trying to find the most optimal workflow for development.
So I've been experimenting with creating Web Content Templates and Web Content Structures within Liferay CMS configuration.
What I would ideally like to do is create my view "Web Content Structure" outside of Liferay configuration and instead have it as a view/template inside my theme files so that I can have my code peer reviewed and version controlled in Bitbucket.
Is this possible?
Alternatively is there a way to output the values of a given web content instance within my theme?
I'm building a theme for Liferay 7 by the way.
Thanks in advance
Richard
You can copy and paste the structure when you create them form the LFR editors into your source code repository.
Also if you know how to define the JSON you can do it straight in the file. The free market templates are even easier to edit in file format. When you're done, you need to go and upload the artefacts to the portal via the editor/file upload option.
You can't stick it into the theme because that approach would not allow you to do updates.
You can search for a community plugin or write your own one that would do structure/template updates during deploy.

Converting Vignette Portlets to Liferay Portlets

As the title states, i'm trying to convert these Vignette portlets into Liferay portlets.
Is there any documentation on this anywhere? I've searched the entire Internet
-When trying to deploy my WARs right off the bat, I'm getting a "missing liferay.plugin.packet.xml" which tells me the entire portlet must be reconfigured to work with Liferay.
-Running Liferay 6.1.1 ga2 on Web Logic 12c server
Cheers!
You mean "liferay-plugin-package.xml", don't you?
You will find such a file in the source of Liferay at /portal-web/docroot/WEB-INF/liferay-plugin-package.xml. For other examples just download sources from other Portlets (Github or Liferay-Marketplace).
Besides some other values, this file defines how Liferay should handle your war (layout-template, portlet, theme).
EDIT: As the marketplace does not allow (plz see the comment in: liferay-plugin-package_6_1_0.dtd) portlets having an liferay-plugin-package.xml, I would recommend to use the corresponding properties file.
Reference file (in the portal sources): /definitions/liferay-plugin-package_6_1_0.properties

how to create a login liferay portlet using jsp in eclipse

I'm new to liferay, trying to create web app using liferay protlets. I'm trying to create a custom login portlet. In html file, using form action method I'm trying to call a jsp file, which is giving error. help me out. can you give suggest some tuts so tat I can learn how to design dynamic liferay protlets and to deploy in the liferay portal server.
You can achive login in liferay by
An AutoLogin hook http://www.liferay.com/community/wiki/-/wiki/Main/Portal+Hook+Plugins#section-Portal+Hook+Plugins-Portal+Properties
Extending authentication pipeline http://www.liferay.com/community/wiki/-/wiki/Main/Developing+a+CAS#section-Developing+a+CAS-Authenticaton+Pipeline
By your custom implementation http://www.liferay.com/it/community/forums/-/message_boards/message/16008439
Extending Liferay itself (by EXT plugin) https://www.liferay.com/community/wiki/-/wiki/Main/Ext+Plugin
I would suggest doing them in the order I specified, as they increase in complexity.
Please do let me know of any specific queries in these.

Setting up a new website with Liferay Portal - basic steps?

I know this is not specifically a programming question, but programmers will often have to do this work.
How do I create a website with Liferay portal - the docs are pretty light on this fundamental issue and are all for version 4.4. I am using version 5.2 and the docs don't seem to be relevant.
Do you know what the basic steps are. So far I have logged in as the bruno user and can see the 7cogs website and edit it. But I now need to create my own website (for my company) and be able to develop portlets to add to the parts of the page.
Further I notice that the docs talk about doing work in Eclipse. If our website is all static HTML, (the reason we want liferay is mainly so that we can edit content items using its content management tools), then will there be any need for Java dev, or will it all be drag n drop and clicking to get setup. Any guidance will be much appreciated.
Liferay can be used as a simple CMS, without much Java knowledge : creating, editing and positioning of web content fragments are drag'n'drop and use of the included rich text editor.
But to start using Liferay for your company, there are two main steps : a technical configuration (database, etc.), and a look'n'feel customization.
The technical part
First of all, you should get rid of the 7cogs website : this is called a hook in the Liferay wording. To do that, if you are using Tomcat for the application server, just delete the 7cogs directory as stated here.
You can now create the configuration file for your installation : it's a simple text properties file, named portal-ext.properties and placed in the webapps/ROOT/WEB-INF/classes folder of your tomcat installation.
This file handles most of the configuration of the Liferay portal, for example :
the name of your company
if you want to display a terms of use page on first login
if you want anybody to be able to create an account on your portal
the database where the data will be stored
To do this, the properties in the portal-ext.properties override default properties found in a embedded portal.properties file located in the jar file portal-impl.jar, in the webapps/ROOT/WEB-INF/lib directory. Just unzip the jar file in a temporary folder to access the portal.properties file.
A sample portal-ext.properties file :
company.default.web.id=yourcompany.com
terms.of.use.required=false
company.security.strangers=false
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=root
Once done, you can startup your application server. As the default admin (named test, something you can change in the portal-ext.properties file), you can access to the centralized web "control center", located in the "dock" (the strange menu labelled "welcome Test" in the upper right part of any page once logged in).
I would advise you to read the administration guide, useful for most administrative tasks.
The "branding" part
Liferay uses "Themes" to automatically decorate the portal pages (logo, navigation, portlet borders...) using images, CSS, Javascript (JQuery) and the templating language Velocity. The themes are bundled in a .war file, like a standard web application, and deployed on the fly either via the control center or by dropping the file in the deploy directory of the server.
Liferay can use several themes at the same time, one for each community (a group of pages, users and content) for example.
Creating your own theme can be done afterwards, using the "Plugins SDK".
The Wiki, forums and blogs can be very useful.

Resources