Foros de discusión

CMS Document Upload while Create / Edit Web Content

thumbnail
M. Garcia, modificado hace 12 años.

CMS Document Upload while Create / Edit Web Content

Regular Member Mensajes: 107 Fecha de incorporación: 17/05/11 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Mensajes: 7942 Fecha de incorporación: 24/03/10 Mensajes recientes
Do you mean to upload an file into the global area?
thumbnail
M. Garcia, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Regular Member Mensajes: 107 Fecha de incorporación: 17/05/11 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Mensajes: 1261 Fecha de incorporación: 2/10/08 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Master Mensajes: 894 Fecha de incorporación: 18/02/09 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Mensajes: 7942 Fecha de incorporación: 24/03/10 Mensajes recientes
I think you can contribute your solution to the issue Garcia created in the jira.
Oliver Bayer, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Master Mensajes: 894 Fecha de incorporación: 18/02/09 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Expert Mensajes: 349 Fecha de incorporación: 21/07/11 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Regular Member Mensajes: 107 Fecha de incorporación: 17/05/11 Mensajes recientes
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, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Legend Mensajes: 7942 Fecha de incorporación: 24/03/10 Mensajes recientes
Also, what's confusing to the users is being shown all the folders instead of just the ones they have permission.
thumbnail
M. Garcia, modificado hace 12 años.

RE: CMS Document Upload while Create / Edit Web Content

Regular Member Mensajes: 107 Fecha de incorporación: 17/05/11 Mensajes recientes
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, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 10 Fecha de incorporación: 4/04/08 Mensajes recientes
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, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Mensajes: 31 Fecha de incorporación: 14/05/12 Mensajes recientes
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, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 8 Fecha de incorporación: 10/09/12 Mensajes recientes
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

Archivos adjuntos:

deepthi p, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 8 Fecha de incorporación: 10/09/12 Mensajes recientes
working fine for me issue with my hook .
thanks a lot to all .
thumbnail
Murali Krishna, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 17 Fecha de incorporación: 25/04/12 Mensajes recientes
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, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

Liferay Master Mensajes: 678 Fecha de incorporación: 7/07/09 Mensajes recientes
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, modificado hace 11 años.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Mensajes: 70 Fecha de incorporación: 17/05/11 Mensajes recientes
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, modificado hace 10 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 2 Fecha de incorporación: 30/05/13 Mensajes recientes
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, modificado hace 10 años.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Mensajes: 33 Fecha de incorporación: 18/03/13 Mensajes recientes
Nice trick, thanks!

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

thanks

Huage
Niccolò Pasquetto, modificado hace 10 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 13 Fecha de incorporación: 11/04/13 Mensajes recientes
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, modificado hace 10 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 13 Fecha de incorporación: 11/04/13 Mensajes recientes
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, modificado hace 10 años.

RE: CMS Document Upload while Create / Edit Web Content

Junior Member Mensajes: 70 Fecha de incorporación: 17/05/11 Mensajes recientes
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, modificado hace 10 años.

RE: CMS Document Upload while Create / Edit Web Content

New Member Mensajes: 13 Fecha de incorporación: 11/04/13 Mensajes recientes
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).