Kategorija Arhīvs: SharePoint Development

Bambusa kalendāra saskarsme ar SharePoint izraisa "radās neparedzēta kļūda"

Šodien, Esmu strādājusi vidē, kas lieto bambusa kalendāra web daļu, attiecībā uz dažām uzlabotas sadarbības. Šis vidēja/mazā standarta fermu ar divas slodzes līdzsvarotu WFEs, "lietojumprogrammu serveris" indeksācija un InfoPath un sagrupētu SQL atpakaļ beigās.

Klients uzstādīta kādu katastrofu atgūšanas programmatūru uz viena no WFEs un ka rezultātā bojāta WFE atsevišķas vietnes vietņu kolekcijā. Ikreiz, kad slodzes līdzsvarošanas norādīja uz ietekmētās WFE un šo vietni, lietotāji redzēju lielākoties tukšu baltā ekrāna ar teikumu "radās neparedzēta kļūda, veidojot". Neviens cits info parādīja, tikai šo teikumu.

Viņi lūdza mani paskatīties uz to. Es viegli reproducēt problēmu un pēc tam pievieno ?saturs = 1 URL beigās. Tas ir, kā es uzzināju, ka viņi, izmantojot bambusa web daļu. Es devos atpakaļ uz lapu, un tagad, pēkšņi, tas parādīja man jauka kārtīgi kļūdas ziņojums:

image

Es nezinu, kas tur īsti notiek, vai tas, ko es darīju, lai iegūtu kontrolētā kļūdas ziņojumu, lai parādītu citiem, nekā pievienojot ?saturs = 1 bita vaicājuma virknes.

Tas ir droši vien ļoti reti mala lietu, bet ja jūs saņemat šo ziņojumu, "Radās neparedzēta kļūda" iet uz priekšu un pievienot ?saturs = 1 vaicājuma virknes un redzēt, kur tas noved.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Technorati Tags: Technorati Tags: ,

Atstarotāju lietošanu Microsoft.SharePoint.dll

Redgate .NET Reflector Michael Blumenthal ir safasēti raksts par brīdinājumu un viedokli ("Kuros skatos var izmantot, veidojot brīdinājuma ?"), kas ir interesanti par saviem spēkiem. Tomēr, Man bija vēl vairāk ieinteresēti, lai redzētu, kā viņš metodiski pastaigas pa Redgate ir .NET atstarotāju lietošanas process. Soli pa solim, viņš parāda, kā lietot šo rīku dziesmu lejā kā SharePoint nosaka, vai skata sarakstā vajadzētu būt "subscribable" trūkuma dēļ labāks vārds (he explains this much better than I do 🙂 ).

Šajā brīdī SharePoint laikmetā, jūs gandrīz ir kurls un akls pret ir nav lasījusi vai dzirdējusi par šī rīka. Tas ir uzlabotas stuff un mana sajūta ir, ka tas ir daudzējādā ziņā instruments pēdējā instancē. Tomēr, Ja jūs domājat, ka tas ir nepieciešams, bet nav īsti zināms, cik, Maikla write-up, kas šķiet kā liels apmācība par šo tēmu.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Technorati Tags: Technorati Tags: , ,

Kalendāra skatā kalendāra vienumu kārtošanu

Lietoju kalendārs lai izsekotu paneļdiskusijas noteiktā dienā. Man ir divas sesijas: rīta un pēcpusdienas. Es gribu izveidot skatu, kurā redzama rīta nodarbības tikai uzskaitītas alfabētiskā secībā, izmantojot sesijas ID. Tas ir nedaudz grūts, lai veiktu (Ja es nokavēju kaut ko reālu skaidrs).

Es varu viegli izveidot filtrētais skats rāda tikai šīs dienas notikumi. Kalendārs parāda visus šos notikumus un ja tie visi veic novietot tajā pašā laikā, tajā ir uzskaitītas tās blakus stundu slotā. tas ir lieliski. Kutelīgs daļa ir tā, ka, pēc noklusējuma, tā vēlas, lai tos uzskaita ID formāts. Tik, Ja es varu pievienot "sesija 02" un pēc tam "Session 01" uz kalendāru, tas liecina, ka tie šādā secībā (ti, Sesija 02 un tad sesija 01). Uzskaitīt tos sesijas ID secībā, Es domāju, ka šīs lietas mēģināt:

  1. Skatu, izmantojot web lietotāja interfeisa konfigurēšana. Bez luck. Lai vienumus kārtotu šādā veidā opcijas nav.

    Tā ka nestrādāja, Es tagad, cerot, ka ir kaut kas tur, kas ļaus man lai ignorētu kārtošanas CAML vaicājums. CQWP ļauj man darīt, ka veida maiņa, varbūt arī būs kalendāra?

  2. Rediģēt web daļas, meklējiet "eksporta" funkciju un … BZZZT! Nevar eksportēt savu XML. Nav eksporta iespējas.

    Esmu joprojām piedāvājot cerība, ka var atrast un mainīt dažus CAML vaicājums. Jo nevar eksportēt web daļu, kas atstāj SharePoint Designer.

  3. Pievienot kalendāra web daļu smilšu vietā un atvērt šajā vietnē izmanto SharePoint Designer. Es paskatos uz iezīmēšanas web daļai un es uzskatu, ka tas, ko es meklēju. Tas ir kodēti trakums, bet vai tas ir: "<ListViewXml …. >kodētu trakums</ListViewXml>". Īpaši, tur ir šī gem:

<Vaicājumu>
<Kur>
<DateRangesOverlap>
<FieldRef nosaukums = "EventDate" />
<FieldRef nosaukums = "EndDate" />
<FieldRef nosaukums = "RecurrenceID" />
<Vērtību tips = "DateTime">
<Mēnesis />
</Vērtība>
</DateRangesOverlap>
</Kur>
<OrderBy><FieldRef nosaukums = "Session_x0020_ID" /></OrderBy>
</Vaicājumu>

(Esmu dekodēt &lt;ir un &gt ir un tos sadalīt vairākās rindās ir skaidrības labad).

Pievienot <OrderBy> mazliet, un tagad tas tiek kārtots pēc sesijas ID, nav iekšēja saraksta vienuma ID.

GIGANTISKS tip o’ cepure Becky Isserman par viņas komentāru Isha Sagi blog post: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Es negribētu likt <OrderBy> bez viņas komentārs īstajā vietā.

Es ceru, ka vērt tas skaidrāk ar ekrāna šāvienu drīz., bet, ja es nekad darīt, vismaz man bija tik daudz.

</beigās>

Technorati Tags: Technorati Tags: , , ,

SharePoint līdzekļus & Pārvaldības risinājumi — Neaizmirstiet CRUD U (vai šajā jautājumā D)

Mēs kopīgi pavadīt daudz laika domāt par SharePoint risinājumus — kā tos izveidot, kādi rīki tiek izmantoti, kas notiek, ja tās nepilda, lai izvietotu, taimera darbus, tvērumiem, uc. Mēs tērēt tik daudz laika domāt par up-front bitiem, kas ir viegli aizmirst, ka mums ir nepieciešams, lai ievilktu tos arī. Savilkšanās risinājumi ir droši vien grūtāk, konceptuālā dizaina aspektā, nekā izvietojot tos. Izvietošana ir būtībā pavārgrāmatu dēka. Parasti, instalētu līdzekli, varbūt ir līdzeklis uztvērējs ielādēt dažus datus par sarakstu, kaut ko tamlīdzīgu. Tomēr, savilkšanās ir potenciāli daudz sarežģītāka.

Konkrēto risinājumu var izveidot artefaktu, piemēram, šo:

  • Satura tipam
  • Definīciju sarakstam
  • Vietnes definīcijas
  • Datus sarakstā
  • Pat uztvērēji
  • InfoPath veidlapas

Saraksts turpinās.

Bet acīmredzot svarīgi izstrādāt risinājumu, kas pareizi instantiates šie artefakti, tas ir tikpat svarīgi apsvērt atjaunināt un dzēst gadījumu. Ja jūsu risinājums izveido jaunu sarakstu, un izplata šo sarakstu ar datu, kas notiek, kad šķīdums ir ievilkti? Dažos gadījumos, saraksts ir izdzēsts. Citos gadījumos, tas būtu jāatstāj neskarti vēsturiskiem mērķiem. Jūsu biznesa vajadzībām palīdzēs jums pareizo lēmumu.

Lai palīdzētu ar šo, radīt matricas, kas uzskaita katras artefakts, jūsu risinājums izvieto uz SharePoint. Uzskaitīt trīs kolonnu skaits artefaktu, izveidot vienu, atjaunināšana un dzēšana. Katram gadījumam, noteikt pareizu iznākumu par šo darbību.

Šāda veida analīzi acīmredzot vislabāk tiek darīts pirms risinājums jebkad izvietots, lai formētu SharePoint fermu. Tomēr, tāpat kā smēķēšana, nekad nav pārāk vēlu, lai sāktu darīt lietas pareizi. Izveidot šo matricu un izstrādās plānu, lai risinātu trūkst atjauninājumu/dzēst scenāriji. Tas var būt grūti atrisināt problēmu, bet vismaz jums ir izveidojuši rāmi ap šo problēmu.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Technorati Tags: Technorati Tags:

Labāks veids ātrai labošanai: Web pakalpojumiem, Interact ar SharePoint, InvalidOperationException

Pirms miljoniem gadu, Man palīdzēja izstrādāta web pakalpojumam, kas bija izsaukti, izmantojot pielāgotu SharePoint Designer darbplūsmas darbību. Šonedēļ, klients vēlējās, lai pārvietotu to uz ražošanas (beidzot!) tāpēc mums nevajadzēja.

Pielāgotajai darbībai strādāja fine, bet to aktivizēt web pakalpojums netika, dodot mums šī kļūda:

System.InvalidOperationException: Šo darbību var veikt tikai datorā, kas savienota ar serveru fermu ar lietotājiem, kuriem ir atļaujas lasīt no konfigurācijas datu bāzes SQL Server. Šim serverim pieslēgties serveru fermas, izmantot SharePoint produktu un tehnoloģiju konfigurācijas vedni, kas atrodas izvēlnē Sākt Administratīvie rīki.
pie Microsoft.SharePoint.Administration.SPWebApplication.Lookup(URI requestUri)

Izrādās, ka es aizmirsu pievienot SharePoint lietojumprogrammas pūlu IIS pakalpojumu. Reiz es tā, ka, tā strādāja fine.

Šajā MSDN foruma ieraksts deva man pavediens man vajadzēja: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2c97c004-7118-4e06-a62c-b2b0ac07ac99

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt: http://twitter.com/pagalvin

Technorati Tags: Technorati Tags:

Ātri un viegli: Iegūt SPItemList SPFolder

Es nepārstāju saskarties ar šo problēmu un Google nekad, šķiet, lai saprastu, ko es gribu darīt, tāpēc es iedomājos, ka varētu rakstīt to uz leju.

Esmu darījis daudz notikumu uztvērēju atkļūdošanu sistēmā pagājušajā nedēļā vai divas. ER ir definēta pret dokumentu bibliotēkā. Atsevišķus vienumus šajā dokumentu bibliotēkā ir cieši saistītas ar savus vecākmapēm. Tik, Esmu vienmēr kļūst vienumu mapi par dažādām manipulācijām. Atkļūdojot, Nepieciešams, lai atjauninātu mapi noteiktam krājumam kura ID es zinu metadatus.

Te ir maz konsoles lietojumprogrammu (domāts darbināšanai serverī šajā fermā) kas paņem divus argumentus: ID vienumam un vērtību laukam piešķirtu, "Apstiprinājuma statusu". Tā grūti kodi daudz sīkumi un nekādu kļūdu pārbaude.

Kods tiek uzmeklēts grūti kodētu vietnes, kļūst grūti kodētu dokumentu bibliotēkā un pēc tam atrod norādīto vienumu. Pēc tam atrod vecākmapi šīs preces eksemplāru un piešķir statusa vērtības.

Galvenā mācība man ir SPItem nav iegūt piekļuvi mapei. Jums vajadzēs izmantot SPListItem.File.

Ja kāds rūpējas piedāvāt kritiku vai ieteikt labāku veidu, kā iegūt mapes vienumu, Lūdzu, atstājiet komentāru.

<kods>
izmantojot Sistēma;
izmantojot System.Collections.Generic;
izmantojot System.Text;
izmantojot Microsoft.SharePoint;
izmantojot System.Collections;

nosaukumvietas Conchango
{
    /// <kopsavilkums>
 /// </kopsavilkums>
 klase ManualFolderUpdate
    {
        statiskā anulēts Main(virkne[] args)
        {
            virkne MSH = "ManualFolderUpdate (v 1.0): "; // MSH = "ziņojuma galvenē"

 Konsoles.WriteLine(MSH + "Startēšana.  Es pēdējo reizi tika mainīts no 08/04/08.");

            virkne URL = http://localhost/xyzzy;

            izmantojot (SPSite oSPSite = jaunā SPSite(URL))
            {

                izmantojot (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList docLib = oSPWeb.Lists["Dokumenti"];

                    Konsoles.WriteLine(MSH + "Saņēmu dokumentu bibliotēkā.");

                    Konsoles.WriteLine(MSH + "Doc lib krājuma inventarizācija: [" + docLib.ItemCount + "].");

                    Int Mapes ID = 0;
                    virkne NewStatus = "xyzzy";

                    Mapes ID = sistēma.Konvertēt.ToInt32(args[0].ToString());
                    Konsoles.WriteLine("Meklē vienumu mapē: [" + Mapes ID + "].");

                    SPListItem Li = docLib.GetItemById(Mapes ID);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konsoles.WriteLine(MSH + "Ieguva vecākmapi.");

                    NewStatus = args[1].ToString();
                    Konsoles.WriteLine("Iestatīt statusu [" + NewStatus + "].");

                    Konsoles.WriteLine("Nospiediet atgriešanas izdarīt update vai CTRL   C, lai priekšlaikus pārtrauktu.");

                    Konsoles.ReadLine();

                    thisItemFolder.Item["Apstiprinājuma statusu"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konsoles.WriteLine(MSH + "Beidzis atjaunināt šo mapi.  Iziešanas.");

                } // izmantojot SPWeb

            } // izmantojot SPSite

 Konsoles.WriteLine(MSH + "Pabeigta.");

        } // Main

    } // klase foldersync
} // nosaukumvietas
</kods>

</beigās>

Abonēt manu blogu.

Technorati Tags: Technorati Tags:

Paslēpjot pielāgotās darbības programmā SharePoint

Pirms vairākiem mēnešiem, strādājot pie projekta par klientu, Es radīju līdzeklis. Cita starpā, Šis līdzeklis noteikts pielāgotajai darbībai (tie ir redzami zem vietnes iestatījumus). Šīs pielāgotās darbības vienīgais mērķis bija pierādīt, ka līdzekļa aktivizācijas darbojās, kā paredzēts. Būtībā, Es to izmantoja kā neapstrādāts forma atkļūdošana.

Daudz, lai mans apmulsums, Šajā artifact atkļūdošanas veica savu ceļu no dev UAT un produkcija, kurai pirms kāds got ap to jautā, "kāda ir šo saiti xyzzy?"

Ko tagad, mēs esam ražošanu un tiešām nav nepieciešams atinstalēt iezīme, noteikt elements.xml un pēc tam pārinstalējiet.

Todd drūmāki viegls veids, kā rīkoties ar to norādīja. Pēc viņa vārdiem:

"CustomActions netiek kopēti datu bāzē, tie ir tieši nolasīt failu Elements.xml un lietojumprogrammu valstī Runtime iekopēti. Tik, jums nav nepieciešams, lai deaktivizētu, atinstalēt, pārinstalējiet, un aktivizējiet līdzekli, lai noņemtu CustomAction. Tikai noņemt Elements.xml failā un pārstrādāt lietojumprogrammu pūlu(s) veikta. Nākamreiz, kad līdzeklis ir joma, jūs vairs neredzēsiet CustomAction."

Es sekoju viņa norādījumiem un, protams, viņi strādā.

Manā gadījumā, tas ir departamenta līmenī instalācija ar tikai vienu WFE. Ja atrodat sev nākotnē šī problēma un ar vairākiem WFE, Es uzskatu, ka jums ir, lai veiktu izmaiņas visās.

</beigās>

Abonēt manu blogu.

Technorati Tags: Technorati Tags: ,

Labāks veids ātrai labošanai: Piekļūstot SharePoint vietai met [HttpException (0x 80004005): Pieprasījumam ir iestājies taimauts.]

Viens no maniem kolēģiem attīstītājs bija šajā nedēļā strādā pie projekta, un uzbrauca timeout problēmu, strādājot par ēkas daži crazy web daļu. Viņa web daļa bija labi, bet "pēkšņi" nesaistītiem vietā kļuva ļoti lēni un bieži taimauts, ar šo kļūdu:

[HttpException (0x 80004005): Pieprasījumam ir iestājies taimauts.]

Es pieteicies un redzēja, ka vairākas citas vietas ir tikai naudas sodu. Man ir aizdomas, ka tur bija dažas slēptās web daļas lapā un izmantojot drošs ?saturs = 1 atkļūdošanas tehnika, Man bija faktiski atrast 11 Web daļas lapā, tikai divām no tām bija redzama. Vēl labāk (no let's-hope-I-find-something-ugly-here-that-I-can-fix viedokļa), trīs no šīm slēgtās web daļas bija nosaukums "Error".

Es izdzēsu tām web daļām (kas pats par sevi bija pārsteidzoši ilgs laiks) un kas būtu atrisināta problēma. For today 🙂

</beigās>

Abonēt manu blogu.

Technorati Tags: Technorati Tags:

Piesaucot SSRS Web pakalpojumus no WSS / SŪNU FBA vidē

Mums vajadzēja izsaukt "CreateSubscription" SSRS web pakalpojumam, kas ir izvietoti FBA metodi pārvaldītā MOSS vidē no pielāgotas web daļas. Mēs tur kļūst variācijas:

  • 401: Nav atļauts
  • Pārvietot objektu

"Objektu pārvietot" ziņojums bija visvairāk interesanti tāpēc, ka tika teikts, ka "objekts" (mūsu SSRS pakalpojumu) "pārcēlušies" lai login.aspx. Tas skaidri nozīmē, mums bija sava veida autentifikācijas problēmu.

Es beidzot sapratu, ka man bija grāmatzīmi blog entry ar Robert Garret, kas aprakstīts kā izsaukt vispārēja pielietojuma WSS/MOSS web pakalpojumam, kas dzīvo iekšā FBA vides. Ņemiet vērā, ka nevar izveidot saiti tieši uz rakstu (kā no 06/09/08) tāpēc, ka tā vēlas, lai autentificētu. Es iesniedzu saite parādīs jums "visu ziņas" skatu un jūs varat atrast konkrētu rakstu, meklējot "Piekļūšana MOSS Web pakalpojumiem, izmantojot Forms Based Authentication".

Šeit ir kods, kas strādāja ar mums:

ReportingService2006 rs = nulle; 
// Autentificēt Autentifikācijas auth = jaunā Autentifikācijas(); 
autentifikācijaURL = "http://URL/_vti_bin/Authentication.asmx";
autentifikācijaCookieContainer =
jaunā CookieContainer();
LoginResult rezultāts = autentifikācijaPieteikšanās("lietotāja ID", "parole");
Ja (rezultāts.ErrorCode = = LoginErrorCode.NoError) 
{
// Neviena kļūda, Tātad saņemt sīkfailus.
CookieCollection cepumi = autentifikācijaCookieContainer.GetCookies(jaunā URI(autentifikācijaURL));
Sīkfailu authCookie = sīkfailus[rezultāts.CookieName];
r =
jaunā ReportingService2006();
r.URL =
"http://Server/_vti_bin/reportserver/ReportService2006.asmx";
r.CookieContainer =
jaunā CookieContainer();
r.CookieContainer.Add(authCookie);
}
mēģiniet
{
  r.CreateSubscription(ziņojums, extSettings, desc, eventType, matchData, parameters1);
}
nozvejas (Izņēmums ex)
{
  WriteLine(ex.Message.ToString());
}

Es izskaidrot lietas, kas strādā kā šis:

  • Mūsu web daļu ir nepieciešams sastādīt autentifikācijas pakalpojums un teikt, "Hei, Tony, tas ir man!".
  • Autentifikācijas pakalpojums atbild, sakot, "Hei, Es zinu, ka tu. Kā klājas bērniem? Šeit ir dota kāda piemiņa."
  • Mēs saucam SSRS dienesta un teikt, "Tony man atsūtīja, Lūk, pilnvara."

</beigās>

Abonēt manu blogu.

Technorati Tags: Technorati Tags: , ,

Ātrs un vienkāršs: Nodrošināt vietnē izmanto SharePoint objektmodeļa C#

Es to izmēģināju meklējot mazs fragments kodu, kas varētu parādīt, kā var izveidot jaunu SPWeb vietņu kolekcijas. I didn't atrast, kā ātri un viegli, kā es gaidīju, tāpēc es domāju, ka es varētu iepļaukāt kopā nedaudz ierakstu par šo tēmu.

Šis kods izveido jaunu Wiki vietni:

 SPSite siteCollection;

    siteCollection = jaunā SPSite("http://conchang o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy nosaukums",
        "xyzzy apraksts", 1033, SPWebTemplate.WebTemplateWIKI, viltus, viltus);

Manu sākotnējo meklēšana neizdevās, jo es meklēju frāzes, piemēram, "noteikumi, kas vietnē izmanto sharepoint objekta modeli" un līdzīgi.

Ja jūs meklēšanas par "Webs.Add()", jūs atradīsiet ļoti noderīga blogu ierakstu skaits, MSDN rakstus un SDK dokumentācija, kas šajā jautājumā iedziļināties dziļums. Es noteikti ieteiktu Šī vietne.

</beigās>

Abonēt manu blogu.

Technorati Tags: Technorati Tags: