Интересни iPhone приложение

image Мобилен екип тук в слалом е разработила много готино iPad приложение, което комбинира виртуална реалност подсилване със офлайн способност да се осигури това, което може да бъде най-Ню Йорк метро търсене и маршрутизиране ап, налични в момента.

Тук е сайт, който описва ап по-подробно: http://www.nycstationfinder.com/.

Не разполагам Apple продукти, така че не мога да го проверите, себе си, но тя изглежда много яко. Аз съм надеждата, те порт го над да Андроид скоро.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

MVP отново

Microsoft re-awarded ме с SharePoint MVP на 1 юли тази година и е не по-малко интересни, отколкото за първи път преди четири години.

На Общността за SharePoint е просто невероятно място.  Спомням си, когато аз е въведен в SharePoint от моя стар работодател, Conchango.  Аз не се радвам за него Усмивка.  Аз е живял в един свят на BizTalk за една година или две водещи към моята работа там и преди това, работил в друга островната свят на хора и компании, които живот на на Прогрес софтуер.  Аз казвам "островен", защото SharePoint свят е нищо, но!

Аз съм непрекъснато радваме и нетърпелив да бъде част от тази странни онлайн общност на хора, които се чувстват странно е принуден да блог безкрайно, откажат си съботите безплатно конференции, онлайн форуми да общувам с едни, изграждане на всички видове whacked, безплатни продукти, които да се поставят на CodePlex и безброй на други усилия на Общността на всички форми и размери. 

Аз не знам какво е за този продукт, който вдъхновява такива volunteerism и потапяне, но аз се надявам, че никога не промени.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Нека блестящ примери олово, начина на повишена приемане на SharePoint

Моят първи "чисто" BrightStarr блог запис е публикувана днес.  Тук е закачка:

Е имало много разговор на Internets на закъсняло по темата на SharePoint приемането и особено несъществуване. Никой не иска да отиде за всички неприятности за проектиране на инфраструктура на стопанството и защита, участие в семинари, събира Steve готовите изглед и усещане, работа по архитектура рок солидна информация, която може да издържи превратностите на компанията ре-orgs и накрая, шум зареждани обаче само, за да се открият три месеца пост go-живо, по-малко от 50% на компанията и служителите използват SharePoint и повечето от тях са го използват да замести стария мрежови сървъри ("S:\ устройство").

Няма талисман (или един блог съобщение) предстои да се реши този проблем. Въпреки това, има много неща, които можете да направите, за да се намали риска от anemic портал на SharePoint. Една такава техника е на "образец за пример на Shining."

Аз ще обичам да знаете за други стратегии за приемането на 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://Server/subsite/subsite/default.aspx?съдържание = 1 ". 

Това ми показа две web части, наречена "Грешка" с описание като "Грешка" на счупени страница.  Аз не мисля, за да се калпаче екрана по време.

Аз ги премахнат и че решават проблема.

Съм виждал въпрос като този по време на на форумите в миналото и аз бях изключително скептични относно плакат настояване, че той е защита, настроено правилно.  Аз ° знам ° имах защита нагоре и надясно Усмивка  Следващия път, Ще ви бъда по-отворен и по-малко скептични.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

XSLT и jQuery проби

Аз са били правиш много XSLT и jQuery и мисленето, аз ще сподели няколко откъси, които други може да намерите за полезни в бъдеще.

Пример 1: Излъчват прости JavaScript / jQuery в XSLT:

<XSL:шаблон за съвпадение = "нещо" XML:космически = "запазите">

  <!– "Празно" е приятелски заявката филтрира скрито поле –>
  <скриптови тип = "текст/javascript">
    $(документ).готов(функция(){
      $("#QueryFriendlyFilters").вал("празно");
    });
  </скрипт>

</XSL:шаблон>

Този бит излъчва някои JavaScript, която изчаква на страницата, за да завърши зареждането (поради $(документ).готов(…)) и след това определя стойността на скрито поле QueryFriendlyFilters на литерален стойност "празно".

Пример 2: Употреба <XSL:Ако> за да проверите "по-голямо от",  "по-малко от", н.

<XSL:шаблон за съвпадение = "нещо" XML:космически = "запазите">

  <DIV ИД = "fdcAllFilters">
 
    <XSL:Ако test="@Count>0">
      <еталониране на клас = "fdcFilterLabel">Текущ филтри:</еталониране>
    </XSL:Ако>

    <!– повече неща се случва тук. –>

</XSL:шаблон>

Горните парченце проверява дали атрибут с име "Преброяване" на "нещо" на елемент е по-голямо от нула.  XML зад това би било нещо подобно:”

<нещо брой = "5" />

Пример 3: Обхождане на всички елементи, interspersing jQuery повиквания.

<!– Обхождане на всички филтри и да покаже правилното  връзки. –>
<XSL:за всеки избор = "UserFilter">

  <клас = "FilterHref" href = "javascript:mySubmitPage("RemoveUserFilter",'{@ ИД}’)">[X]</а>

  <еталониране на клас = "fdcFilterLabel"><XSL:стойността на select="@FilterValue"/></еталониране>

  <скриптови тип = "текст/javascript">

    $(документ).готов(функция(){
        <XSL:текст><![НЕЗАТВОРЕН[$("#QueryFriendlyFilters").вал( ($("#QueryFriendlyFilters").вал() + " ]]></XSL:текст>\"<XSL:стойността на select="@FilterValue"/>\"<XSL:текст><![НЕЗАТВОРЕН["));]]></XSL:текст>
    });

  </скрипт>

</XSL:за всеки>

Горните фрагмент е и най-сложните и може да има по-лесни начина да го направите.

XML зад това изглежда приблизително по следния начин:

<UserFilter ИД = "123" FilterValue = "xyzzy" />

Това парченце е iterating чрез <UserFilter> възли. 

Тя първо да излъчва котва, етикет, когато се натисне предизвика на JavaScript функция, която вече е на страницата, "mySubmitPage" и минава на стойността на даден атрибут на <UserFilter> възел, наречена "ИД". 

След това тя да излъчва някои jQuery, която изчаква на страницата, за да се зареди.  Този jQuery актуализира скрито поле с име "QueryFriendlyFilters" чрез добавяне на стойността на атрибута FilterValue.  Забележка всички луди <XSL:текст> и <![НЕЗАТВОРЕН[ … ]]> неща.

Това е, надежда, той помага!

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

PerformancePoint и грешка 33494

Един от моите клиенти, наречен днес, когато им PerformancePoint среда (в SharePoint 2010) започва.  Един от сървърите на ап в стопанството е бил изпитва недостиг на дисково пространство.  Докато адресиране, че, клиентът деинсталирана "твърде много" и всички неща PP спря функциониране.  Различни уеб компоненти да покаже "Възникна неочаквана грешка. Грешка 33494. Допълнителни подробности са били регистрирани за вашия администратор":

image

I търсят грешката и не намери нищо специфични за "Грешка 33494", но този MSDN форуми осчетоводяване е полезен: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Намерих ADOMD.NET тук като компонент в SQL сървъра 2008 Пакет от функции: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Щракнете, за да увеличите)

I изтегля и инсталира, и тя определя всичко.

Мисля, че това е един вид на хубави Одбол на грешка, но ако сте хит я, Вие най-малко имате възможност.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Lists.asmx, GetListItems и папки

Аз правя няколко изследвания на някой днес около list.asmx уеб услуга, предоставени като част от SharePoint 2010 (и по-рано).  Тя е в състояние да получи елементите от списъка в главната папка (включително имената на подпапките), но не можа да се получи елементите в подпапките.  Направих някои поглед по internets и това е изненадващо общ въпрос.  Още, Не мога да получа добра отговорът на прост въпрос, "Ако знам, че папката, Как да получа елементите в папката?”  За да бъда честен, Аз не опитайте всички усърдно, тъй като съм исках да фигура, тази комбинация, на моята собствена за известно време Усмивка.

За да зададете това като настройка, Създадох даден сайт, наречена "Сценарии за Blogging" и списък по избор, наречена "Потребителски списък с последващо папки".  След това създадох папки, наречени:

  • Година 2005
  • Година 2006
  • Година 2007

Добавих няколко елементи в папката "2006 година".  Ето как изглежда той:

image

Моят приятел не писане C# код а по-скоро използване на Java, така че САПУН плика е това, което тя наистина необходимо.  За да получите, I пише малко jQuery и използва fiddler, за да получите действителната HTTP разговор.

Ето съответните jQuery (Аз копиран кода под ако искате да копирате/поставяте):

image

Те първият ключ е да включат и двете <queryOptions> и <QueryOptions> възел.  Вторият ключ е, че <Папка> възел е URL АДРЕС, към която клиентът има достъп.

Може да има други начини да получите това, но това работи добре за мен, когато се използва jQuery.

Тук е SOAP пакет за горните:

<soapenv:Плик xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’>                
  <soapenv:Тяло>
    <GetListItems xmlns =’
HTTP://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Списък по избор с последващо папки</listName>
      <viewFields>  
        <ViewFields>
          <Име на FieldRef =' заглавие’ />
          <Име на FieldRef ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Папка>
HTTP://demoserver1/Blogging Списък на сценарии/списъци/по избор с последващо папки/година 2006</Папка>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Тяло>
</soapenv:Плик>

Много примери и дискусия около това довело ми да се смята, че всичко трябва да е <QueryOptions> и задайте име на папка.  За мен, Аз трябва да и го поставете между вътре <queryOptions> както и да укажете напълно квалифицирани URL АДРЕС за <Папка> възел.

Тук е настройка на jQuery AJAX:

$(документ).готов(функция() {
       var soapEnv =
           "<soapenv:Плик xmlns:soapenv =’HTTP://schemas.xmlsoap.org/SOAP/envelope/’> \
               <soapenv:Тяло> \
                    <GetListItems xmlns =’HTTP://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Списък по избор с последващо папки</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Име на FieldRef =' заглавие’ /> \
                              <Име на FieldRef ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Папка>http://demoserver1/Blogging Списък на сценарии/списъци/по избор с последващо папки/година 2006</Папка> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Тяло> \
           </soapenv:Плик>";

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

SPD поток шарки, Съвети и трикове

Дадох моята презентация днес в SharePoint Фест в Денвър. Тук е презентацията на PowerPoint, самата: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Lists.asmx, GetList и "стойност не може да бъде нулев”

Аз открих днес, че GetList() метод в lists.asmx уеб услугата трябва да бъде наречен много внимателно или тя е склонна да хвърлят един тайнствен "Стойност може да бъде null" изключение (и това се предполага, можете да получите миналото дори по-лошо общо съобщение за грешка, "С изключение на тип" Microsoft.SharePoint.SoapServer.SoapServerException’ е било хвърлено.")  Специално, Открих, че не може да даде всякакъв вид на префикс на метода на GetList.  Следните jQuery фрагмент илюстрира точка:

image

Ако направите това, уеб услугата отговаря с "Стойност не може да бъде null" като това цигулар-при условие че HTTP препис:

<?XML версия = "1.0" кодиране = "utf-8"?>
  <сапун:Плик
     xmlns:сапун ="
HTTP://schemas.xmlsoap.org/SOAP/envelope/"    
     xmlns:XSi = "
HTTP://www.w3.org/2001/XMLSchema-instance
     xmlns:XSD ="
HTTP://www.w3.org/ 2001/XMLSchema">

  <сапун:Тяло>
    <сапун:Отказ>
      <faultcode>сапун:Сървър</faultcode>
      <faultstring>
        Изключение от тип "Microsoft.SharePoint.SoapServer.SoapServerException’ е било хвърлено.
      </faultstring>
      <детайли>
        <errorstring xmlns ="
HTTP://schemas.Microsoft.com/SharePoint/SOAP/">
Стойността не може да бъде нулев.
        </errorstring>
      </детайли>
    </сапун:Отказ>
  </сапун:Тяло>
</сапун:Плик>

Разбира се, вероятно няма да добави този префикс "s0" по своему, но някои инструменти са склонни да го направя (като затъмнение).

Това е още по-объркващо / разочароващ, защото други методи толерира представки.  Например, на GetListCollection метод няма нищо против, ако той е бил предварително фиксиран, дори и с глупости представки като "xyzzy":

image

Това "стойност може да бъде null" изглежда доста често с lists.asmx, така че се надяваме това ще помогне на някой, в бъдеще.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin