Camp_Public Unlock huge potential for your SMB sales

Volver

Libera el gran potencial de ventas hacia las PYMES con Lenovo e Intel®

Aprovecha la oportunidad de beneficiarte de las ventas de servidores de gran volumen. SMB
  • Fecha de publicación: 20 ago 2024

Expándete con la oportunidad que presentan las PYMES mediante la venta de servidores en Rack & en Torre de ThinkSystem

Se estima que el gasto en infraestructura aumentará 8,6% en 2024 y 10,5% en 2025, con los servidores entre las principales prioridades para la inversión. A medida que las prioridades se centran en infraestructura de TI y servidores, las PYMES buscan socios que les sirvan como asesores de confianza.

¿Quieres saber más sobre el Programa de crecimiento de Rack & Tower de Lenovo e Intel?

Inicia sesión en Lenovo 360 Partner Hub para obtener más información.

LenovoVelocityAssetFileDownload


Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy854.getAemAssetMetadataByPath(String)" threw an exception when invoked on com.sun.proxy.$Proxy854 object "com.lenovo.velocity.company.service.service.impl.AEMAssetMetadataLocalServiceImpl@324699fd"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign aemAssetDownloadUrl = assetMe...  [in template "20099#20135#TITLE_DESC_VIDEO_LEFT" at line 1, column 4337]
----
1<#assign dlFileEntryService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")><#assign customUserAttrService=serviceLocator.findService("com.lenovo.velocity.company.service.service.UserCustomAttributesLocalService")><#assign assetMetaDataService=serviceLocator.findService("com.lenovo.velocity.company.service.service.AEMAssetMetadataLocalService")><div class="lnv-web-content-admin-container detail-listing-padding">	<div class="lnv-web-content-admin-section-3">        <div class="lnv-content-info">            <ul>                <li>                     <!--Download code starts-->                            <#if SelectVideo.getData()!="">                              <!--Fetching uuid,groupId of the uploaded document-->                            <#assign count = 0 />                            <#list "${SelectVideo.getData()}"?split("/") as url>                                                           <#if count == 2>                                    <#assign groupId = url />                                                                    </#if>                                <#if count == 4>                                    <#assign fileStr = url />                                </#if>                                <#if count == 5>                                    <#assign uuidStr = url />                                </#if>                                <#assign count = count+1 />                            </#list>                            <#assign count = 0 />                        <#list "${fileStr}"?split(".") as fileSplit>                            <#if count == 0>                                <#assign fileName = fileSplit />                            </#if>                            <#if count == 1>                                <#assign extension = fileSplit />                            </#if>                            <#assign count = count+1 />  </#list>                            <#assign count = 0 />                            <#list "${uuidStr}"?split("?") as uuidSplit>                                <#if count == 0>                                    <#assign uuid = uuidSplit />                                </#if>                                <#assign count = count+1 />                            </#list>                        <#assign myGroupId=groupId?eval>                         <!--Fetch DLFileEntry with uuid and groupId-->                        <#assign file= dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,myGroupId) > <!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->                    <#assign file2 = customUserAttrService.fetchAssetUrl(themeDisplay.getLocale(),file,themeDisplay)><!--Method to fetch details like file size,name and extension attached to the asset --> <#assign assetDetails = customUserAttrService.getAssetDetails(file2)>                                            <#if assetDetails?? && assetDetails?has_content>                                                                      <#if assetDetails.getFileName()?? && assetDetails.getFileName()?has_content && file2?has_content >                        	<span class="lnv-img">                        	                         	<!--VEL-12381 added ontimeupdate method call to Analytic video track start -->                        			                         <video controls controlsList="nodownload" oncontextmenu="return false;" id="leftVideo" ontimeupdate="callVideoTrack('leftVideo', '${fileName}')">								  <source src="${file2}#t=0.1" type="video/mp4">								</video>                    		</span>                    		</#if>                                                </#if>                                                <#elseif SelectVideoFromAEM?? && SelectVideoFromAEM.getData()?? && SelectVideoFromAEM.getData()?has_content>                                                	<#assign aemVideoAssetId =SelectVideoFromAEM.getData()/>                        	<#if aemVideoAssetId?? && aemVideoAssetId?has_content>									<#assign aemAssetDownloadUrl=assetMetaDataService.getAemAssetMetadataByPath(aemVideoAssetId)/>									<#if aemAssetDownloadUrl.getDownloadURL()?? && aemAssetDownloadUrl.getDownloadURL()?has_content										&& aemAssetDownloadUrl.getTitle()?? && aemAssetDownloadUrl.getTitle()?has_content>										<span class="lnv-img">											<video controls controlsList="nodownload" oncontextmenu="return false;" id="leftVideo" ontimeupdate="callVideoTrack('leftVideo', '${aemAssetDownloadUrl.getTitle()}')">								            	<source src="${aemAssetDownloadUrl.getDownloadURL()}#t=0.1" type="video/mp4">											</video>										</span>									</#if>							</#if>                        </#if>                                            <div>                        <p class="lnv-title d-none d-lg-block">${Title.getData()}</p>                        <p class="lnv-content">${Description.getData()}</p>                         						<#if WebContentName?? && WebContentName.getSiblings()?has_content> 							<#list WebContentName.getSiblings() as webContentName_Value>								<#if webContentName_Value?? && webContentName_Value.GenericWebContent?? 														&& webContentName_Value.getData()?? && webContentName_Value.getData()?has_content 														&& webContentName_Value.GenericWebContent.getData()?? && webContentName_Value.GenericWebContent.getData()?has_content>														<#assign articleURL="">														<#assign webContentData = jsonFactoryUtil.createJSONObject(webContentName_Value.GenericWebContent.getData())>														<#if webContentData?? && webContentData?has_content>														 <#assign primaryKey=0/>														 <#assign wcprimaryKey = webContentData.getString("classPK")/>															 <#if wcprimaryKey?? && wcprimaryKey?has_content>														 <#assign primaryKey = wcprimaryKey?number/>														 <!-- Method for fetching detail page URL of campaign,promotions,etc -->														 <#if primaryKey?? && primaryKey?has_content>														  <#assign articleURL=customUserAttrService.retreiveWebContentUrl(themeDisplay,primaryKey)/>														  </#if>														  </#if>															  </#if>														  <div class="event-details-policy"> 														  <a class="lnv-content-video-anchor" href="${articleURL}"> ${webContentName_Value.getData()} </a>														  </div>												</#if>							</#list>						</#if>																		<#if AEMSELECT?? && AEMSELECT.getSiblings()?has_content>					            <#list AEMSELECT.getSiblings() as cur_AEMSELECT>							                <#if cur_AEMSELECT?? && cur_AEMSELECT.getData()?? && cur_AEMSELECT.getData()?has_content>									<#assign assetId =cur_AEMSELECT.getData()/>									<#assign encryptedAssetId=customUserAttrService.encryptAssetString(assetId)/>									<#assign updatedFlag = assetMetaDataService.getAssetUpdatedFlag(assetId)>									<#if updatedFlag!false>										<#assign aemAssetDetails = assetMetaDataService.getAEMAssetTitle(assetId)>											<#if aemAssetDetails?? && aemAssetDetails?has_content>											<#assign assetDummyValue = aemAssetDetails.getAssetTitle()>				                            <#assign assetFilteredValue =assetDummyValue?replace("'", '&apos')/>																	<div class="event-details-policy">																	<a class="lnv-download-text-icon lnv-content-video-anchor" href="javascript:void(0);" onclick="getAEMAssetDetailsForContentList('${encryptedAssetId}','${assetFilteredValue}','${aemAssetDetails.getFileFormat()?lower_case}');setDownloadFileName('${aemAssetDetails.getAssetTitle()}')">																		${aemAssetDetails.getAssetTitle()}</a>																	</div>																	</#if>										</#if>										</#if>								</#list>						</#if>																					<#if DocumentsAndMediaName?? && DocumentsAndMediaName.getSiblings()?has_content> 						<#list DocumentsAndMediaName.getSiblings() as documentsAndMediaName_Value>													<#if documentsAndMediaName_Value?? && documentsAndMediaName_Value.DocumentsAndMedia?? 													&& documentsAndMediaName_Value.getData()?? && documentsAndMediaName_Value.getData()?has_content 													&& documentsAndMediaName_Value.DocumentsAndMedia.getData()?? && documentsAndMediaName_Value.DocumentsAndMedia.getData()?has_content>								<div class="event-details-policy">											<#assign fileStr = ""/> 								<#assign extension = ""/> 								<#assign uuidStr = ""/> 								<#assign uuid = "0" /> 								<#assign groupId = "0" />								<#assign count = 0 />														<#-- get groupid, file, uuid of the attached file by splitting the url from / -->								<#list "${documentsAndMediaName_Value.DocumentsAndMedia.getData()}"?split("/") as url> 								        <#-- get group id at 2nd place-->										<#if count == 2>											<#assign groupId = url />       										</#if>										<#-- get file name string at 4rth place-->										<#if count == 4>											<#assign fileStr = url />         										</#if>                                           <#-- get uuid string at 5th place-->																				<#if count == 5>											<#assign uuidStr = url />               										</#if>										<#assign count = count+1 />                                           								</#list> 			  								<#-- get file type of attachment --> 								<#if fileStr?? && fileStr != "">										<#list "${fileStr}"?split(".") as fileSplit>                                     												<#assign extension = fileSplit />                                  										</#list> 								</#if>     			  								<#assign count = 0 />												        <#-- split the uuid string to get the uuid --> 						        <#if uuidStr?? && uuidStr != "">						        		<#list "${uuidStr}"?split("?") as uuidSplit>                     											<#if count == 0>                												<#assign uuid = uuidSplit />                       											</#if>     										<#assign count = count+1 />         										</#list>						        </#if> 			  								<#assign myGroupId=groupId?eval>								 <#-- get file from uuid and groupid -->	                                <#if fileStr?? && fileStr != "">		                                		<#assign file= dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,myGroupId) >                                		<#-- Changes for LPHPS-6044 start -->                                		<#assign assetRefernceId = customUserAttrService.fetchAssetAEM(themeDisplay.getLocale(),file,themeDisplay)>	                            	<#if assetRefernceId?? && assetRefernceId?has_content >	                            		<#assign encryptedAssetId=customUserAttrService.encryptAssetString(assetRefernceId)/>							  			<#assign docAndMediaAemAssetDetails = assetMetaDataService.getAEMAssetTitle(assetRefernceId)>	                            	<#else>	                            	<#-- Changes for LPHPS-6044 end -->										<!--Method to fetch url of the file uploaded using External link  -->							 			<#assign assetDetails = customUserAttrService.getExternalUrl(themeDisplay.getLocale(),file,themeDisplay)>										<!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->								 		<#if (!assetDetails?? && !assetDetails?has_content) || (assetDetails?? && assetDetails?has_content && !assetDetails.getDownloadLink()??)>										<!--Method to fetch url of the file uploaded using Asset or Doucument and media in  download field  -->										 	<#assign file2 = customUserAttrService.fetchAssetUrl(themeDisplay.getLocale(),file,themeDisplay)>										<!--Method to fetch details like file size,name and extension attached to the asset -->										 <#assign assetDetails = customUserAttrService.getAssetDetails(file2)>	                            		</#if> 	                            	</#if>   								                    </#if>			                    <#-- Changes for LPHPS-6044 start -->			                    <#if docAndMediaAemAssetDetails?? && docAndMediaAemAssetDetails?has_content>											 	    							<#if docAndMediaAemAssetDetails.getFileSize()?? && docAndMediaAemAssetDetails.getFileSize()!= "0KB" && docAndMediaAemAssetDetails.getFileSize()?has_content  >										<#assign assetDummyValue = docAndMediaAemAssetDetails.getAssetTitle()>										<#assign assetFilteredValue =assetDummyValue?replace("'", '&apos')/>										<a class="lnv-content-video-anchor" href="javascript:void(0);" onclick="getAEMAssetDetailsForContentList('${encryptedAssetId}','${assetFilteredValue}','${docAndMediaAemAssetDetails.getFileFormat()?lower_case}');setDownloadFileName('${assetFilteredValue}')">										${documentsAndMediaName_Value.getData()} </a>									<#else>										${languageUtil.get(locale,'no-files-selected')}									</#if>									<#assign docAndMediaAemAssetDetails = "">			                    <#elseif assetDetails?? && assetDetails?has_content>											  <#if assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? && assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content >    											 <a class="lnv-content-video-anchor" href="/o/filedownload-rest/download?attachment=${assetDetails.getDownloadLink()}&title=${assetDetails.getAssetTitle()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" >															  ${DocumentsAndMediaName.getData()}</a>												<#elseif assetDetails.getDownloadLink()?? &&assetDetails.isExternalLinkIsAEM()?? &&! assetDetails.isExternalLinkIsAEM() && assetDetails.getAssetTitle()?? && assetDetails.getAssetTitle()?has_content >													  <a class="lnv-content-video-anchor" href="${assetDetails.getDownloadLink()}" target="_blank" onclick="setDownloadFileName('${assetDetails.getAssetTitle()}')" >${DocumentsAndMediaName.getData()}</a>												<#elseif assetDetails?? && assetDetails?has_content && assetDetails.getFileName()?? && assetDetails.getFileName()?has_content>                									            <#if file2?has_content && assetDetails.getFileSize()?? && assetDetails.getFileSize()!= "0KB" && assetDetails.getFileSize()?has_content  >									           		<a class="lnv-content-video-anchor" href="${file2}?download=true" onclick="setDownloadFileName('${assetDetails.getFileName()}')">${documentsAndMediaName_Value.getData()}</a>									           									            <#else>${languageUtil.get(locale,'no-files-selected')}									            </#if>											</#if>																		</#if>								<#-- Changes for LPHPS-6044 end -->								</div>						</#if>					</#list>				</#if>																			<#if Internal_URL_Name?? && Internal_URL_Name.getSiblings()?has_content> 					<#list Internal_URL_Name.getSiblings() as cur_Internal_URL_Name> 				<#if cur_Internal_URL_Name.Internal_URL.getFriendlyUrl()?? && cur_Internal_URL_Name.Internal_URL.getFriendlyUrl()!="">				<div class="event-details-policy">				<a class="lnv-content-video-anchor" href="${cur_Internal_URL_Name.Internal_URL.getFriendlyUrl()}"> ${cur_Internal_URL_Name.getData()} </a>				</div>				</#if>				</#list>				</#if>  			   									<#if External_URL_Name?? && External_URL_Name.getSiblings()?has_content> 					<#list External_URL_Name.getSiblings() as cur_External_URL_Name> 					<#if cur_External_URL_Name.External_URL.getData()?? && cur_External_URL_Name.External_URL.getData()!=""> 				<div class="event-details-policy">      				 <a class="lnv-content-video-anchor" href="${cur_External_URL_Name.External_URL.getData()}" target="_blank" class="lnv-link-icon" >${cur_External_URL_Name.getData()}</a>					 </div>				 </#if>					 </#list>				 </#if>    		 			 	      </div>                   						                </li>            </ul>        </div>    </div></div><@liferay_portlet["runtime"] portletName="lenovo_velocity_asset_file_download_LenovoVelocityAssetFileDownloadPortlet_INSTANCE_gvPLS60vSBEr"/><script> 	function getAEMAssetDetailsForContentList(url,title,fileFormat){	var urlToSend= assetResourceUrl+"&fileUrl="+url;	var req = new XMLHttpRequest();     req.open("GET", urlToSend, true);     req.responseType = "blob";     req.onload = function (event) {         var blob = req.response;         var link=document.createElement('a');         link.href=window.URL.createObjectURL(blob);		 link.download=title.replace("&apos","'")+"."+fileFormat;         link.click();     };     req.send();	   }</script> 

LenovoVelocityAssetFileDownload


LenovoVelocityAssetFileDownload


LenovoVelocityAssetFileDownload


¿No tienes una cuenta? 

Regístrate hoy y comienza a ser socio de Lenovo.

LenovoVelocityAssetFileDownload


Fuentes

  1. Análisis Mason, 2023
  2. Inteligencia de Bloomerang, 2024

LenovoVelocityAssetFileDownload






LenovoVelocityAssetFileDownload