Forums de discussion

CMS Document Upload while Create / Edit Web Content

thumbnail
M. Garcia, modifié il y a 12 années.

CMS Document Upload while Create / Edit Web Content

Regular Member Publications: 107 Date d'inscription: 17/05/11 Publications récentes
Hello,

I think it's embarrassing from a user point of view, that one can't upload a document while creating a new Web Content.
You can easily add the document library in the structure, but this means the user must :
  • upload the document in the document library
  • create the new web content, and select the document from the library


This should be done as a same action, i.e. the user should be able to upload a document in the library in the very same form that creates / edit the web content.

PS: similar problem with Image Gallery
thumbnail
Hitoshi Ozawa, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Publications: 7942 Date d'inscription: 24/03/10 Publications récentes
Do you mean to upload an file into the global area?
thumbnail
M. Garcia, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Regular Member Publications: 107 Date d'inscription: 17/05/11 Publications récentes
I mean, my article structure has a (repeatable) "Document Library" field.
When a user creates a new web content using this structure, to attach a file via the doc library field, the file must already be uploaded in the doc library.

I think it would be more friendly to provide ability to upload a document while creating the web content, i.e. when the user clicks on "select" and gets to browse the library, there should be an option to upload from computer in the library here.

For example, under "Documents" title in each folder, adding a link "Upload document here" wich is a simple form upload.

The way it is for now forces a user to separately upload a doc in the library, prior to creating the web content, and that's not what a user wants.
thumbnail
Juan Fernández, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Publications: 1261 Date d'inscription: 02/10/08 Publications récentes
Hi! I think this is important and interesting. Thanks for bringing this up.
Where else do you guys think this may make sense?
M García, can you please open an "Improvement" ticket in issues.liferay.com describing the issue like you've already done here so that we can have this feature implemented in the future?
Post the ticket link here when you're done
Thanks a lot for your feedback!
Oliver Bayer, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Master Publications: 894 Date d'inscription: 18/02/09 Publications récentes
Hi M. Garcia, hi Juan,

I've already done this customization in Liferay v5.2.3. All you have to do is to add another button for uploading new files to the document library while rendering the structure fields. Afaik you can't put both functions into the same button because uploading and selecting files have different struts actions (at least I don't find a possible solution quickly emoticon). The following code snippet shows how to modify the "edit_article_content_xsd_el.jsp" to get the wanted usability improvement.

String currURL = themeDisplay.getURLCurrent();
if (currURL.contains("?"))
{
	currURL = currURL.substring(0, currURL.indexOf("?"));
}

String uploadImageURL = themeDisplay.getPortalURL() + 
		currURL +
		"?p_p_id=20&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view"+
		"&p_p_col_id=column-1&_20_struts_action=%2Fdocument_library%2Fview";
...
<c:if test="<%= elType.equals(&quot;document_library&quot;) %>">
...
	<input type="button" value="<liferay-ui:message key=" upload-file">" onClick="<portlet:namespace />documentLibraryInput = '<portlet:namespace />structure_el&lt;%= count.getValue() %&gt;_content';  var documentLibraryWindow = window.open('&lt;%=uploadImageURL%&gt;', 'documentLibrary', 'directories=no,height=640,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=680'); void(''); documentLibraryWindow.focus();" /&gt;
...
</c:if>

As you can see in the attached screenshot there is another usability improvement implemented. Under the label "display with" (the wording isn't the best I know emoticon) the editor sees a preview if he has selected an image.

HTH Oli
thumbnail
Hitoshi Ozawa, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Publications: 7942 Date d'inscription: 24/03/10 Publications récentes
I think you can contribute your solution to the issue Garcia created in the jira.
Oliver Bayer, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Master Publications: 894 Date d'inscription: 18/02/09 Publications récentes
Hi Hitoshi,

sorry for the late reply but I've been on vacation emoticon.

The code I've posted is for v5.2.3 but I will try to migrate it to v6 (trunk). After a quick try I'm getting a js error in the Liferay popup used for uploading a new file but I hope to solve it in the next few days and then I will attach the code to the jira ticket of course.

Greets Oli
thumbnail
Zeeshan Khan, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Expert Publications: 349 Date d'inscription: 21/07/11 Publications récentes
Hi Everyone !!


after adding this line <aui:input name="file" type="file" /> in the WEBFORM jsp file, i am able to see the field of attaching the document but the problem is when i click the SEND button, everything is coming in my gmail inbox except the attached document.....emoticonemoticonemoticonemoticonemoticon
thumbnail
M. Garcia, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Regular Member Publications: 107 Date d'inscription: 17/05/11 Publications récentes
Hey Juan,

Here's my ticket http://issues.liferay.com/browse/LPS-19076.

I think this is the same case with Image Gallery field in the structure.

Something close also, using the CKEditor for producing rich text. If you want to add an Image or some Flash, there's a possibility to "Explore server" to select the image file or flash file. This opens a popup where you can browse the Image / Document library AND upload a file.
So in this case the functionnality is implemented, BUT, I think this could be improved as it's not so ergonomical as it is now (see attached images).

Thanks for considering ;-)
thumbnail
Hitoshi Ozawa, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Publications: 7942 Date d'inscription: 24/03/10 Publications récentes
Also, what's confusing to the users is being shown all the folders instead of just the ones they have permission.
thumbnail
M. Garcia, modifié il y a 12 années.

RE: CMS Document Upload while Create / Edit Web Content

Regular Member Publications: 107 Date d'inscription: 17/05/11 Publications récentes
Hitoshi Ozawa:
Also, what's confusing to the users is being shown all the folders instead of just the ones they have permission.


Wow, didn't notice that... they see the content in that folders too ?
thumbnail
Tiziano Treccani, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 10 Date d'inscription: 04/04/08 Publications récentes
Hi all.
I had the same problem and I started from this topic to realize my solution, that really works very well!
This is what I've done with Liferay 6.1CE:

1) put in hook plugin the file "edit_article_content_xsd_el.jsp"
2) After this line
<aui:button cssClass="journal-documentlibrary-button" data="<%= data %>" value="select" />

put:

<liferay-portlet:renderurl var="documentLibraryUploadURL" portletname="20" windowstate="<%= LiferayWindowState.POP_UP.toString() %>" portletmode="<%= PortletMode.VIEW.toString() %>">
	<portlet:param name="struts_action" value="/document_library/view" />
	<portlet:param name="groupId" value="<%= String.valueOf(dlScopeGroupId) %>" />
</liferay-portlet:renderurl>

<script type="text/javascript">
	if(typeof <portlet:namespace />showUploadFilePopup != 'function') {
		<portlet:namespace />showUploadFilePopup = function () {
		  AUI().use('aui-dialog', 'aui-io', 'event', 'event-custom', function(A) {
		    var dialog = new A.Dialog({
	            title: '<liferay-ui:message key="file-upload" />',
	            centered: true,
	            draggable: true,
	            height: 560,
	            width: 940
	        }).plug(A.Plugin.IO, {uri: '<%= documentLibraryUploadURL %>'}).render();
	        dialog.show();
		  });
		};
	};
</script>

<input type="button" value="<liferay-ui:message key=" file-upload">" onClick="<portlet:namespace />showUploadFilePopup();" /&gt;


3. Deploy the hook
4. Enjoy direct file upload!

Still to do:
return the value from the popup with the path of the uploaded file in order to fill the input of the web content form
thumbnail
Raphael Crivelli, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Publications: 31 Date d'inscription: 14/05/12 Publications récentes
Tiziano Treccani:
Hi all.
I had the same problem and I started from this topic to realize my solution, that really works very well!
This is what I've done with Liferay 6.1CE:

1) put in hook plugin the file "edit_article_content_xsd_el.jsp"
2) After this line
<aui:button cssClass="journal-documentlibrary-button" data="<%= data %>" value="select" />

put:

<liferay-portlet:renderurl var="documentLibraryUploadURL" portletname="20" windowstate="<%= LiferayWindowState.POP_UP.toString() %>" portletmode="<%= PortletMode.VIEW.toString() %>">
	<portlet:param name="struts_action" value="/document_library/view" />
	<portlet:param name="groupId" value="<%= String.valueOf(dlScopeGroupId) %>" />
</liferay-portlet:renderurl>

<script type="text/javascript">
	if(typeof <portlet:namespace />showUploadFilePopup != 'function') {
		<portlet:namespace />showUploadFilePopup = function () {
		  AUI().use('aui-dialog', 'aui-io', 'event', 'event-custom', function(A) {
		    var dialog = new A.Dialog({
	            title: '<liferay-ui:message key="file-upload" />',
	            centered: true,
	            draggable: true,
	            height: 560,
	            width: 940
	        }).plug(A.Plugin.IO, {uri: '<%= documentLibraryUploadURL %>'}).render();
	        dialog.show();
		  });
		};
	};
</script>

<input type="button" value="<liferay-ui:message key=" file-upload">" onClick="<portlet:namespace />showUploadFilePopup();" /&gt;


3. Deploy the hook
4. Enjoy direct file upload!

Still to do:
return the value from the popup with the path of the uploaded file in order to fill the input of the web content form


Hi there

I have the same problem.
I need to upload a file while adding a new web content.

Did you finished your Hook Tiziano?
Would you provide this hook for the community?

Thanks.

Raffi
deepthi p, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 8 Date d'inscription: 10/09/12 Publications récentes
hi raffi
I have created a structure with feils as documents and media.
and created a webcontent using the structure.
i am not able to see the button upload a file from webcontent even though i have pasted the code in "edit_article_content_xsd_el.jsp"
and deployed the hook in tomcat .
I am new to liferay .Please help me in this issue .
attaching the hook i have created for reference .

anybody aware of this please help me .
Thanks.
Deepthi P
deepthi p, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 8 Date d'inscription: 10/09/12 Publications récentes
working fine for me issue with my hook .
thanks a lot to all .
thumbnail
Murali Krishna, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 17 Date d'inscription: 25/04/12 Publications récentes
Hi

I have a small requirement ,my boss has given. i hope u resolve it



Portlet must read directories and file

XMlData will be structured as follows.

<Path_to_XMLData>/ Date (yy-MM-dd)/id_0.xml and id_1.xml

Portlet must read all the directories (dates) from <Path_to_XMLdata> and list them one section(in a table format).

When we click on the date we should get all the files in directories in a table.


Becaz i m new to liferay.i need some guidance how to start to resolve this requirement step by step and what i have to do for that.please tell me


Thanks in advance
thumbnail
Nagendra Kumar Busam, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Master Publications: 678 Date d'inscription: 07/07/09 Publications récentes
check this, http://stackoverflow.com/questions/1844688/read-all-files-in-a-folder.

If you want you can save parent folder path in preferences & you can read it instead of hard coding.
Pierre Morin, modifié il y a 11 années.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Publications: 70 Date d'inscription: 17/05/11 Publications récentes
Here is what I added to html/portlet/journal/select_document_library.jsp :


<portlet:renderurl var="editFileEntryURL">
	<portlet:param name="struts_action" value="/document_library/edit_file_entry" />
	<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ADD %>" />
	<portlet:param name="redirect" value="<%= currentURL %>" />
	<portlet:param name="backURL" value="<%= currentURL %>" />
	<portlet:param name="repositoryId" value="<%= String.valueOf(repositoryId) %>" />
	<portlet:param name="folderId" value="<%= String.valueOf(folderId) %>" />
</portlet:renderurl>

&lt;%
editFileEntryURL = editFileEntryURL.replaceAll("p_p_id=15","p_p_id=20");
editFileEntryURL = editFileEntryURL.replaceAll("&amp;_15_","&amp;_20_");
%&gt;

<input type="button" value="<liferay-ui:message key=" file-upload">" onClick="document.location='&lt;%= editFileEntryURL %&gt;';" /&gt;	


This allow you to add a Basic Document from the selection list. It may be useful.
You can past it everywhere in the doc. ;-)
Corey Robb, modifié il y a 10 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 2 Date d'inscription: 30/05/13 Publications récentes
Your a legend! works perfectly with 6.1.1

The other option above that changes edit_article_content_xsd_el.jsp works, however in terms of UI it doesnt easily allow you to navigate back to the structure create/edit page.

Recommend this option to others
thumbnail
Huage Chen, modifié il y a 10 années.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Publications: 33 Date d'inscription: 18/03/13 Publications récentes
Nice trick, thanks!

Anyone knows how to display image thumbnail while being in the edit web content mode?

thanks

Huage
Niccolò Pasquetto, modifié il y a 10 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 13 Date d'inscription: 11/04/13 Publications récentes
Hi,
I tried to implement the hook but I have a role/permission error. After clicking on the button to load the file is returned to me the message: "You do not have the roles required to access this portlet.".

I can not understand what role / permission must associate the user, has anyone experienced this behavior? can you help me?
Thanks in advance, Niccolò.
Niccolò Pasquetto, modifié il y a 10 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 13 Date d'inscription: 11/04/13 Publications récentes
Niccolò Pasquetto:
Hi,
I tried to implement the hook but I have a role/permission error. After clicking on the button to load the file is returned to me the message: "You do not have the roles required to access this portlet.".

I can not understand what role / permission must associate the user, has anyone experienced this behavior? can you help me?
Thanks in advance, Niccolò.


I noticed that the hook runs properly if, on the same page, I instantiate the portlet "Documents and media", but if I remove it I get the error again on roles.
Pierre Morin, modifié il y a 10 années.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Publications: 70 Date d'inscription: 17/05/11 Publications récentes
Your user needs to have the permissions on the Portlet with ID=20.

I don't exactly remember wich portlet it is, but I think it's the Document Library portlet. Maybe the one on back-office/administration.

Regards.
Niccolò Pasquetto, modifié il y a 10 années.

RE: CMS Document Upload while Create / Edit Web Content

New Member Publications: 13 Date d'inscription: 11/04/13 Publications récentes
Hi Pierre, thank for reply.

Pierre Morin:
Your user needs to have the permissions on the Portlet with ID=20.

I don't exactly remember wich portlet it is, but I think it's the Document Library portlet. Maybe the one on back-office/administration.

Regards.


Maybe i am in a different situation: i'm not in the backend, in my portlet i've reproduced the button to open document and media popup for file choosing.

For now the only way to make the hook work is to set
portlet.add.default.resource.check.whitelist=20

in the portal properties. Probably is not the best solution, but i don't understand why the hook doesn't work in my situation (or work only with the Documents and media portlet instantiated).