Месечне архиве: Децембар 2007

Мој син Хацкед Гамеспот

Тако, јутрос, мој син је одлучна да виде старост-тринаест ограничену Хало 3 видео ат ГамеСпот. I’m outside shoveling snow, so I’m not there to help or hinder. Necessity is the mother of invention and all that … he has a eureka! moment. He realizes that even though Gamespot wants him to enter his прави датум рођења, он заправо може да уђе било који birth date he wants. Once he realized that, Он је и сам довољно стар да би видели снимак.

I’m not quite sure how I feel about this 🙂

Недеља смешно: “То је штампање смеће”

На свом првом послу из колеџа у 1991, Имао сам срећу да се раде за компаније за производњу са 13 Локације, not including its corporate HQ in New Jersey. I joined just when the company was rolling out a new ERP system. We were a small IT department of about ten people altogether, two of whom Did Not Travel. Part of the project involved replacing IBM System 36 boxes with HP hardware and HPUX. Everyone used green tubes to access the system.

Пројекат ролнице заједно и ја сам послао доле у ​​Балтимор с нови сарадник, Jeff. Our job was to power up the Unix box, проверите да ли је О / С је покренут, инсталирајте ЕРП систем, конфигурисање ЕРП, train people on the ERP and do custom work for folks on the spot. (То је био посао из снова, посебно што долази право из колеџа). Before we could really get off the ground, нам је потребно да распакујете све зелене цеви, put them on desks and wire them. And the best part was that we had to put the RJ11 connectors on ourselves.

Из неког разлога никада нисам разумео, а заправо никада није мислио да питам у то време, имали смо неке уговарање компанија дође и покренути кабл током постројења, but we didn’t have them put on the connectors. Тако, there was a "patch box" with dozens of of unlabeled cables in the "computer room" и то мазнуо око зграде на разним местима у згради.

Радили смо наш пут кроз њу током викенда, тестирање провода, стављање на конектор (уверивши се да је стрејт вс. прешао), обезбеди да битни поставке на зеленим цеви и штампаче тачни, labeling wires, making sure that "getty" was running correctly for each port and probably a thousand other things that I’ve suppressed since then. It all came together quite nicely.

Али, there was one important cable that we couldn’t figure out. The plant in Baltimore had a relationship with a warehousing location in New Jersey. Some orders placed in Baltimore shipped out of that location. There were two wires that we had to connect to the HPUX box: a green tube and a printer. The green tube was easy, али штампач претворио у ноћну мору три недеље.

Ако не знате, или су га потискује, бави зеленим цеви и штампача на овај начин, there are various options that you deal with by setting various pins. 8-бит, 7-бит, паритет (чак / Одд / ноне), probably others. If you get one of those settings wrong, цев или штампач и даље показује ствари, али то ће бити укупно бесмислице, or it will be gibberish with a lot of recognizable stuff in between. Наравно, these pins are hard to see and have to be set by using a small flat-edge screw driver. And they are never standard.

Ми смо поставили први у низу брзих позива са Њ типом (оседео рачунара који вероватно мрзи нас псује до данас). We got the green tube working pretty quickly, but we couldn’t get the printer to work. It kept "printing garbage". We would create a new RJ11 connector, switching between crossed and straight. We would delete the port and re-created in Unix. We went through the arduous task of having him explain to us the pin configuration on the printer, никада није сигуран да ли је он то радио исправно.

Крајње је време да се иде уживо, све је у Балтимору зуји, али не можемо добити проклети штампач у Њ да ради! We’ve exhausted all possibilities except for driving back up to NJ to work on the printer in person. To avoid all that driving, we finally ask him to fax us what he’s getting when it’s "garbage", надајући се да ће можда бити неки траг у том смећу које ће нам рећи шта радимо погрешно.

Када смо добили факс, we immediately knew what was wrong. Видети, our method of testing whether we had configured a printer correctly was to issue an "lp" команда овако:

лп / етц / пассвд

У основи, we printed out the unix password file. It’s always present and out of the box, always just one page. You standard Unix password file looks something like this:

ковач:*:100:100:8-74(канцеларија):/хоме / Смитх:/уср / бин / сх
:*:200:0::/хоме / гост:/usr/bin/sh  

We had been printing out the password file over and over again for several weeks and it was printing correctly. Међутим, крајњем кориснику, it was "printing garbage".

</крај>

Још један Мрежа акредитиве више изазов издање и решење

My client recently installed a magic device from Juniper that apparently replaced their old Cisco network load balancer (НЛБ). At about the same time, we installed a hotfix to address a workflow problem.

После дан два, приметили смо проблем када смо приступили заједничку услуга (ССП). We could get to it, but we would be challenged for a user ID and password many times on each page. This didn’t happen with the main portal app, nor central administration. Naturally, we didn’t know which of the two (Juniper or hotfix) would be the issue, though I strongly suspected the hotfix, figuring we had not installed it quite right.

It turned out that Juniper had some kind of compression setting. Једно од robed figures over in the network group turned that setting off. That solved our problem.

This is not the first time that compression has been the root cause of a SharePoint problem for me. IIS compression adversely affected a 3rd party tool from the good people at The Dot Net Factory for IE 6 browsers (IE 7 browsers worked without difficulty).

Тако, add "compression" to the hazards list.

</крај>

Credit to: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

Размишљам о промени блоггинг платформа

I started off my "blogging career" using Microsoft’s platform and it’s been good to me. It’s easy to post, there are good options and widgets for managing your "space", пристојан веб складиштење и тако даље.

Међутим, I really just fell into the MS solution with almost no planning. That alone calls for me to evaluate where I am and where I’m going, in terms of a blogging platform. There are also two important limitations that bother me right now vis-à-vis Windows Live Spaces.

Прво, I can’t get very good statistics. There are stats but the detail is often truncated and not presented in a way that allows for any kind of analysis. There no sorting or export capability. I get many blog ideas based on the kind of information people find (или посебно не пронађе) when they search my blog. It’s very hard to use lives spaces for that.

Други, there does not seem to be any mechanism to "monetize" a windows live space blog. Заправо, како би се добили ослободити од МС огласа (из које ја не стичу никакву корист), I need to actually pay Microsoft. (Најмање, Тако сам ја схватио; Био сам у стању да се дефинитивне одговоре на ова питања, а ми се).

Сада када имам утврђеном обрасцу и скуп блоговање навика, I want to evaluate other options. I’ve done some research and there are a lot of choices, али сам радознао да шта други људи, посебно други у СхареПоинт заједници (као блогера и читалаца), like to use.

Ако ова тема вас интересује и имате мишљење, или су спремни да поделе своје искуство, оставите коментар или пошаљите ми емаил директно.

Хвала!

<крај />

Тецхнорати Тагс:

СхареПоинт Десигнер-маил Шаље ???? у е-маил

Форум корисници повремено питам: Зашто СхареПоинт Десигнер пут ???? у моју емаил уместо вредности поља?

Један од разлога за то је зато што се дешава да се променљива којој говорите је нулл.

This can happen because you are trying to reference a field from the "current item" but the user never entered a value into that form field.

<крај />

Тецхнорати Тагс:

Упоредити / Тест за празне датума у ​​СхареПоинт Десигнер Воркфлов

Сценарио: У СхареПоинт Десигнер посла, you need to determine if a date field is blank.

Проблем: SPD does not provide a direct method for comparing dates to anything other than a date. You cannot create a condition like this: "If [Датум Поље] equals blank".

Решење: Convert the date to a string. Use string comparison to determine if the date is blank.

Сцреен Схотс:

The following screen shots show how to do this. У овом сценарију, поље на ставку, "Environmental Permits:First Permit Reminder Date", се подноси и у току посла пожари у одговору.

слика

слика

Белешке:

Када сам покушао ово, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (Варијабла:СтрингРеминдерДатеДате) али је дозволио да.

Такође сам био забринут да га омогућавајући, вредност може бити ништаван и дигне у ваздух или ВФ при извршавању или можда подигне глобалну температуру 1/2 степен, али те бриге су неосноване.

</крај>

Тецхнорати Тагс:

Бар је још увек прилично високе за продужење Мосс

Данас, I was working with a client and describing how to modify the content query web part and display additional bits of information from a content type.

"First, конфигурисања ЦКВП да се повезује са њеним изворима података, онда га извезете на вашем радном месту, модификовати <ЦоммонВиевФиелдс>, отпремање, remove the original and now it’s ‘primed’ to display those other columns. Следећи, отворити СхареПоинт Десигнер, navigate to the site collection root and locate ItemStyle.xsl. Copy one of the templates as a useful starting point. Go back and modify the CQWP to make use of this new template. Коначно, измените шаблон да донесе своје нове поља! (Не заборавите да проверите поново тако да остали корисници могу да виде резултате)."

Све је потпуно јасно (и већина од нас СхареПоинт девелопер врсте) шта се дешава и како је то сасвим лепо, заиста, that the data retrieval aspects of the CQWP are so well-separate from the data presentation aspects. Али, то није тако лако објаснити, да ли је?

<крај />

Покажи резултате Цонтент Веб сегмента упита у Грид / Табела

Преглед и циљ

Оут оф тхе бок, МОСС’ Веб сегмент за упит садржаја (ЦКВП) приказује резултате у виду листе, similar to search results. It is also possible to display the results in a grid format (и.е. ХТМЛ формат табеле). Grid formats are better in some circumstances. I describe how to achieve that effect in this article.

Пословни сценарио

I have worked with a client on an enterprise-wide MOSS rollout. We have designed their taxonomy such that projects are first class citizens in the hierarchy and have their own top level site. Project managers maintain a singleton list of project summary information, као што је наслов, буџет, Очекује датум завршетка, remaining budget and other summary type fields. By "singleton" I mean a custom SharePoint list guaranteed to contain only one item. Simplistically, то изгледа овако:

слика

Технички приступ је исто као што је описано овде (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). The CQWP uses an XSL transform to emit HTML for the browser to render.

I always envision the result before diving into the XSL because XSL is a nightmare. Here’s my desired result:

слика

ХТМЛ овако ствара тај резултат:

<ХТМЛ>
 <тело>
 <центар>
 <табела граница= 1>

<!-- Етикете ->
 <тр бгцолорПлава =>
 <тд><фонт боја= Бело><Б>Назив пројекта</Б></фонт></тд>
 <тд алигнДесно =><фонт боја= Бело><Б>Комплетан датум</Б></фонт></тд>
 <тд алигнДесно =><фонт боја= Бело><Б>Буџет</Б></фонт></тд>
 <тд алигнДесно =><фонт боја= Бело><Б>Стварни трошак</Б></фонт></тд>
 <тд><фонт боја= Бело><Б>Генерално статус</Б></фонт></тд>
 </тр>

<тр>
 <тд>Поново жица рачунара соба.</тд>
 <тд алигнДесно =>02/01/08</тд>
 <тд алигнДесно =>22,500.00</тд>
 <тд алигнДесно =>19,000.00</тд>
 <тд>У току</тд>
 </тр>

<тр>
 <тд>Резервисања СКЛ сервера за надоградњу</тд>
 <тд алигнДесно =>04/01/08</тд>
 <тд алигнДесно =>7,500.00</тд>
 <тд алигнДесно =>0.00</тд>
 <тд>Планиран</тд>
 </тр>

</табела>
 </центар>
 </тело>
</ХТМЛ>

Приступ

Следите ове кораке да створи мрежу:

  1. Идентификовати компоненте мреже (редове / колоне).
  2. Дефинисати и створити неопходне колоне локације.
  3. Направите под сајтова за пројекте и једноплодним листама.
  4. Додајте ЦКВП на веб страницу и подесите га да тражи своје листе.
  5. Измена КСМЛ је ЦКВП да покупи додатне колоне.
  6. Измените КССЛ за генерисање табеле.

I’m going to concentrate on number six. Numbers one through four are straight-forward and something that any CQWP user has already done. Number five has been well-documented by others including this exhaustive screen-shot laden article from MSDN овде (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) и Хеатхер Соломонов блог овде (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Ораси и навртке

Почните и спроводи кроз пет корака један по МСДН документацију и Хедер Соломоновом чланак.

У овом тренутку, Додали сте свој ЦКВП на страницу и имате <ЦоммонВиевФиелдс> конфигурисан као неопходно.

Након уобичајене кораке, Имам те међурезултате:

1. Креирање типа садржаја, a templatized custom list for that content type and two sites. Here is the content type:

слика

Овде је сајт структура:

слика

2. Додајте ЦКВП након стварања мој пројекат подлокација и Синглтон листе резиме пројекта:

слика

3. Додајте све додатне информације путем желим <ЦоммонВиевФиелдс>:

        <имовина име="ЦоммонВиевФиелдс" тип="ниска">Пројецт_к0020_Наме;Пројецт_к0020_Екпенсес;Пројецт_к0020_Статус;Пројецт_к0020_Старт_к0020_Дате;Пројецт_к0020_Енд_к0020_Дате;Пројецт_к0020_Будгет</имовина>

Имајте на уму да сам морао да задржи сва поља имовине на једној линији, или то не би ишло (ЦКВП би ми рекао да је упит вратио ниједан артикал).

4. У овом тренутку, we’re ready to move beyond the MSDN article and flip on over to Heather Solomon’s article. Follow her steps starting near step #5 да створи прилагођене / unghosted version of ItemStyle.xsl. I follow Heather’s advice, кроз корак 11 и добити ове међурезултате:

4.1: Име мог шаблон КССЛ следећи:

<клс:template name="Grid" match="Row[@Style=’Grid’]" mode="itemstyle">

Ја мало да модификује јој предложио <клс:-за сваки …> додавањем <бр /> означите да обезбеди чистији листинг:

    <клс:-за сваки изабрати="@ *">
      П:<клс:вредности од изабрати="име()" /><БР/>
    </клс:-за сваки>

4.2: Ја мења део веб, go to appearance and select my "Grid" стил:

слика

Примените промене и овде је резултат:

слика

Можемо да видимо из горе да поља желимо (Име пројекта, расход, статус, итд) are available for us to use when we emit the HTML. Not only that, but we see the names by which we must reference those columns in the XSL. На пример, we reference Project Status as "Project_x005F_x0020_Name".

У овом тренутку, Крећемо из блога Хедер и са раменима ових гиганата, Да додам свој мало.

ЦонтентКуериМаин.ксл

НАПОМЕНА: Приликом измене у оба ЦонтентКуериМаин.ксл као ИтемСтиле.ксл, потребно је да проверите те фајлове назад пре него што будете видели ефекат променама.

За израду Грид-сврхе, MOSS uses two different XSL files to produce the results we see from a CQWP. To generate the previous bit of output, we modified ItemStyle.xsl. MOSS actually uses another XSL file, ContentQueryMain.xsl to in conjunction with ItemStyle.xsl to generate its HTML. As its name implies, ContentQueryMain.xsl is the "main" XSL that controls the overall flow of translation. It iterates through all the found items and passes them one by one to templates in ItemStyle.xsl. We’ll modify ItemStyle.xsl to generate the open <табела> таг пре него што емитује први ред података и затварање <табела> tag after emitting the last row. To accomplish this, ContentQueryMain.xsl is modified to pass two parameters to our "grid" шаблон у ИтемСтиле.ксл, "last row" and "current row". ItemStyle.xsl uses these to conditionally emit the necessary tags.

Using Heather Solomon’s technique, we locate ContentQueryMain.xsl. It is located in the same place as ItemStyle.xsl. This screen shot should help:

слика

We need to make the following changes:

  • Modify an xsl template, "CallItemTemplate" that actually invokes our Grid template in ItemStyle.xsl. We will pass two parameters to the Grid template so that it will have the data it needs to conditionally generate opening and closing <табела> ознаке.
  • Modify another bit of ContentQueryMain.xsl that calls the "CallItemTemplate" to pass it a "LastRow" ЛастРов параметар тако да се могу пренети на нашу Грид предлошку.

Locate the template named "OuterTemplate.CallItemTemplate" препознати по низу:

  <клс:шаблон име="ОутерТемплате.ЦаллИтемТемплате">

Замените цео шаблон на следећи начин:

  <клс:шаблон име="ОутерТемплате.ЦаллИтемТемплате">
    <клс:парам име="ЦурПоситион" />

    <!--
      Add the "LastRow" параметар.
      We only use it when the item style pass in is "Grid".
    -->
    <клс:парам име="ЛастРов" />

    <клс:изабрати>
      <клс:када тест="@ Стил = 'НевсРоллУпИтем'">
        <клс:аппли-темплатес изабрати="." начин="итемстиле">
          <клс:са парам- име="ЕдитМоде" изабрати="$цбк_иседитмоде" />
        </клс:аппли-темплатес>
      </клс:када>
      <клс:када тест="@ Стил = 'НевсБигИтем'">
        <клс:аппли-темплатес изабрати="." начин="итемстиле">
          <клс:са парам- име="ЦурПос" изабрати="$ЦурПоситион" />
        </клс:аппли-темплатес>
      </клс:када>
      <клс:када тест="@ Стил = 'НевсЦатегориИтем'">
        <клс:аппли-темплатес изабрати="." начин="итемстиле">
          <клс:са парам- име="ЦурПос" изабрати="$ЦурПоситион" />
        </клс:аппли-темплатес>
      </клс:када>

      <!--
              Пасс тренутну позицију и ластров у шаблон Грид итемстиле.ксл.
              ИтемСтиле.ксл ће користити да се емитују отворен и затварање <табела> ознаке.
      -->
      <клс:када тест="@ Стил = 'Мрежа'">
        <клс:аппли-темплатес изабрати="." начин="итемстиле">
          <клс:са парам- име="ЦурПос" изабрати="$ЦурПоситион" />
          <клс:са парам- име="Последњи" изабрати="$ЛастРов" />
        </клс:аппли-темплатес>
      </клс:када>

      <клс:иначе>
        <клс:аппли-темплатес изабрати="." начин="итемстиле">
        </клс:аппли-темплатес>
      </клс:иначе>
    </клс:изабрати>
  </клс:шаблон>

Коментари описују сврху промене.

Наравно, the "OuterTemplate.CallItemTemplate" is itself called from another template. Locate that template by searching for this text string:

<клс:шаблон име="ОутерТемплате.Боди">

Кретање кроз упутства у ОутерТемплате.Боди и убаците ЛастРов параметар на следећи начин (приказано у напомени у курзиву):

<клс:позива шаблон име="ОутерТемплате.ЦаллИтемТемплате">
  <клс:са парам- име="ЦурПоситион" изабрати="$ЦурПоситион" />
  <!-- Убаците ЛастРов параметар. -->
  <клс:са парам- име="ЛастРов" изабрати="$ЛастРов"/>
</клс:позива шаблон>

После свега овога, коначно смо ствари поставили правилно да би наш ИтемСтиле.ксл емитовати <табела> ознаке на правом месту.

ИтемСтиле.Кссл

НАПОМЕНА: Поново, пријавите ИтемСтиле.ксл после доношења било какве промене, тако да можете видети ефекат тих промена.

Овде имамо два задатка:

  • Replace the entire Grid template. You can copy/paste from below.
  • Add some mumbo jumbo outside the template definition that enables "formatcurrency" template to work. (Можете рећи да имам слабу регулатор на КССЛ).

Прво, близу врха ИтемСтиле.ксл, Додајте ову линију:

  <!-- Неки мамбо џамбо који нам омогућава да прикажете У.С. валута. -->
  <клс:Децимално формату име="особље" цифра="Д" />

  <клс:шаблон име="Уобичајено" меч="*" начин="итемстиле">

Имајте на уму да сам је додао непосредно пре <клс:template name="Default" …> дефиниција.

Следећи, go back to our Grid template. Replace the entire Grid template with the code below. It is thoroughly commented, али не оклевајте да ми е-маил или оставите коментар на мом блогу, ако имате питања.

  <клс:шаблон име="Решетка" меч="Ред[@ Стил = 'Мрежа']" начин="итемстиле">

    <!--
      ЦонтентМаин.ксл пролази и ЦурПос Последња.
      Користимо ово да емитују условно отворена и затварање <табела> ознаке.
    -->
    <клс:парам име="ЦурПос" />
    <клс:парам име="Последњи" />

    <!-- Следеће променљиве су немодификоване из стандардног ИтемСтиле.ксл -->
    <клс:варијабла име="СафеИмагеУрл">
      <клс:позива шаблон име="ОутерТемплате.ГетСафеСтатицУрл">
        <клс:са парам- име="УрлЦолумнНаме" изабрати=""УРЛ слике '"/>
      </клс:позива шаблон>
    </клс:варијабла>
    <клс:варијабла име="СафеЛинкУрл">
      <клс:позива шаблон име="ОутерТемплате.ГетСафеЛинк">
        <клс:са парам- име="УрлЦолумнНаме" изабрати="'ЛинкУрл'"/>
      </клс:позива шаблон>
    </клс:варијабла>
    <клс:варијабла име="ДисплаиТитле">
      <клс:позива шаблон име="ОутерТемплате.ГетТитле">
        <клс:са парам- име="Наслов" изабрати="@ Титле"/>
        <клс:са парам- име="УрлЦолумнНаме" изабрати="'ЛинкУрл'"/>
      </клс:позива шаблон>
    </клс:варијабла>
    <клс:варијабла име="ЛинкТаргет">
      <клс:ако тест="@ ОпенИнНевВиндов = 'труе'" >_бланк</клс:ако>
    </клс:варијабла>

    <!--
      Сада ћемо дефинисати променљива, "tableStart".  Овај садржи ХТМЛ
      .  Имајте на уму да ако ЦурПос = 1, обухвата ХТМЛ у ЦДАТА таг.
      Иначе, то ће бити празан.

      Вредност таблеСтарт се емитед сваки пут ИтемСтиле се зове преко
      .
    -->
    <клс:варијабла име="таблеСтарт">
      <клс:ако тест="$ЦурПос = 1">
        <![ЦДАТА[
        <Табела бордер = 1>
          <tr bgcolor="blue">
            <тд><font color="white"><Б>Назив пројекта</Б></фонт></тд>
            <td align="right"><font color="white"><Б>Комплетан датум</Б></фонт></тд>
            <td align="right"><font color="white"><Б>Буџет</Б></фонт></тд>
            <td align="right"><font color="white"><Б>Стварни трошак</Б></фонт></тд>
            <тд><font color="white"><Б>Генерално статус</Б></фонт></тд>
          </тр>
        ]]>
      </клс:ако>
    </клс:варијабла>

    <!--
      Још једна променљива, таблеЕнд једноставно дефинише затварања табеле ознаку.

      Као и код таблеСтарт, Увек је емитед.  То је разлог зашто је његова вредност
      .
    -->
    <клс:варијабла име="таблеЕнд">
      <клс:ако тест="$ЦурПос = $ Последња">
        <![ЦДАТА[ </табела> ]]>
      </клс:ако>
    </клс:варијабла>

    <!--
      Увек емитују садржаје таблеСтарт.  Ако ово није први
      , онда знамо његову вредност
      .

      Онемогући да излази излаз, јер када таблеСтарт није празно, она
      .  Ако
      , it will generate
      stuff like "&То;табела&гт;" instead of "<табела>".
    -->
    <клс:вредности од изабрати="$таблеСтарт" дисабле-излаз-беже="да"/>


    <тр>
      <!--
      П:Пројецт_к005Ф_к0020_Наме
      :Пројецт_к005Ф_к0020_Енд_к005Ф_к0020_Дате
      :Пројецт_к005Ф_к0020_Будгет
      :Пројецт_к005Ф_к0020_Екпенсес
      :Пројецт_к005Ф_к0020_Статус
      -->
      <тд>
        <клс:вредности од изабрати="@ Пројецт_к005Ф_к0020_Наме"/>
      </тд>

      <тд алигн="право">
        <клс:вредности од изабрати="@ Пројецт_к005Ф_к0020_Енд_к005Ф_к0020_Дате"/>
      </тд>

      <тд алигн="право">
        <клс:позива шаблон име="ФорматЦурренци">
          <клс:са парам- име="вредност" 
изабрати="@ Пројецт_к005Ф_к0020_Будгет"></клс:са парам-> </клс:позива шаблон> </тд> <тд алигн="право"> <клс:позива шаблон име="ФорматЦурренци"> <клс:са парам- име="вредност" изабрати="@ Пројецт_к005Ф_к0020_Екпенсес">
</клс:са парам-> </клс:позива шаблон> </тд> <тд> <клс:вредности од изабрати="@ Пројецт_к005Ф_к0020_Статус"/> </тд> <!-- Све од наведеног коментаром да разјасни ствари. Међутим, вратите га и угура га у <тд> да бисте видели њену         . --> <!-- <div id="linkitem" class="item"> <клс:if test="string-length($СафеИмагеУрл) != 0"> <div class="image-area-left"> <a href="{$СафеЛинкУрл}" target="{$ЛинкТаргет}"> <img class="image-fixed-width" src="{$СафеИмагеУрл}"
alt="{@ ИмагеУрлАлтТект}"/> </a> </див> </клс:ако> <div class="link-item"> <клс:позива шаблон
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href="{$СафеЛинкУрл}"
target="{$ЛинкТаргет}" title="{@ ЛинкТоолТип}"> <клс:value-of select="$DisplayTitle"/> </a> <div class="description"> <клс:value-of select="@Description" /> </див> </див> </див>
--> </тр> <!-- Емит ознаку затварања табеле. Ако нисмо у последњем реду, ово це бити празно. --> <клс:вредности од изабрати="$таблеЕнд" дисабле-излаз-беже="да"/> </клс:шаблон> <клс:шаблон име="ФорматЦурренци"> <клс:парам име="вредност" изабрати="0" /> <клс:вредности од изабрати='формат-број($вредност, "$DDD,ДДД,DDD.DD", "staff")' /> </клс:шаблон>

Стандард ВСС / Мос унос података екрани не подржава каскадно падајуће (или други од комуникације унутар)

УПДАТЕ (04/2008): Овај велики блога показује добру Јава Сцрипт приступ овом проблему: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

Ажурирање ИИ: (04/2008): Овај блог унос изгледају обећавајуће и: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Неколико пута недељно, ако не свакодневно, forum users describe a requirement that would normally be met via cascading drop-downs. На пример, Имам две падајуће контроле:

  • Списак У.С. државе
  • Списак У.С. cities.

As responsible UI providers, we want it to operate like this:

  • Paul selects a U.S. state from the drop-down.
  • This causes the cities drop-down to filter only those cities that belong to the selected state.
  • Paul selects a city from this filtered list.

There is no out-of-the-box support for this feature. Заправо, there is no OOB support for any kind of direct intra-form communication. This includes programmatically hiding/enabling/disabling fields in response to field changes elsewhere on the form.

Стварни циљ овог чланка да опише на могућа решења и то су опције као што их знам:

  1. Develop a custom column type. As a custom-column-developer, you have full control over the "world" of that custom column. You can implement a cascading drop-down that way.
  2. Consider using workflow. In some cases, you want to automatically assign a value to field based on another field’s value. У овом случају, што то обично покушати да користе израчунате колоне, али неки пута, it just won’t get the job done. SharePoint Designer workflow is a relatively administer-friendly alternative to dropping down into code and visual studio. If you go this route, be aware of the issue addressed by овај чланак (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Event handlers: Like workflow, this is an after-the-fact solution. Your event handler is a .NET assembly (C#, VB.NET) to which SharePoint passes control. The object you develop has access to the data of the list (and the whole object model) and can do any needed calculation.
  4. Use SharePoint Designer to create custom entry forms. I don’t have direct experience with this approach, али чујем да ових дана чине добре ствари са НевФорм.аспк 🙂
  5. Roll your own ASP.NET data entry function (as a stand-alone web page or as a web part) and use that instead.

If anyone knows other and/or better options, please post a comment and I’ll update the body of this post.

<крај />

Yes/No (потврду) филтрирање садржаја на Веб сегмента за упит

To filter for a query for the Yes/No check box entitled "PG Milestone", конфигурише ЦКВП овако:

слика

Ово је још једна од оних очигледан-када-си-знате-то, али тешко наћи-на-одговор-питања: Како за филтрирање на ДА / НЕ потврду помоћу Веб сегмента упита садржаја.

Први Резултат претраге I find using the search term "filter yes/no content query web part" стан је погрешна, па сам помислио бих ставио ово горе и види да ли може да замени неисправну резултат у типичним резултатима претраге.

То је прилично лако: True values = "1" and false values do not equal "1" (прилично ретро, заправо).

У горњем примеру, I created site column of type "Yes/No (поље за потврду)" named "PG Milestone". I added it to a doc library, отпремио неколико докумената, поставите вредност за пару и тестирали га.

<крај />