Цікавыя прыкладання iPhone

image Мабільная каманда тут, у слаламе распрацавала сапраўды выдатна IPad прыкладанне, якое спалучае ў сабе віртуальную рэальнасць павелічэння ж / аўтаномны рэжым, каб забяспечыць тое, можа быць лепшым Нью-Ёрку метро пошукам і маршрутызацыяй прыкладанняў, даступных сёння.

Вось сайт які апісвае дадатак больш падрабязна: http://www.nycstationfinder.com/.

У мяне няма любыя прадукты Apple, таму я не магу праверыць гэта сам, але гэта выглядае даволі халаднавата. Я спадзяюся, што яны партаваць яго на Android хутка.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

MVP зноў

Microsoft паўторна ўзнагародзіў мяне SharePoint MVP 1 ліпені гэтага года, і гэта не менш захапляльным, чым гэта было ў першы раз чатыры гады таму.

Супольнасці SharePoint проста дзіўнае месца.  Памятаю, калі я ўпершыню пазнаёміўся з SharePoint маім старым працадаўцам, Conchango.  Я не быў шчаслівы аб гэтым ўсмешка.  Я жыў у свеце, BizTalk на працягу года або двух, якія вядуць да маёй працы там і да гэтага, працаваў у іншым свеце астраўная людзей і кампаній, якія зрабілі жыццё прэч Progress Software.  Я кажу: "астраўной", таму што свет SharePoint зусім ня!

Я ўвесь час рады і ўсхваляваны, каб быць часткай гэтай дзіўнай інтэрнэт-супольнасць людзей, якія адчуваюць сябе дзіўна вымушана бясконца блог, адмовіцца ад сваіх суботах бясплатна канферэнцый, пераследваць інтэрнэт-форумаў, пабудаваць усе віды змучаны бясплатныя прадукты пакласці на CodePlex і мноства іншых намаганняў супольнасць ўсіх формаў і памераў. 

Я не ведаю, што гэта такое па гэтаму тавару, які натхняе такое валанцёрства і апусканні, але я спадзяюся, што гэта ніколі не мяняецца.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

Хай яркім прыкладам пракласці шлях да павелічэння SharePoint Прыняцце

Мой першы «чысты» BrightStarr запіс у блогу была апублікаваная сёння.  Вось тізер:

Там было шмат размоў на інтэрнэт позна на тэму прыняцця SharePoint і, асабліва, іх адсутнасць. Ніхто не хоча ісці на ўсе цяжкасці праектавання ферм і інфраструктуры бяспекі, ўдзел у семінарах, разам кідкі знешні выгляд, распрацоўка самавітыя інфармацыйную сістэму, якая можа вытрымаць скажонасці кампанія паўторна Арганізацый і, нарэшце,, фанфары запоўненыя скрутку толькі каб выявіць тры месяцы пасля пачатку функцыянавання, што менш 50% супрацоўнікаў кампаніі выкарыстоўваюць SharePoint і большасць з іх выкарыстоўваюць яго для замены старых файлавых сервераў сеткі ("the S:\ drive").

няма срэбнай кулі (або адно паведамленне ў блогу) збіраецца вырашыць гэтую праблему. Аднак, Ёсць шмат рэчаў, якія вы можаце зрабіць, каб паменшыць рызыка анеміяй SharePoint Portal. 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 Пад сайта

Адзін з маіх кліентаў працягваў жыць са сваім SharePoint 2010 сучасных умовах.  Мы выявілі, што пэўная група карыстальнікаў не можа атрымаць доступ да сваёй хатняй старонкі па змаўчанні.  SharePoint адказалі "Адмоўлена ў доступе" і звычайныя "Увайсці як іншы карыстальнік" або "Запыт доступу" адказ. 

Калі мы выкарыстоўвалі зграбны "Праверка доступу" функцыі ён пацвердзіў, што канчатковыя карыстальнікі сапраўды маюць доступ.  Яшчэ, яны не маглі патрапіць на старонку.

Я рушыў услед шмат дарог да розных тупікі, пакуль я не вырашыў параўнаць вэб-частак на старонцы зламанай супраць аналагічных рабочых старонцы.  Я зрабіў, што, паставіўшы старонкі ў рэжыме абслугоўвання, дадаўшы "?Змест = 1 "на старонку. Так, здавалася, «HTTP://Сервер / даччынага / даччынага / default.aspx?Змест = 1 ". 

Гэта паказала мне, два вэб-частак, званых "Памылка" з апісаннем, як "Памылка" па пабітых старонцы.  Я не думаю, каб узяць вечка экрана падчас.

Я зняў іх і, што вырашылі праблему.

Я бачыў пытанне, як гэта прыдумалі на форумах у мінулым, і я быў вельмі скептычна патрабаванні сайт аўтара, што ён бяспекі настроены належным чынам.  Я * ведаю * Я бяспекі створана правы ўсмешка  Наступны раз, Я буду больш адкрытым і менш скептычна.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

XSLT і JQuery узораў

Я раблю шмат з XSLT і JQuery і думаў, што я падзялю некалькі фрагментаў, што, могуць апынуцца карыснымі ў будучыні.

Прыклад 1: Emit простыя JavaScript / JQuery ў XSLT:

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

  <!– Свабодны выхад запыту дружалюбны фільтры схаванае поле –>
  <Сцэнар тып = "тэкст / JavaScript">
    $(дакумент).гатовы(функцыя(){
      $("#QueryFriendlyFilters").Вал("empty");
    });
  </сцэнар>

</XSL:шаблон>

Гэта крыху выпраменьвае некаторы JavaScript, што чакае старонку для завяршэння загрузкі (з-за $(дакумент).гатовы(...)) , А затым ўсталёўвае значэнне схаванага поля з імем QueryFriendlyFilters літаральнага значэння "пустая".

Прыклад 2: Выкарыстоўваць <XSL:калі> праверыць "больш чым",  «Менш», і г.д..

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

  <div id="fdcAllFilters">
 
    <XSL:if test="@Count>0">
      <span class="fdcFilterLabel">Бягучыя фільтры:</пралёт>
    </XSL:калі>

    <!– больш матэрыялу тут адбываецца. –>

</XSL:шаблон>

Прыведзены вышэй фрагмент правярае, ці ёсць атрыбут "Колькасць" "нешта" элемент больш за нуль.  XML за гэтым будзе нешта накшталт:"

<нешта Count = "5" />

Прыклад 3: Перабору ўсіх элементаў, перамяжоўваючы JQuery званкі.

<!– Ітэрацыя праз усе фільтры і адлюстроўваць правільную  сувязі. –>
<XSL:for-each select="UserFilter">

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

  <span class="fdcFilterLabel"><XSL:value-of select="@FilterValue"/></пралёт>

  <Сцэнар тып = "тэкст / JavaScript">

    $(дакумент).гатовы(функцыя(){
        <XSL:тэкст><![CDATA[$("#QueryFriendlyFilters").Вал( ($("#QueryFriendlyFilters").Вал() + " ]]></XSL:тэкст>\"<XSL:value-of select="@FilterValue"/>\"<XSL:тэкст><![CDATA["));]]></XSL:тэкст>
    });

  </сцэнар>

</XSL:для кожнага,>

Прыведзены вышэй фрагмент з'яўляецца самым складаным і можа быць больш просты спосаб зрабіць гэта.

XML за гэта выглядае прыкладна так:

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

Гэты сниппет ітэрацыі <Фільтр карыстальнікаў> вузлоў. 

Гэта першы выпраменьвае тэга прывязкі, пры націску выклікаецца функцыя JavaScript, якая ўжо на старонцы, "MySubmitPage» і перадае значэнне атрыбуту <Фільтр карыстальнікаў> вузел з імем "ID". 

Затым ён пускае некаторыя JQuery што чакае загрузкі старонкі.  Гэта JQUERY абнаўлення схаванае поле пад назвай "QueryFriendlyFilters" шляхам дадання значэнні FilterValue атрыбуту.  Звярніце ўвагу, усе вар'яты <XSL:тэкст> і <![CDATA[ ... ]]> матэрыял.

Вось менавіта, спадзяюся, гэта дапаможа!

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

PerformancePoint і памылак 33494

Адзін з маіх кліентаў называюцца сёння, калі іх асяроддзі PerformancePoint (У SharePoint 2010) зламаўся.  Адзін з сервераў прыкладанняў у ферме адчуваў недахоп дыскавай прасторы.  Хоць рашэнне гэтай, Кліент выдалены "занадта шмат" і ПП матэрыялу ўсё перасталі працаваць.  Розных вэб-частак паказалі б "адбылася раптоўная памылка. Памылка 33494. Дадатковыя падрабязнасці былі запісаныя для вашага адміністратара ":

image

Я паглядзеў памылкі і не знайшоў нічога канкрэтнага, каб "Памылка 33494", але гэта Форумы MSDN прызначэнне было карысным: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Я знайшоў ADOMD.NET тут у якасці кампанента ў SQL Server, 2008 Feature Pack: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(націсніце каб павялічыць)

Я спампаваць і ўсталяваць, што і гэта ўсё зафіксавана.

Я думаю, што гэта вельмі добры дзівак памылкі, але калі вы націснеце яе, вы па крайняй меры ў вас ёсць магчымасць.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

Lists.asmx, GetListItems і тэчак

Я рабіў некаторыя даследаванні для каго-то сёння каля службу list.asmx вэб падаюцца як частка SharePoint 2010 (і больш раннія версіі).  Яна была ў стане атрымаць спіс элементаў у каранёвай тэчцы (у тым ліку імёны подпапок), але не мог атрымаць дэталі ў падтэчку.  Я зрабіў некаторыя азіраючыся на інтэрнэт, і гэта дзіўна агульны пытанне.  Яшчэ, Я не мог атрымаць добры адказ на простае пытанне, "Калі я ведаю, што папка, як я магу атрымаць элементы ў тэчцы?"  Каб быць сумленным, Я не спрабаваў ўсё, што цяжка, так як я хацеў высветліць гэта самастойна на некаторы час ўсмешка.

Каб рэалізаваць гэтую магчымасць, Я стварыў сайт пад назвай "Блогі Сцэнарыі» і карыстальніцкі спіс пад назвай "Асаблівы спіс з ўкладзеных тэчак".  Затым я стварыў тэчкі з назвамі:

  • Год 2005
  • Год 2006
  • Год 2007

Я дадаў некалькі пунктаў у тэчку «Год 2006».  Гэта, як ён выглядае:

image

Мой сябар не піша кода C #, а з дапамогай Java, так SOAP канверце было тое, што яна сапраўды неабходная.  Для атрымання гэтага, Я напісаў трохі JQuery і затым выкарыстаў скрыпача, каб атрымаць фактычнае размове HTTP.

Вось адпаведны JQuery (Я скапіяваў код унізе, калі вы хочаце скапіяваць / ўставіць):

image

Яны першы ключ павінен ўключаць <queryOptions> і <QueryOptions> вузла.  Другі ключ з'яўляецца тое, што <Папка> вузел з'яўляецца URL, да якіх кліент мае доступ.

Там могуць быць і іншыя спосабы, каб атрымаць гэтую, але гэта працуе добра для мяне пры выкарыстанні JQuery.

Вось SOAP канверт для дадзеных:

<soapenv:Канверт XMLNS:soapenv =’HTTP://schemas.xmlsoap.org / мыла / канверт /’>                
  <soapenv:Цела>
    <GetListItems XMLNS =’
HTTP://schemas.microsoft.com / SharePoint / мыла /’>
      <Лісцяны>Карыстацкі спіс з ўкладзеных тэчак</Лісцяны>
      <ViewFields>  
        <ViewFields>
          <FieldRef NAME = 'Назва’ />
          <FieldRef NAME = 'EncodedAbsUrl’ />
        </ViewFields>
      </ViewFields>
      <queryOptions>
        <QueryOptions>
          <Папка>
HTTP://demoserver1/Blogging Сцэнарыі / Спісы / Карыстацкі спіс ўкладзеных тэчак з / Год выпуску: 2006</Папка>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Цела>
</soapenv:Канверт>

Шмат прыкладаў і абмеркавання вакол гэтага прывяло мяне да думкі, што ўсё што мне трэба было <QueryOptions> і пакажыце імя тэчкі.  Для мяне, Мне трэба як апрацоўваць яго ў <queryOptions> а таксама пазначыць поўнае URL для <Папка> вузел.

Вось JQuery AJAX ўстаноўкі:

$(дакумент).гатовы(функцыя() {
       быў soapEnv =
           "<soapenv:Канверт XMLNS:soapenv =’HTTP://schemas.xmlsoap.org / мыла / канверт /’> \
               <soapenv:Цела> \
                    <GetListItems XMLNS =’HTTP://schemas.microsoft.com / SharePoint / мыла /’> \
                       <Лісцяны>Карыстацкі спіс з ўкладзеных тэчак</Лісцяны> \
                       <ViewFields> \
                           <ViewFields> \
                              <FieldRef NAME = 'Назва’ /> \
                              <FieldRef NAME = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </ViewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Папка>http://demoserver1/Blogging Сцэнарыі / Спісы / Карыстацкі спіс ўкладзеных тэчак з / Год выпуску: 2006</Папка> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Цела> \
           </soapenv:Канверт>";

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

SPD Workflow Patterns, Саветы і хітрасці

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 і "Значэнне не можа быць пустым”

Я выявіў, што сёння GetList() метад lists.asmx вэб-сэрвіс павінен быць выкліканы вельмі асцярожна ці гэта схільныя кідаць таямнічы "Значэнне не можа быць пустым" выключэнне (і гэта пры ўмове, вы можаце прайсці яшчэ горш агульнае паведамленне пра памылку, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ быў кінуты ".)  Канкрэтна, Я выявіў, што вы не можаце даць любой прэфікс GetList метад.  У наступным фрагменце JQuery ілюструе той факт,:

image

Калі вы зробіце гэта, вэб-службы адказвае "Значэнне не можа быць пустым", як у гэтым скрыпач-пры ўмове 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">

  <мыла:Цела>
    <мыла:Віна>
      <faultcode>мыла:Сервер</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ быў кінуты.
      </faultstring>
      <дэталь>
        <XMLNS радок памылкі ="
HTTP://schemas.microsoft.com / SharePoint / мыла /">
Значэнне не можа быць пустым.
        </errorstring>
      </дэталь>
    </мыла:Віна>
  </мыла:Цела>
</мыла:Канверт>

Вядома, Вы, напэўна, не хацеў бы дадаць, што "s0" прэфікс па сваім меркаванні, але некаторыя прылады схільныя гэта рабіць (як зацьменне).

Гэта ўсё больш заблытанай / расчараванне, таму што іншыя метады церпяць прэфіксаў.  Напрыклад, the GetListCollection Метад не пярэчыце, калі ён быў прэфікс, нават глупства прэфіксы як "XYZZY":

image

Гэта «значэнне не можа быць пустым", здаецца, даволі часта з lists.asmx так што спадзяюся, гэта дапаможа камусьці ў будучыні.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin