none
Sharepoint 2010 e Word RRS feed

  • Domanda

  • Ciao a tutti,

    qualche tempo fa avevo aperto un post riguardante l'integrazione sp2010/word, grazie al vostro aiuto e a quello del forum asp.net sono riuscito ad ottenere quello che volevo e cioè da una gridview su una webpart sharepoint seleziono una voce che mi lancia word aprendomi un template predefinito. Ora mi si presenta un altro problema, vale a dire: come faccio a settare il path di default (per il save) di word. Mi spiego meglio. Quello che voglio ottenere è che quando l'utente seleziona un item dalla gridview si apra word secondo un template predefinito (e fino a qui funziona tutto) a questo punto l'utente completerà il suo documento e lo salverà. Il problema è proprio qui, quello che voglio è che l'utente non debba andarsi a cercare il percorso dove salvare il file. Il path dovrebbe essere la DropOffLibrary di sharepoint dove poi, a seconda del content type del documento salvato, questi verrà spostato nella raccolta documenti SP riservata allo scopo.

    L'ideale sarebbe la possibilità, dopo aver caricato il documento (estratto) nella DropOffLibrary (o nella raccolta documenti definitiva) di eseguire da codice il comando 'Edit in Microsoft Word' (quello disponibile all'utente SP tramite menù).

    grazie

    stefano

     

    lunedì 22 novembre 2010 09:58

Risposte

Tutte le risposte

  • ... nessun a niente da dirmi?

    grazie

    stefano

     

    mercoledì 24 novembre 2010 07:33
  • Ciao stefano, riguardo alla possibilità di settare un percorso fisso a Word mi dispiace ma non ci ho mai provato (ne guardato) e non saprei proprio dirti come procedere.
    Cerco però di capire l'obbiettivo che vuoi raggiungere: tu vuoi solamente che l'utente apra un template specifico di word in base ad una scelta ? Potrebbe essere questo ?

    Perchè in tal caso, puoi creare un content type per ogni scelta e per ognuno di essi crearti il tuo template Word personalizzato e lagarlo al relativo content type. Così facendo l'utente quando cerca di creare un nuovo documento all'interno di una document library, dovrà prima scegliere il template con cui crearlo.
    In questo modo riesci a sfruttare le funzionalità che sharepoint ti offre di default, senza utilizzare le classi di automazione di Word.

    Ora, io non so che calcoli devi fare prima di lanciare il tuo template di Word, ma quella di utilizzare i content type è una soluzione che secondo me dovresti valutare.
    Se invece ho capito male io, possiamo vedere di trovare un'altra strada.

    Fammi sapere.
    A presto

    Peppe


    Giuseppe Marchi - SharePoint MVP
    www.peppedotnet.it
    www.dev4side.com
    www.sharepointcommunity.it
    Twitter: @PeppeDotNet
    mercoledì 24 novembre 2010 08:55
  • ciao e grazie per la risposta, il problema è che l'utente quando crea un nuovo ducumento non parte da una document library bensì da una web part che ho creato, in questa web part c'è una gridview un campo della quale ha una dropdown, selezionando una voce della dropdown parte word che apre un template che si trova sul disco (avrei preferito tenere i template in una document library ma ho provato, funziona correttamente ma è molto più lento rispetto all'HD). In realtà questa è una prima 'approssimazione' di quanto accade perché quando si seleziona la voce dalla dropdown si deve aprire una window dalla quale scegliere il template di word da aprire (a tal proposito ho aperto un altro post). Spero di essere riuscito a spiegarmi meglio.

    C'è da precisare che al documento di word che apro vi ho associato un content type particolare il quale, tra le altre cose, mi serve per scrivere una regola per il content organizer in modo tale da spostare i documenti che arrivano nella DropOffLibrary a seconda, appunto, del content type.

    grazie

    stefano

     

    mercoledì 24 novembre 2010 09:15
  • Per fare in modo che l'utente riesca a salvare il documento all'interno di sharepoint (e quindi all'interno di una document library) l'unica via che hai da seguire è quella di far aprire il template presente all'interno di una document library o di un content type. Proprio come farebbe se utilizzasse l'interfaccia web per la creazione di un nuovo documento (il tasto "new" per intenderci).
    Prova a vedere se questo fa a caso tuo:
    http://www.novolocus.com/software/create-new-document-web-part/
    Giuseppe Marchi - SharePoint MVP
    www.peppedotnet.it
    www.dev4side.com
    www.sharepointcommunity.it
    Twitter: @PeppeDotNet
    giovedì 25 novembre 2010 09:33
  • grazie, vedo il link e ti faccio sapere

    grazie

    stefano

     

    giovedì 25 novembre 2010 10:11
  • Ciao Stefano, hai novità riguardo questo post ?

    Grazie e a presto
    Peppe


    Giuseppe Marchi - SharePoint MVP
    www.peppedotnet.it
    www.dev4side.com
    www.sharepointcommunity.it
    Twitter: @PeppeDotNet
    venerdì 3 dicembre 2010 19:00
  • Ciao Giuseppe, ho visto l'ultimo link che mi hai indicato ma non mi risolve il problema. Per il momento ho messo in secondo piano questo punto in quanto, come ben sai :-) da un altro post, sto facendo a cazzotti con il javascript modal dialog di sp 2010. Comunque a breve (brevisimo...) dovrò riaffrontare il problema e certamente mi risentirai in questo post.

    grazie

    stefano

     

    lunedì 6 dicembre 2010 10:37
  • Hai provato a vedere cosa ha da offrirti l'Activex OpenDocument? http://msdn.microsoft.com/en-us/library/ms454230.aspx
    lunedì 6 dicembre 2010 14:14
  • Ciao e GRAZIE! questo risolve il problema.

    L'unica cosa, ma che vale in generale con le funzioni js, se uso Ajax, in pratica mettendo tutto dentro un UpdatePanel:

    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
           <fieldset>
                 ...
                 ...
                 ...
          </fieldset>
       </ContentTemplate>
    </asp:UpdatePanel>

    allore le funzioni js non vengono chiamate. Il browser non segnala nessun errore.

    Neanche una semplice chiamata con una funzione predefinita tipo:

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CC", "<script language='javascript'>Alert('" + msg + "');</script>");

    funziona più.

    Qualche idea?

    gazie

    stefano

     

    martedì 7 dicembre 2010 10:32
  • Questo cosa?
    martedì 7 dicembre 2010 10:44
  • si devo essere più chiaro, mi riferivo al link che mi hai indicato nel tuo post  (http://msdn.microsoft.com/en-us/library/ms454230.aspx) vale a dire che il 'questo' si riferisce all'Activex OpenDocument.

    ciao

    grazie

     

    martedì 7 dicembre 2010 10:57