A- A A+

Alfresco, CMIS e jQuery

tag  Alfresco  CMIS  jQuery 

30/12/2011

Parliamo ancora di CMIS e jQuery

 Vi proponiamo questo semplice script di esempio che consente di utilizzare i Web Script di Alfresco per inserire un nuovo documento (solo metadati) all'interno del repository

function insert(){
         
          //la classe corrente
         var id = 'D:'+$("select#classi option:selected").text();
        
         //il servizio che utilizzeremo su Alfresco
         //nella demo il nuovo documento sarà creato nella root
         var url = '../alfresco/s/cmis/p/children?alf_ticket='+ticket;
         
         
         var propXml = "";
         
         //scorro la maschera di inserimento e normalizzo le date
         $("input[class^=formfield]").each(function(i){
              if ( $(this).val() != "" ){
                  var valore = $(this).val();
                  var classe = $(this).attr("class");
                  if ( classe == "formfield_d_datetime hasDatepicker" ) valore += 'T00:00:00.000Z200';
                  if ( classe == "formfield_d_date hasDatepicker" ) valore += 'T00:00:00.000Z200';
                  propXml +='<cmis:propertyId propertyDefinitionId="'+$(this).attr("id")+'"><cmis:value>'+valore+'</cmis:value></cmis:propertyId>';         
              }
          });
         
          //creo l'xml per inserire il documento
         var data = '<?xml version="1.0" encoding="utf-8"?>'+
                    '<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/">'+
                   '<title>Rest Document ('+ getTick() +')</title>'+
                   '<cmisra:object>'+
                   '<cmis:properties>'+
                   '<cmis:propertyId propertyDefinitionId="cmis:objectTypeId"><cmis:value>'+id+'</cmis:value></cmis:propertyId>'+
                   propXml+
                   '</cmis:properties>'+
                   '</cmisra:object>'+
                   '</entry>';  
    
        
         
         $.ajax({
              type: "POST",
              url: url ,
              contentType: "application/atom+xml",
              dataType: "xml",
              data:  data,
              success: function (){
               $("#stateinsert").html("Creation done.");
              },
              error:function (xhr, ajaxOptions, thrownError){
                 $("#stateinsert").html( xhr.status + ' ' + xhr.statusText  );
              }  

          });
         
         
      }