საინტერესო iPhone განაცხადის

image პორტალის გუნდი აქ Slalom შეიმუშავა ნამდვილად ზემოთ iPad პროგრამა, რომელიც აერთიანებს ვირტუალური რეალობის augmentation w / შემოსულია შესაძლებლობა უზრუნველყოს რა შეიძლება იყოს საუკეთესო New York მეტროს მონახეთ და routing ოთახი ხელმისაწვდომი დღეს.

აი საიტი სადაც აღწერილია ოთახი უფრო დეტალურად: http://www.nycstationfinder.com/.

მე არ მაქვს რაიმე Apple პროდუქცია ამიტომ მიჭირს შესამოწმებლად ის თავს, მაგრამ ეს გამოიყურება საკმაოდ cool. მე იმ იმედით, რომ ისინი პორტი გადასცემს მას Android მალე.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

MVP Again

Microsoft ხელახლა მიენიჭა მე SharePoint MVP 1 ივლისს ამ წელს და ეს არანაკლებ საინტერესო ვიდრე ეს იყო პირველი შემთხვევა, ოთხი წლის წინ.

SharePoint საზოგადოების მხოლოდ საოცარი ადგილი.  მახსოვს, როდესაც მე პირველად გააცნო SharePoint მიერ ძველი დამსაქმებელი, Conchango.  მე არ ბედნიერი შესახებ Smile.  მე უკვე ცხოვრობს BizTalk მსოფლიოში ერთი ან ორი წელი წამყვანი მდე ჩემს საქმეს იქ და მანამდე, მუშაობდა კიდევ ერთი ჩაიკეტებით მსოფლიოს ადამიანებისა და კომპანიების რამაც საარსებო გამორთვა პროგრესი პროგრამები.  ვამბობ "ჩაიკეტებით" იმიტომ, რომ SharePoint მსოფლიოში არის არაფერი, მაგრამ!

მე მუდმივად მოხარული და აღფრთოვანებული ნაწილი იყოს ამ უცნაური ფორუმი ადამიანი, რომელიც გრძნობს, უცნაურად იძულებული დღიური უსასრულოდ, დათმობენ შაბათს უფასოდ კონფერენციები, ასვენებს ფორუმი, ავაშენოთ ყველა სახის whacked out უფასო პროდუქტების განათავსოთ CodePlex და myriad სხვა კომუნალური ძალისხმევით ყველა ფორმის და ზომის. 

მე არ ვიცი რა არის ამ პროდუქტის შესახებ, რომ შთააგონებს ასეთი მოხალისეობის და immersion, მაგრამ იმედი მაქვს, რომ ეს არასდროს არ ცვლის.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

მოდით ნათელი მაგალითები იცხოვრე ისე, რომ გაზრდილი SharePoint მიღება

ჩემი პირველი "სუფთა" BrightStarr დღიურში ჩანაწერის დღეს გამოქვეყნდა.  აი teaser:

აქ ბევრი საუბარი Internets გვიან თემაზე SharePoint მიღებას და განსაკუთრებით ნაკლებობა მათი. არავის არ სურს წასვლა ყველა უბედურება შექმნასა ფერმა და უსაფრთხოების ინფრასტრუქტურა, მონაწილე სემინარების, აყენებს ერთად snazzy სახეს და ვგრძნობთ, შემუშავება როკ მყარი ინფორმაციას არქიტექტურის, რომელსაც შეუძლია გაუძლოს vicissitudes კომპანიის ხელახალი orgs და საბოლოოდ, fanfare შევსებული rollout მხოლოდ აღმოჩენა სამი თვის გამოხმაურება go-live რომ ნაკლები 50% კომპანიის თანამშრომლები გამოყენებით SharePoint და მათი უმრავლესობა იყენებს შეცვალოს ძველი ქსელის ფაილი სერვერები ("the S:\ drive").

არ ვერცხლის ტყვია (ან ერთი დღიურში) აპირებს ამ პრობლემის გადაწყვეტა. თუმცა, არსებობს ბევრი რამ, რაც შეიძლება გავაკეთოთ, რათა შეამციროს რისკი anemic SharePoint ვერსია. One such technique is the "Shining Example Pattern."

მე მიყვარს იცოდეთ სხვა SharePoint მიღების სტრატეგიების, რომ თქვენ ზრუნვა გააცნონ.  თუ თქვენ წილი, გთხოვთ, დატოვონ როგორც კომენტარს BrightStarr წაკითხვა.

დაწვრილებით მთელი რამ აქ: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

"წვდომა აკრძალულია” უნდა Default.aspx შესახებ SharePoint 2010 Sub საიტის

ერთი ჩემი კლიენტებს წავიდა პირდაპირ ეთერში მათი SharePoint 2010 გარემოს შეხვდა.  ჩვენ აღმოვაჩინეთ, რომ გარკვეული ჯგუფის წევრებს ვერ წვდომის მათი სტანდარტულ მთავარ გვერდზე.  SharePoint უპასუხა "წვდომა აკრძალულია" და ჩვეულებრივი "ნიშანი, როგორც სხვა მომხმარებლის" ან "მოითხოვონ" პასუხი. 

როდესაც ჩვენ გამოყენებული nifty "შემოწმება დაშვება" ფუნქცია დაადასტურა, რომ ბოლოს წევრებს მართლაც აქვთ ისარგებლონ.  თუმცა, მათ ბოლომდე ვერ გვერდზე.

I მოყვება ბევრი გზები სხვადასხვა მკვდარი მთავრდება მანამ, სანამ გადავწყვიტე შედარება ვებგვერდი ნაწილების დაზიანებული გვერდზე წინააღმდეგ ანალოგიური სამუშაო გვერდი.  მე რომ აყენებს გვერდი შენარჩუნების რეჟიმი დამატებით "?შინაარსი = 1 ", რათა გვერდი. ასე რომ,, ჩანდა "http://სერვერზე / subsite / subsite / default.aspx?შინაარსი = 1 ". 

ეს მიჩვენა ორი ვებგვერდი ნაწილების სახელწოდებით "შეცდომა" ერთად აღწერა, როგორიცაა "შეცდომა" დაზიანებული გვერდზე.  მე არ ვფიქრობ, მიიღოს ეკრანზე cap დროს.

მე ამოღებულ მათ და რომ გადაჭრა პრობლემა.

მე ვნახე კითხვა მსგავსი ამუშავება on ფორუმებში წარსულში და მე ძალიან სკეპტიკურად ვებ დაჟინებული, რომ მან უსაფრთხოების შეიქმნა სწორად.  მე ვიცი, მე მქონდა უსაფრთხოების შეიქმნა უფლება Smile  შემდეგი დროს, მე ვიქნები უფრო ღია და ნაკლებად სკეპტიკურად.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

XSLT და jQuery ნიმუშები

მე არ აკეთებს ბევრი of XSLT და jQuery და ეგონა, მინდა იზიარებენ რამდენიმე snippets, რომ სხვები შეიძლება სასარგებლო მომავალში.

მაგალითი 1: გადასცემს მარტივი JavaScript / jQuery წელს XSLT:

<XSL:template match="something" xml:space="preserve">

  <!– ცარიელი out შეკითხვის მეგობრული ფილტრებით ფარული სფეროში –>
  <script type="text/javascript">
    $(დოკუმენტი).მზად(ფუნქცია(){
      $("#QueryFriendlyFilters").val("empty");
    });
  </დამწერლობის>

</XSL:template>

ცოტა emits რამდენიმე JavaScript რომ ელოდება გვერდი დასრულება დატვირთვა (გამო $(დოკუმენტი).მზად(...)) შემდეგ კი ადგენს ღირებულება ფარული ველში QueryFriendlyFilters რომ ლიტერატურული ღირებულება "ცარიელი".

მაგალითი 2: გამოყენება <XSL:თუ> რათა შეამოწმოს "მეტია",  "ნაკლები", და ა.შ..

<XSL:template match="something" xml:space="preserve">

  <div id="fdcAllFilters">
 
    <XSL:if test="@Count>0">
      <span class="fdcFilterLabel">აქტუალური ფილტრებით:</span>
    </XSL:თუ>

    <!– მეტი პერსონალი აქ ხდება. –>

</XSL:template>

ზემოთ snippet ამოწმებს თუ ატრიბუტებს, სახელწოდებით "იმედი" და "რაღაც" ელემენტი მეტია ნულოვანი.  XML უკან ეს იქნება რაღაც:"

<რაღაც Count = "5" />

მაგალითი 3: Iterate მთელი ელემენტები, interspersing jQuery ზარები.

<!– Iterate მთელი ფილტრებით და არიან სწორი  ბმულები. –>
<XSL:for-each select="UserFilter">

  <a class="FilterHref" href="javascript:mySubmitPage(‘RemoveUserFilter’,'{@ ID}')">[X]</a>

  <span class="fdcFilterLabel"><XSL:value-of select="@FilterValue"/></span>

  <script type="text/javascript">

    $(დოკუმენტი).მზად(ფუნქცია(){
        <XSL:ტექსტი><![CDATA[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></XSL:ტექსტი>\"<XSL:value-of select="@FilterValue"/>\"<XSL:ტექსტი><![CDATA["));]]></XSL:ტექსტი>
    });

  </დამწერლობის>

</XSL:for-თითოეული>

ზემოთ snippet არის ყველაზე რთული და შეიძლება იყოს ადვილი გზა ამის გაკეთება.

XML უკან გამოიყურება დაახლოებით ასე:

<UserFilter ID = "123" FilterValue = "xyzzy" />

ეს snippet არის iterating მეშვეობით <მომხმარებელი ფილტრაციის> კვანძების. 

ეს პირველი emits წამყვანმა tag, რომ როდესაც დაწკაპავთ აღვიძებს JavaScript ფუნქცია, რომელიც უკვე გვერდზე, "MySubmitPage" და გადის ღირებულება ატრიბუტი ჩართულია <მომხმარებელი ფილტრაციის> კვანძის სახელწოდებით "ID". 

ეს მაშინ emits ზოგიერთი jQuery, რომ ელოდება გვერდზე ჩატვირთვა.  სწორედ jQuery განახლებები ფარული სფეროში სახელწოდებით "QueryFriendlyFilters" დამატებით ღირებულებას FilterValue ატრიბუტი.  შენიშვნა ყველა გიჟები <XSL:ტექსტი> და <![CDATA[ ... ]]> პერსონალის.

ეს არის ის, იმედი მაქვს, ეს ეხმარება!

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

PerformancePoint და შეცდომა 33494

ერთი ჩემი კლიენტებს მოუწოდა დღეს, როდესაც მათი PerformancePoint გარემოს (ამ SharePoint 2010) ჩაშალეს.  ერთი ოთახი სერვერებზე ფერმა გაშვებული დაბალია დისკზე.  გამოსვლისას, რომ, კლიენტს წაშლა "ძალიან ბევრი" და PP პერსონალის ყველა შეწყვიტა ფუნქციონირება.  სხვადასხვა ვებგვერდი ნაწილების აჩვენებს "იარსებებს მოულოდნელი შეცდომა. შეცდომა 33494. დამატებითი დეტალები გახდა ხართ ადმინისტრატორისადმი ":

image

მე ვუყურებ up შეცდომა და ჩამიტარეს სპეციფიკური "შეცდომა 33494" მაგრამ ეს MSDN ფორუმებში განთავსებას იყო გამოსადეგი: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

აღმოვაჩინე ADOMD.NET აქ შემადგენელ SQL Server 2008 მხატვრული პაკეტი: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(მთავარზე)

გადმოწერეთ და დამონტაჟებული, რომ და ეს დაფიქსირდა ყველაფერი.

ვფიქრობ, ეს არის საკმაოდ oddball სახის შეცდომა, მაგრამ თუ მოხვდა ეს, თქვენ მაინც აქვს ვარიანტი.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

Lists.asmx, GetListItems და დასტების

მე აკეთებდა ზოგიერთი კვლევის ვინმე დღეს დაახლოებით list.asmx ვებ სერვისი, როგორც ნაწილი SharePoint 2010 (და უფრო ადრე).  ის იყო შეუძლია მიიღოს სია ნივთები ძირეული საქაღალდე (მათ შორის სახელების საქვეუწყებო ფოლდერები), მაგრამ ვერ მოახერხა ნივთები ქვეპუნქტით საქაღალდეები.  მე რაღაც ეძებს გარშემო internets და ეს გასაკვირი საერთო კითხვაზე.  თუმცა, მე ვერ კარგი პასუხი მარტივი კითხვა, "თუ ვიცი, ფოლდერში, როგორ მივიღებ ნივთები ფოლდერი?"  მართალი გითხრათ, მე არ ცდილობენ ყველა რომ მძიმე წლიდან მე მინდოდა ტექსტური ამ ერთი ჩემს ხნით Smile.

იმისათვის ეს ყველაფერი, მე შეიქმნა საიტი სახელწოდებით "Blogging სცენარი" და საბაჟო სიაში დასახელებული "მორგებული სია Sub ტიპი".  მე მაშინ შექმნილი საქაღალდეები დაასახელა:

  • წელი 2005
  • წელი 2006
  • წელი 2007

მე დასძინა რამდენიმე საკითხი უნდა დირექტორია "2006 წელი".  ეს არის რას ჰგავს:

image

ჩემი მეგობარი არ არის წერა C # კოდი არამედ გამოყენებით ჯავის, ასე საპონი კონვერტში იყო ის, რაც მან ნამდვილად საჭიროა.  იმისათვის რომ, რომ, დავწერე ცოტა jQuery და შემდეგ გამოიყენება fiddler მიიღოს ფაქტობრივი HTTP საუბარი.

აი შესაბამისი jQuery (მე გადაწერა კოდი ქვემოთ ქვემოთ, თუ გინდათ ასლი / პასტა):

image

ისინი უპირველეს უნდა შეიცავდეს ორივე <queryOptions> და <QueryOptions> კვანძის.  მეორე გასაღები იმაში მდგომარეობს, რომ <Folder> კვანძის არის URL, კლიენტს ხელი მიუწვდება.

ამისთვის შეიძლება იყოს სხვა გზები მიიღოს ამ, მაგრამ ეს კარგად მუშაობდა ჩემთვის, როდესაც გამოყენებით jQuery.

აქ არის საპონი კონვერტში ზემოთ:

<soapenv:კონვერტი xmlns:soapenv =’http://schemas.xmlsoap.org / საპნის / კონვერტში /’>                
  <soapenv:Body>
    <GetListItems xmlns =’
http://schemas.microsoft.com / SharePoint / საპნის /’>
      <ფოთლოვანი>საბაჟო სიაში Sub საქაღალდეები</ფოთლოვანი>
      <viewFields>  
        <ViewFields>
          <FieldRef სახელი = 'სათაური’ />
          <FieldRef სახელი = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging სცენარი / სიებში / საბაჟო სიაში Sub საქაღალდეები / 2006 წელი</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Body>
</soapenv:კონვერტი>

უამრავი მაგალითი და დისკუსია გარშემო გამიყვანა, რომ ყველა მე უნდა იყო <QueryOptions> და დააკონკრეტა საქაღალდე სახელი.  ჩემთვის, მე უნდა ორივე გადატანა შიგნით <queryOptions> ისევე როგორც დააკონკრეტა მთლიანად კვალიფიციური URL for <Folder> კვანძის.

აი jQuery AJAX კონფიგურაცია:

$(დოკუმენტი).მზად(ფუნქცია() {
       იყო soapEnv =
           "<soapenv:კონვერტი xmlns:soapenv =’http://schemas.xmlsoap.org / საპნის / კონვერტში /’> \
               <soapenv:Body> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / საპნის /’> \
                       <ფოთლოვანი>საბაჟო სიაში Sub საქაღალდეები</ფოთლოვანი> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef სახელი = 'სათაური’ /> \
                              <FieldRef სახელი = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging სცენარი / სიებში / საბაჟო სიაში Sub საქაღალდეები / 2006 წელი</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Body> \
           </soapenv:კონვერტი>";

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

SPD სიმბოლო მოდელის, რჩევები და ხრიკები

I gave my presentation today at SharePoint Fest in Denver. Here’s the PowerPoint presentation itself: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin

Lists.asmx, GetList და "მნიშვნელობა არ შეიძლება იყოს null”

აღმოვაჩინე, რომ GetList() მეთოდი lists.asmx ვებ სერვისი უნდა ეწოდოს ძალიან ფრთხილად ან ეს მიდრეკილება იმისათვის, რომ ფარული "ღირებულების არ შეიძლება იყოს null" გამონაკლისი (და ეს ვთქვათ, თქვენ შეგიძლიათ მიიღოთ წარსული უარესი generic შეცდომა, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ ესროლეს ".)  კერძოდ, მივხვდი, რომ ვერ უზრუნველყოფს რაიმე სახის პრეფიქსი on GetList მეთოდით.  შემდეგ jQuery snippet ასახავს წერტილი:

image

თუ თქვენ, რომ, ვებ სერვისი ეხმაურება და "ღირებულების არ შეიძლება იყოს null" როგორც პოსტი ამ fiddler-უზრუნველყოფილი HTTP სტენოგრამა:

<?xml version="1.0" encoding="utf-8"?>
  <საპნის:კონვერტი
     xmlns:საპნის ="
http://schemas.xmlsoap.org / საპნის / კონვერტში /"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <საპნის:Body>
    <საპნის:ბრალია>
      <faultcode>საპნის:სერვერი</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ ესროლეს.
      </faultstring>
      <დეტალურად>
        <errorstring xmlns ="
http://schemas.microsoft.com / SharePoint / საპნის /">
ღირებულება არ შეიძლება იყოს null.
        </errorstring>
      </დეტალურად>
    </საპნის:ბრალია>
  </საპნის:Body>
</საპნის:კონვერტი>

რა თქმა უნდა, თქვენ ალბათ არ დავამატებთ, რომ "s0" პრეფიქსი საკუთარ, მაგრამ ზოგიერთი ინსტრუმენტი არის მიდრეკილება რომ ამის გაკეთება (ისევე როგორც Eclipse).

ეს მით უფრო გაუგებარია / სამწუხარო იმიტომ, რომ სხვა მეთოდები მოითმენს პრეფიქსი.  მაგალითად, the GetListCollection მეთოდი არ იბადება, თუ მას უკვე prefixed, თუნდაც სისულელე ინდექსები როგორიცაა "xyzzy":

image

ეს "ღირებულება არ შეიძლება იყოს null", როგორც ჩანს საკმაოდ საერთო lists.asmx ისე იმედია ეს ხელს შეუწყობს ვინმე out მომავალში.

</ბოლო>

გამოწერა ჩემი დღიური.

გამომყვეს Twitter-ზე http://www.twitter.com/pagalvin