logo Alfresco
Version Enterprise 4.1

En modifiant les modèles de données il est possible de définir des nouveaux types (de documents). Par défaut, ces nouveaux types sont applicables uniquement via l’action « Change Type » et ce n’est pas très pratique… L’objectif est donc de pouvoir choisir le type de document directement au moment de l’upload sur Share.

Solution

Cette fonctionnalité est prévu depuis un long moment déjà (depuis les versions 3 d’Alfresco) mais n’est toujours pas implémentée par défaut. Il y a cependant déja tout ce qui est nécessaire pour la faire fonctionner facilement.

On peut voir que tout est bien prévu dans le fichier alfresco/site-webscripts/org/alfresco/components/upload/flash-upload.get.html.ftl (contentTypes?size > 1)
<div style="display:none">
<div id="${el}-left-div">
<span> </span>
<#if (contentTypes?size == 1)>
<input type="hidden" value="${contentTypes[0].id}"/>
<#elseif (contentTypes?size > 1)>
<select tabindex="0">
<#if (contentTypes?size > 0)>
<#list contentTypes as contentType>
<option value="${contentType.id}">${msg(contentType.value)}</option>
</#list>
</#if>
</select>
</#if>
</div>

Il s’agit doncde modifier le contrôleur web-extension/site-webscripts/org/alfresco/components/upload/flash-upload.get.js afin d’ajouter les types souhaités dans le tableau contentType.

function getContentTypes()
{
// TODO: Data webscript call to return list of available types
var contentTypes = [
{
id: "cm:content",
value: "cm_content"
},
{
id: "dkta:dossier",
value: "dkta_dossier"
},
{
id: "dkta:compterendu",
value: "dkta_compterendu"
}];
return contentTypes;
}
model.contentTypes = getContentTypes();

upload
Voici un aperçu du résultat obtenu

A vous de jouer !

Publicités