Занимљиве иПхоне апликација

image Мобилни тим је овде у слалом развио стварно цоол иПад апликација која комбинује виртуелне реалности увећање в / оффлине способности да обезбеде оно што може да буде најбољи њујоршког метроа тражило и усмеравање апликација данас доступни.

Ево сајт описујући апликацију детаљније: http://www.nycstationfinder.com/.

I don’t have any Apple products so I can’t test it out myself, but it looks pretty cool. I’m hoping they port it over to Android soon.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Опет МВП

Microsoft re-awarded me with SharePoint MVP on July 1st this year and it’s no less exciting than it was the first time four years ago.

The SharePoint community is just an amazing place.  I remember when I was first introduced to SharePoint by my old employer, Conchango.  I was not happy about it Осмех.  I had been living in a BizTalk world for a year or two leading up to my job there and before that, worked in another insular world of people and companies that made a living off of Progress Software.  I say “insular” because the SharePoint world is anything but!

I’m continually glad and excited to be part of this bizarre online community of people that feel strangely compelled to blog endlessly, give up their Saturdays for free conferences, haunt online forums, build all kinds of whacked out free products to put up on CodePlex and a myriad of other community efforts of all shapes and sizes. 

I don’t know what it is about this product that inspires such volunteerism and immersion, but I hope it never changes.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Дозволите Схининг Примери предводе јачању СхареПоинт усвојења

My first “pure” BrightStarr blog entry was published today.  Ево теасер:

There’s been a lot of conversation on the Internets of late on the topic of SharePoint adoption and especially the lack thereof. No one wants to go to all the trouble of designing a farm and security infrastructure, participating in workshops, putting together a snazzy look and feel, working out a rock solid information architecture that can withstand the vicissitudes of company re-orgs and finally, a fanfare-filled rollout just to discover three months post go-live that less than 50% of the company employees are using SharePoint and most of them are using it to replace the old network file servers ("the S:\ drive").

No silver bullet (or single blog post) is going to solve that problem. Међутим, there are lot of things you can do to reduce the risk of an anemic SharePoint portal. Једна таква техника је "блистави пример шаблон."

Волео бих да знам о другим стратегијама усвајања СхареПоинт да ти је стало да делите.  Ако ти део, оставите као коментар на БригхтСтарр блогу.

Прочитајте целу ствар овде: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

"Приступ одбијен” да дефаулт.аспк на СхареПоинт 2010 Под сајта

Један од мојих клијената је отишао живи са СхареПоинт 2010 окружење данас.  Открили смо да је одређена група корисника не могу да добију своје подразумеване почетне странице.  СхареПоинт одговорила са "Приступ забрањен" и уобичајеног "пријавите као други корисник" или "захтева приступ" одговор. 

When we used the nifty “Check Access” function it confirmed that the end users really did have access.  Још, they could not get to the page.

I followed a lot of roads to various dead ends until I decided to compare the web parts on the broken page against a similar working page.  I did that by putting the page in maintenance mode by adding “?contents=1” to the page. Тако, it looked like “http://server/subsite/subsite/default.aspx?contents=1”. 

This showed me two web parts named “Error” with a description like “Error” on the broken page.  I didn’t think to take a screen cap at the time.

I removed them and that solved the problem.

I’ve seen a question like this come up on the forums in the past and I was extremely skeptical about the poster’s insistence that he had security set up properly.  I *know* I had security set up right Осмех  Next time, I’ll be more open and less skeptical.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

КССЛТ и јКуери Узорци

Ја сам радио много од КССЛТ и јКуери и помислио бих поделим неколико исечака које други могу бити од користи у будућности.

Пример 1: Емит једноставан ЈаваСцрипт / јКуери у КССЛТ:

<клс:template match="something" КСМЛ:space="preserve">

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

</клс:шаблон>

That bit emits some JavaScript that waits for the page to finish loading (because of the $(документ).спреман(...)) and then sets the value of a hidden field named QueryFriendlyFilters to the literal value “empty”.

Пример 2: Коришћење <клс:ако> to check “greater than”“less than”, итд.

<клс:template match="something" КСМЛ:space="preserve">

  <div id="fdcAllFilters">
 
    <клс:if test="@Count>0">
      <span class="fdcFilterLabel">Current filters:</распон>
    </клс:ако>

    <!– more stuff happens here. –>

</клс:шаблон>

The above snippet checks to see if an attribute named “Count” of the “something” element is greater than zero.  The XML behind this would be something like:"

<something Count=”5” />

Пример 3: Iterate through all elements, interspersing jQuery calls.

<!– Iterate through all the filters and display the correct  линкови. –>
<клс:for-each select="UserFilter">

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

  <span class="fdcFilterLabel"><клс:value-of select="@FilterValue"/></распон>

  <script type="text/javascript">

    $(документ).спреман(функција(){
        <клс:текст><![ЦДАТА[$("#QueryFriendlyFilters").val( ($("#QueryFriendlyFilters").val() + " ]]></клс:текст>\"<клс:value-of select="@FilterValue"/>\"<клс:текст><![ЦДАТА["));]]></клс:текст>
    });

  </скрипта>

</клс:-за сваки>

The above snippet is the most complex and there may be easier ways to do it.

The XML behind this looks roughly like this:

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

This snippet is iterating through <UserFilter> nodes. 

It first emits an anchor tag that when clicked invokes a JavaScript function that is already on the page, “mySubmitPage” and passes the value of an attribute on the <UserFilter> node named “ID”. 

It then emits some jQuery that waits for the page to load.  That jQuery updates a hidden field named “QueryFriendlyFilters” by adding the value of the FilterValue attribute.  Note all the crazy <клс:текст> и <![ЦДАТА[ ... ]]> stuff.

That’s it, Надам се да помаже!

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

ПерформанцеПоинт и Грешка 33494

Један од мојих клијената позвао је данас када је њихово окружење ПерформанцеПоинт (у СхареПоинт 2010) покварио.  Једна од апликација сервера на фарми је понестаје простора на диску.  Обраћајући да, клијент деинсталира "превише" и на ПП све ствари престао да функционише.  Разни веб партс ће показати "неочекиване грешке. Грешка 33494. Additional details have been logged for your administrator”:

image

I looked up the error and didn’t find anything specific to “Error 33494” but this MSDN forums posting was helpful: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

I found ADOMD.NET here as a component in the SQL Server 2008 Feature Pack: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(click to enlarge)

I download and installed that and it fixed everything.

I think this is a pretty oddball kind of error, but if you hit it, you at least you have an option.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Листс.асмк, ГетЛистИтемс и фасцикле

Ја сам истраживао за некога данас око лист.асмк веб услугу као део СхареПоинт 2010 (и раније).  Она је била у стању да ставке листе на основној фасцикли (укључујући и имена субименике), али није могао да ставке у под-директоријумима.  Мало сам гледала около на интернетс и то је изненађујуће често питање.  Још, Нисам могао добити добар одговор на једноставно питање, "Ако ја знам фасциклу, како могу добити ставке у фасцикли?"  Да будем искрен, Нисам пробао све то тешко, јер сам хтео да схватимо ово сама за неко време Осмех.

Да бисте подесили ово, Направио сам сајт под називом "Сценарији блоггинг" и прилагођене листе по имену "Цустом Списак са под фасциклама".  Тада сам створио фолдере именоване:

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

Додао сам неколико ставки у фасцикли "Година 2006".  То је оно што изгледа:

image

Мој пријатељ не пише Ц # кода, већ користите Јава, па САПУН коверта је оно што је заиста потребно.  Да би се то, Написао сам мало јКуери а затим користи Фиддлер да бисте добили Стварни ХТТП разговор.

Ево релевантно јКуери (Копирао сам код доле испод ако желите да копирате / пасте):

image

Прво су кључ је да се укључе и <куериОптионс> и <КуериОптионс> чвор.  Други кључ је у томе <Фасцикла> чвор је УРЛ адреса на коју клијент има приступ.

Постоје и други начини да се ово, али ово је добро радио за мене када се користи јКуери.

Овде је САПУН коверта за горе:

<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’>                
  <соапенв:Тело>
    <ГетЛистИтемс КСМЛнс =’
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’>
      <листнаме>Прилагођену листу са под фасциклама</листнаме>
      <виевФиелдс>  
        <ВиевФиелдс>
          <ФиелдРеф Име = 'Наслов’ />
          <ФиелдРеф Име = 'ЕнцодедАбсУрл’ />
        </ВиевФиелдс>
      </виевФиелдс>
      <куериОптионс>
        <КуериОптионс>
          <Фасцикла>
хттп://демосервер1/Блоггинг Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла>
        </КуериОптионс>
      </куериОптионс>
   
</ГетЛистИтемс>
  </соапенв:Тело>
</соапенв:Коверат>

Много примера и дискусија око овог ме је навело да верујем да све што ми треба је <КуериОптионс> и наведите име фасцикле.  За мене, Морам да га замотати у оба <куериОптионс> као и навести потпуно квалификовано УРЛ <Фасцикла> чвор.

Ево јКуери АЈАКС подешавање:

$(документ).спреман(функција() {
       био соапЕнв =
           "<соапенв:Коверте КСМЛнс:соапенв =’хттп://сцхемас.кмлсоап.орг / сапун / коверти /’> \
               <соапенв:Тело> \
                    <ГетЛистИтемс КСМЛнс =’хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /’> \
                       <листнаме>Прилагођену листу са под фасциклама</листнаме> \
                       <виевФиелдс> \
                           <ВиевФиелдс> \
                              <ФиелдРеф Име = 'Наслов’ /> \
                              <ФиелдРеф Име = 'ЕнцодедАбсУрл’ /> \
                          </ВиевФиелдс> \
                       </виевФиелдс> \
                       <куериОптионс> \
                         <КуериОптионс> \
                           <Фасцикла>http://demoserver1/Blogging Сценарији / спискови / прилагођене листе са под фасциклама / 2006 годину</Фасцикла> \
                         </КуериОптионс> \
                       </куериОптионс> \
                   </ГетЛистИтемс> \
               </соапенв:Тело> \
           </соапенв:Коверат>";

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

СПД Воркфлов Обрасци, Савети и трикови

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

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Листс.асмк, ГетЛист и "Вредност не сме бити нулл”

Открио сам да је данас ГетЛист() метода у листс.асмк веб сервиса мора да се зове веома пажљиво и да је склона да се баци мистериозни "вредност не може бити нулл" изузетак (и под претпоставком да је можете добити прошлости још горе генеричке поруке о грешци, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ бачен. ")  Посебно, Нашао сам да не може да пружи било какав префикс на ГетЛист метода.  Следећи јКуери код илуструје тачку:

image

Ако то урадите, Веб услуга одговара са "Вредност не може бити нула" по ово виолиниста-условом ХТТП транскрипт:

<?xml version="1.0" encoding="utf-8"?>
  <сапун:Коверат
     КСМЛнс:сапун ="
хттп://сцхемас.кмлсоап.орг / сапун / коверти /"    
     КСМЛнс:кси = "
хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце"
     КСМЛнс:ксд ="
хттп://ввв.в3.орг/2001/КСМЛСцхема">

  <сапун:Тело>
    <сапун:Грешка>
      <фаултцоде>сапун:Сервер</фаултцоде>
      <фаултстринг>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ је бачена.
      </фаултстринг>
      <детаљ>
        <еррорстринг КСМЛнс ="
хттп://сцхемас.мицрософт.цом / СхареПоинт / сапун /">
Вредност не може бити нула.
        </еррорстринг>
      </детаљ>
    </сапун:Грешка>
  </сапун:Тело>
</сапун:Коверат>

Наравно, вероватно не би додао да "С0" префикс на сопствене, али неки алати су склони да то уради (као Ецлипсе).

То је све више збуњујуће / фрустрирајуће, јер друге методе толерише префикса.  На пример, the ГетЛистЦоллецтион метод не смета ако је прошло префикс, чак и са бесмисленим префиксима попут "киззи":

image

Ова "вредност не може бити нула" изгледа прилично уобичајено са листс.асмк па се надам да ће то помоћи некоме у будућности.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin