Kuidas näidata SharePoint’i list’i teistes veebides

10.12.2007  |  Gunnar

Kuidas näidata SharePoint-i list'i teistes veebides SharePoint Ühe SharePoint'i veebi list'ide näitamine sama saidi teistest veebides on vist üks neist orkidest, kuhu arendajad, arhitektid ja muud asjaosalised jäävadki astuma. Sellist asja pole tegelikult SharePoint'is otseselt ette nähtud ning häkid, mida ma seni olen näinud, pole alati just probleemidest vabad. Leidsin sellele probleemile lõpuks esialgse lahenduse.

Enne kui asja juurde asume, üks oluline märkus. See lahendus pole ideaalne ja on küllaltki toores. Ära võta seda lahendust kui midagi permanentset. Samuti ära käsitle seda kaardina, millele teed tugeva panuse. Kasuta seda koodi selleks, et leida, kas seda teed minna on sinu projektis mõttekas või ei. Eksperimenteeri, uuri ja vaata, kuidas see kõik töötab.

Aga hakkame pihta. Sissejuhatuseks nii palju, et käesolev lahendus baseerub SharePoint'i list'ide renderdamisel ja renderdamise tulemusena saadud väljundi püüdmisel. Seega saad seda koodi kasutada näiteks web part'ides, kus on vaja teiste veebide liste kuvada.

List'i renderdamisel kasutatakse alati mõnda päringut üle vastava list'i andmete. Antud näites olen mõnusalt laisk ja ei loo uut päringut. Selle asemel kasutan list'i esimest vaadet ja sellele vastavat päringut. Järgnev meetod, mis illustreerib list'i näitamist on mõeldud kasutamiseks mõnes web part'is.

protected override void Render(HtmlTextWriter writer)
{
    SPWeb web = SPContext.Current.Site.AllWebs["MyOtherWeb"];
    SPList list = web.Lists["MyListInOtherWeb"];

    if (list != null)
    {
        SPQuery query = new SPQuery(list.Views[0]);
        string listHtml = list.RenderAsHtml(query);
        writer.Write(listHtml);
    }
}

Kui kasutad seda koodi, siis testi seda kindlasti turvanõuete kontekstis. Logi sisse kasutajana, kes peab antud list'i nägema mõnes teises veebis ja kellel on minimaalsed õigused, mis vastava veebi kasutajal saavad olla.

Kui õigustega probleeme ei teki list'i kuvamisel, siis võta järgmiseks käsile toimingud, mida renderdatud list pakub. Proovi, kuidas töötavad lisamised, muutmised ja kustutamised ning veendu kas minimaalsetes õigustes kasutaja saab seda kõike teha või ei.

Praeguseks ütlen, et selle teemaga on selleks korraks kõik. Et probleem on aktuaalne ja hädalisi mitmeid, siis avaldasin selle koodi nö. inkubaatoris küpsemata kujul. Ma tean, et selliselt saab SharePoint'is pildi ette, kuid kas see tee on õige – ma ei oska veel öelda.

NB! Kui sina, lugupeetud ametivend, kasutad seda koodi ja avastad midagi huvitavat või satud probleemide otsa, siis palun anna sellest käesoleva kande kommentaarides kindlasti teada. See info võib huvi pakkuda ka teistele lugejatele. Ja mina olen kindlasti igasuguse asjaliku tagasiside eest südamest tänulik.

Kommenteeri

sulge
Saada link e-postiga

© DT 2012 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress