Měsíční archivy: Prosinec 2007

Můj syn pirát Gamespot

Tak, dnes ráno, můj syn je odhodlán vidět věku třinácti neomezovala Halo 3 video na Gamespot. Já jsem mimo odhazování sněhu, Tak já nejsem tam pomáhat nebo bránit. Nutnost je matka vynálezu a všechno … On má eureka! chvíle. On si uvědomuje, že i když Gamespot chce, aby jeho vstoupit reálné Datum narození, ve skutečnosti může vstoupit jakýkoli Datum narození, co chce. Jakmile si uvědomil, že, donutil dost starý na to, vidět video.

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

Neděle legrační: “Je to tisk odpadky”

Na mé první zaměstnání ze školy v 1991, Měl jsem štěstí pracovat pro výrobní společnosti s 13 umístění, bez jeho firemní HQ v New Jersey. Jsem se připojil, když společnost byla kymácení mimo nový ERP systém. Byli jsme malé oddělení IT dohromady asi deset lidí, dva z nich nejel. Součástí projektu zahrnovala nahrazení IBM System 36 krabice s hardwarem HP a HPUX. Všichni používají zelené trubky pro přístup k systému.

Projekt přejíždí podél a já jsem poslal dolů do Baltimoru s nový spolupracovník, Jeff. Naším úkolem byla k moci se Unixem, Ujistěte se, že běží o/s, Nainstalujte systém ERP, Konfigurace ERP, školit lidi na ERP a vlastní práci pro lidi na místě. (To byl sen, zejména přichází hned po vysoké). Předtím, než jsme mohli skutečně dostat ze země, Potřebovali jsme Rozbalit všechny zelené trubky, Polož je na stůl a je. A nejlepší bylo, že jsme museli dát RJ11 konektory na sebe.

Z nějakého důvodu, že jsem nikdy nepochopil a vlastně nikdy nenapadlo se ptát v době, Měli jsme nějaké stavební firmu, pojď a veďte kabel v celé rostliny, ale neměli jsme je na konektory. Tak, tam byl "patch box" s desítkami bez označení kabelů v počítačové místnosti"" a tyto proplížily kolem budovy na různých místech v budově.

Pracovali jsme naši cestu v průběhu víkendu, testování každý drát, na spojnici (Ujistěte se, že byl rovný vs. překřížené), zajištění nastavení bitů na zelené trubky a tiskárny byly správné, značení vodičů, Ujistěte se, že "getty" byl spuštěn správně pro každý port a asi tisíc jiných věcí, že jsem potlačil jsem od té doby. To všechno docela hezky sešlo.

Ale, tam byl jeden důležitý kabel, který jsme nemohli přijít na to. Závod v Baltimoru měl vztah s uskladnění umístěním v New Jersey. Některé příkazy v Baltimore přepravených z tohoto umístění. Tam byly dva dráty, které jsme museli připojit k poli HPUX: zelený trubice a tiskárna. Zelené trubice bylo snadné, ale tiskárna proměnil v noční můru tři týdenní.

Pokud to nevíte, nebo už je potlačena, jednání s zelené trubky a tiskárny tímto způsobem, Existují různé možnosti, které budete řešit nastavením čepy. 8-bit, 7-bit, Parita (i/lichá/nic), pravděpodobně další. Pokud se vám jeden z těchto nastavení špatně, trubice nebo tiskárny stále ukazuje věci, ale to bude celkem blábol, nebo to bude blábol s hodně rozpoznatelné věcí mezi. Samozřejmě, Tyto kolíky jsou těžké vidět a musí být nastavena pomocí malého plochou hranou šroubováku. A už nikdy se standardní.

Vytvořili jsme první z mnoha rychlých volání s NJ guy (prošedivělých počítačových nenávistník, který pravděpodobně kletby nás dodnes). Dostali jsme zelený trubice pracuje velmi rychle, ale nemohli jsme se dostat tiskárny do práce. To pořád "tisk nesmysly". Vytvoříme nový konektor RJ11, přepínání mezi palce a rovně. Port by odstranit a znovu vytvořit v Unixu. Prošli jsme náročný úkol, že ho nám vysvětlit pinové konfigurace tiskárny, Nikdy nevím, jestli to dělá správně.

Už je načase jít žít, vše v Baltimore je hučení, ale nemůžeme si prokletý tiskárny v NJ do práce! Jsme vyčerpali všechny možnosti kromě jízdy zpět do NJ do práce v tiskárně osobně. Aby se předešlo to jízdy, jsme konečně, požádejte ho, aby nám faxem, co dělá, když je to "smetí", Doufal, že možná bude nějaké vodítko v té popelnici, která nám řekne, co děláme špatně.

Když jsme dostali fax, ihned jsme věděli, co se stalo. Viz, Naše Metoda testování, zda jsme měli správně nakonfigurován tiskárny bylo vydat "lp" příkaz, jako je tento:

LP/etc/passwd

V podstatě, jsme vytisknout soubor s hesly systému unix. To je vždy přítomen a z krabice, vždy jen jedna stránka. Ty standardní Unix heslo souboru vypadá takto:

Smith:*:100:100:8A-74(kancelář):/domů/smith:/usr/bin/sh Hodnocení:*:200:0::/domů/Hodnocení:/usr/bin/sh  

Jsme už byli vytištění souboru s hesly znovu a znovu za několik týdnů a to byl tisk správně. Avšak, koncovému uživateli, byl to "tisk nesmysly".

</Konec>

Ještě další síťová pověření multi-úkol problém a řešení

Můj klient nedávno nainstalovali magické zařízení od Jalovec to zřejmě vyměnit své staré vyrovnávání zatížení sítě Cisco (ROZLOŽENÍ ZÁTĚŽE SÍTĚ). U o stejném čase, jsme nainstalovali opravy hotfix řeší problém pracovního postupu.

Den nebo dva později, Všimli jsme si problém, když jsme přístup k zprostředkovatele sdílených služeb (SSP). Mohli bychom k němu, Ale jsme by vyzval k zadání ID uživatele a hesla mnohokrát na každé stránce. To se nestalo s hlavní portál app, ani centrální správy. Přirozeně, Nevěděli jsme, který z obou (Jalovec nebo opravy hotfix) tématem bude, i když mám silné podezření, opravy hotfix, přemýšlením, jsme neměl nainstalovaný pravdu.

To se ukázalo, že jalovec měl nějaký druh nastavení komprese. Jedním z rouchem postavy nad v síti skupiny se že započtení. Náš problém vyřešil.

To není poprvé, kdy komprese byla příčina problému SharePoint pro mě. IIS kompresi nepříznivě ovlivněna 3rd strany nástroj od dobrých lidí, v The Dot čisté továrně pro IE 6 prohlížeče (IE 7 prohlížeče fungovalo bez potíží).

Tak, Přidat "komprese" do seznamu rizik.

</Konec>

Úvěr na: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

Přemýšlíte o změně blogovací platformy

Začal jsem mého blogování kariéra"" Platforma společnosti Microsoft, a to byla na mě hodná. Je to snadné zaúčtovat, Existují dobré možnosti a widgety pro správu vašeho "prostor", slušné webové úložiště a tak dále.

Avšak, Jsem opravdu jen spadl do MS řešení s téměř žádné plánování. Že sám vyzývá k mě hodnotit, kde jsem a kam jdu, Pokud jde o blogování platforma. Existují také dvě významná omezení, které mi nevadí pravdu teď vis-à-vis Windows Live Spaces.

První, Nemohu získat velmi dobré statistiky. Existují statistiky, ale detail je často zkrácen a nejsou prezentovány způsobem, který umožňuje pro jakýkoli druh analýzy. Tam žádné třídění nebo exportní schopnosti. Mám mnoho blog nápady na druh informací, které lidé (nebo zejména nepodaří najít) Když budou hledat můj blog. Je to velmi těžké používat život mezery za to.

Druhé, tam se nezdá být mechanismus "zpeněžit" windows live space blog. Vlastně, aby se zbavili MS reklamy (ze které jsem mít žádný užitek), Musím opravdu platit Microsoft. (Nejméně, To je, jak jsem to pochopil; Jsem byl schopen získat definitivní odpovědi na to a otázky, jako je).

Teď, když mám fungující a soubor blogování návyky, Chci hodnotit další možnosti. Udělal jsem nějaké výzkum a existuje mnoho možností, ale jsem zvědavý, co ostatní lidé, zejména ostatní v komunitě SharePoint (jako blogů nebo čtenářů), Chcete použít.

Pokud vás toto téma zajímá a máte názor nebo jsou ochotni se podělit o své zkušenosti, Prosím zanechat komentář, nebo napište mi přímo.

Dík!

<Konec />

Doplněk Technorati značky:

Odešle e-mailovou aplikaci SharePoint Designer ???? v e-mailu

Fórum uživatelé občas ptát: Proč dává aplikaci SharePoint Designer ???? do mého e-mailu namísto hodnoty pole?

Jedním z důvodů, že se že to děje je proměnné, na které odkazujete je null.

K tomu může dojít, protože se pokoušíte odkazovat na pole ze "aktuální položky" ale uživatel nikdy zadali hodnotu do pole formuláře.

<Konec />

Doplněk Technorati značky:

Porovnat / Test na prázdná data v aplikaci SharePoint Designer Workflow

Scénář: V pracovním postupu SharePoint Designer, potřebujete zjistit, zda je datové pole prázdné.

Problém: SPD neposkytuje přímou metodu pro porovnávání datum než datum. Nelze vytvořit podmínku, jako je tento: "If [DateField] rovná se prázdné".

Řešení: Převést data na řetězec. Použít porovnání řetězců k určení, zda je datum prázdné.

Kopie obrazovky:

Následující snímky obrazovky ukazují, jak to udělat. V tomto scénáři, pole na položku, "Environmentální povolení:Datum prvního povolení připomenutí", podává a pracovního požáry v reakci.

obrázek

obrázek

Poznámky:

Když jsem to zkoušel, Byl jsem příjemně překvapen, se dozvěděl, že to funguje. Bál jsem se, že aplikace SharePoint Designer může zakázat přiřazení řetězec (Proměnná:StringReminderDateDate) Ale to přinášela.

Byl jsem také týká, že povolení, Hodnota může být null a buď povětří WF za běhu nebo možná zvýšení globální teploty 1/2 stupně, Tyto obavy neopodstatněné, ale.

</Konec>

Doplněk Technorati značky:

Bar je stále dost vysoká, aby rozšířit MOSS

Dnes, Byl jsem pracovat s klientem a popisující, jak upravit webovou část dotaz na obsah a zobrazit další bitů informací z typu obsahu.

"První., nakonfigurujete CQWP připojit se k jeho zdrojům dat., pak jej exportujete do vaší pracovní stanice, změnit <CommonViewFields>, nahrát, Odstraňte původní a nyní je "základním nátěrem’ Chcete-li zobrazit jiné sloupce. Další, otevřít aplikaci SharePoint designer, Přejděte do kořenové kolekce webů a vyhledejte ItemStyle.xsl. Zkopírovat jednu z šablon jako užitečný výchozí bod. Vraťte se zpět a změnit CQWP k využívání této nové šablony. Konečně, Změna šablony pro vykreslení nová pole! (Nezapomeňte zkontrolovat, že jej zpět, aby si ostatní uživatelé mohou vidět výsledky)."

To je mi vše jasné (a většina z nás SharePoint developer typy) Co se děje a jak je to docela fajn, Vážně, aspekty načítání dat CQWP jsou tak dobře odděleně od aspektů prezentace dat. Ale, to není tak snadné vysvětlit, je to?

<Konec />

Doplněk Technorati značky: ,

Zobrazit obsah webové části výsledky v mřížce / Tabulka

Přehled a cíle

Out of the box, MECH’ Webová část obsah dotazu (CQWP) jeho výsledky se zobrazí ve formátu seznamu, podobné výsledky hledání. Je také možné zobrazit výsledky ve formátu mřížky (tj. Formát tabulky HTML). Formáty tabulky jsou lepší, v některých případech. Popisují, jak dosáhnout tohoto efektu v tomto článku.

Obchodní scénář

Pracoval jsem s klientem na rollout MOSS rozlehlých. Navrhli jsme jejich taxonomie, tak, že projekty jsou první třídy občanů v hierarchii a mají své vlastní stránky nejvyšší úrovně. Vedoucí projektu udržovat seznam ojedinělého projektu souhrnné informace, například titul, rozpočet, předpokládaný termín dokončení, Zbývající rozpočet a další pole typ souhrnu. Podle "singleton" Mám na mysli vlastní seznam služby SharePoint zaručeno, že obsahují pouze jednu položku. Zjednodušujícím způsobem, Vypadá to jako to:

obrázek

Technický přístup je stejný jak je uvedeno Tady (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP používá transformaci XSL generuje HTML v prohlížeči vykreslit.

Vždy jsem si představit výsledek před ponořením se do XSL, protože XSL je noční můra. Tady je můj požadovaného výsledku:

obrázek

Generuje HTML jako výsledku:

<HTML>
 <tělo>
 <centrum>
 <Tabulka hranice= 1>

<!-- Popisky –>
 <TR Barva pozadí= modrá>
 <TD><písmo Barva= bílá><b>Název projektu</b></písmo></TD>
 <TD zarovnání= doprava><písmo Barva= bílá><b>Datum dokončení</b></písmo></TD>
 <TD zarovnání= doprava><písmo Barva= bílá><b>Rozpočet</b></písmo></TD>
 <TD zarovnání= doprava><písmo Barva= bílá><b>Skutečné výdaje</b></písmo></TD>
 <TD><písmo Barva= bílá><b>Celkový stav</b></písmo></TD>
 </TR>

<TR>
 <TD>Re-drát počítačové místnosti.</TD>
 <TD zarovnání= doprava>02/01/08</TD>
 <TD zarovnání= doprava>22,500.00</TD>
 <TD zarovnání= doprava>19,000.00</TD>
 <TD>V průběhu</TD>
 </TR>

<TR>
 <TD>Poskytování serverů pro SQL Upgrade</TD>
 <TD zarovnání= doprava>04/01/08</TD>
 <TD zarovnání= doprava>7,500.00</TD>
 <TD zarovnání= doprava>0.00</TD>
 <TD>Plánováno</TD>
 </TR>

</Tabulka>
 </centrum>
 </tělo>
</HTML>

Přístup

Postupujte podle těchto kroků k vytvoření mřížky:

  1. Určit součásti mřížky (řádky nebo sloupce).
  2. Definovat a vytvořit nezbytné místo sloupce.
  3. Vytvořit dílčí weby pro projekty a ojedinělým seznamů.
  4. Přidejte CQWP do webové stránky a nakonfigurujete ho k prohledávání pro seznamy.
  5. Upravit XML CQWP sbírat další sloupce.
  6. Úprava XSL aby vytvářela.

Budu se soustředit na číslo šest. Čísla jedna až čtyři jsou přímočará a něco, co už udělal každý uživatel CQWP. Číslo pět je Well-documented jiní včetně tento vyčerpávající screen-shot naloženého článek z webu MSDN Tady (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) a Heather Solomon's blog Tady (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Šrouby a matice

Zahájit a provádět kroky jedna až pět dle MSDN dokumentaci a Heather Solomon článek.

V tomto okamžiku, vaše CQWP jste přidali na stránku a máte své <CommonViewFields> v případě potřeby nakonfigurovat.

Po obvyklé kroky, Tyto průběžné výsledky:

1. Vytvořit typ obsahu, šablonou vlastního seznamu pro tento typ obsahu a dva weby. Zde je typ obsahu:

obrázek

Tady je struktura webu:

obrázek

2. Přidat CQWP po vytvoření mého projektu podřízené weby a ojedinělého projektu Souhrnné seznamy:

obrázek

3. Přidat všechny další informace, chci prostřednictvím <CommonViewFields>:

        <Vlastnost Jméno="CommonViewFields" Typ="řetězec">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</Vlastnost>

Všimněte si, že jsem musel držet všechna pole vlastností na jednom řádku, nebo to nebude fungovat (CQWP by mi, že dotaz nevrátil žádné položky).

4. V tomto okamžiku, jsme připraveni posunout se dále v článku MSDN a převrátit Heather Solomon článku. Její postup začíná u kroku #5 Chcete-li vytvořit vlastní / unghosted verze ItemStyle.xsl. Sleduji Heather poradenství, až po krocích 11 a získat tyto výsledky zprostředkujících:

4.1: Jméno mé šablony XSL následovně:

<XSL:Název šablony = "Grid" zápas = "řádek[@Style = 'Grid']" Mode = "itemstyle">

Jsem jí navrhl také mírně upravit <XSL:pro každý …> přidáním <BR /> značky, které poskytují čistší výpis:

    <XSL:pro každý vybrat="@*">
      P:<XSL:hodnota z vybrat="Jméno()" /><BR/>
    </XSL:pro každý>

4.2: Upravit webovou část, Přejděte na vzhledu a vyberte mřížku"" styl:

obrázek

Změnu a zde je výsledek:

obrázek

Můžeme vidět z výše uvedeného, že pole chceme (Název projektu, výdaj, stav, atd) jsou k dispozici pro nás při jsme generuje HTML. Nejen, že, Ale vidíme, že jména, kterými jsme musí odkazovat na sloupce v XSL. Například, jsme odkaz stav projektu jako "Project_x005F_x0020_Name".

V tomto okamžiku, jsme odchylují od Heather blog a ramena těchto obrů, Přidat vlastní kulička.

ContentQueryMain.xsl

POZNÁMKA:: Při provádění změn jak ContentQueryMain.xsl tak i ItemStyle.xsl, je třeba zkontrolovat, že tyto soubory zpět dříve, než uvidíte vaše změny.

Pro účely mřížky výroba, MOSS používá dva různé soubory XSL produkovat výsledky, které vidíme z CQWP. Chcete-li generovat předchozí bit výstup, Upravili jsme ItemStyle.xsl. MOSS skutečně používá jiný soubor XSL, ContentQueryMain.xsl se ve spojení s ItemStyle.xsl generování jeho HTML. Jak jeho název napovídá, ContentQueryMain.xsl je hlavní"" Šablona stylů XSL, která řídí celkový tok překladu. Iteruje přes všechny nalezené položky a předává je jeden po druhém do šablony v ItemStyle.xsl. Upravíme ItemStyle.xsl generovat open <Tabulka> značka před vysílání první řádek dat a uzavření <Tabulka> značka po výstupu v posledním řádku. K dosažení tohoto, ContentQueryMain.xsl je upraven tak, aby dva parametry předat naši "mřížky" Šablona v ItemStyle.xsl, "poslední řádek" a "aktuální řádek". ItemStyle.xsl využívá je k podmíněně vydávat potřebné.

Heather Solomon technikou, Musíme najít ContentQueryMain.xsl. Nachází se na stejném místě jako ItemStyle.xsl. Tento snímek obrazovky by měla pomoci:

obrázek

Musíme provést následující změny:

  • Upravit šablonu ve formátu xsl, "CallItemTemplate" ve skutečnosti to vyvolá naši mřížky šablony v ItemStyle.xsl. Mineme dva parametry šablony tabulky tak, že bude mít data, je třeba podmínečně generovat otevírání a zavírání <Tabulka> značky.
  • Upravit další kousek z ContentQueryMain.xsl, která volá "CallItemTemplate" předat FIRSTROW"" parametr tak že FIRSTROW může být přeneseno na naši mřížky šablony.

Vyhledejte šablonu s názvem "OuterTemplate.CallItemTemplate" identifikované řetězce:

  <XSL:Šablona Jméno="OuterTemplate.CallItemTemplate">

Nahradit celou šablonu následovně:

  <XSL:Šablona Jméno="OuterTemplate.CallItemTemplate">
    <XSL:parametr Jméno="CurPosition" />

    <!--
      Přidejte FIRSTROW"" parametr.
      Ji používáme pouze při průchodu styl položky v "Mřížka".
    -->
    <XSL:parametr Jméno="FIRSTROW" />

    <XSL:zvolit>
      <XSL:Kdy Testovat="@Style = 'NewsRollUpItem'">
        <XSL:použít šablony vybrat="." mód="ItemStyle">
          <XSL:s parametr Jméno="EditMode" vybrat="$cbq_iseditmode" />
        </XSL:použít šablony>
      </XSL:Kdy>
      <XSL:Kdy Testovat="@Style = 'NewsBigItem'">
        <XSL:použít šablony vybrat="." mód="ItemStyle">
          <XSL:s parametr Jméno="CurPos" vybrat="$CurPosition" />
        </XSL:použít šablony>
      </XSL:Kdy>
      <XSL:Kdy Testovat="@Style = 'NewsCategoryItem'">
        <XSL:použít šablony vybrat="." mód="ItemStyle">
          <XSL:s parametr Jméno="CurPos" vybrat="$CurPosition" />
        </XSL:použít šablony>
      </XSL:Kdy>

      <!--
              Aktuální pozici a lastrow předat itemstyle.xsl šablony tabulky.
              ItemStyle.xsl, použije k emitování otevřít a zavřít <Tabulka> značky.
      -->
      <XSL:Kdy Testovat="@Style = 'Grid'">
        <XSL:použít šablony vybrat="." mód="ItemStyle">
          <XSL:s parametr Jméno="CurPos" vybrat="$CurPosition" />
          <XSL:s parametr Jméno="Poslední" vybrat="$FIRSTROW" />
        </XSL:použít šablony>
      </XSL:Kdy>

      <XSL:jinak>
        <XSL:použít šablony vybrat="." mód="ItemStyle">
        </XSL:použít šablony>
      </XSL:jinak>
    </XSL:zvolit>
  </XSL:Šablona>

Komentáře popisují účel, změn.

Samozřejmě, "OuterTemplate.CallItemTemplate" se sám nazývá z jiné šablony. Vyhledejte tuto šablonu hledání pro tento textový řetězec:

<XSL:Šablona Jméno="OuterTemplate.Body">

Procházejte instrukce v OuterTemplate.Body a vložení parametru LastRow následovně (jako komentář v kurzívě):

<XSL:volání šablona Jméno="OuterTemplate.CallItemTemplate">
  <XSL:s parametr Jméno="CurPosition" vybrat="$CurPosition" />
  <!-- Vložení parametru LastRow. -->
  <XSL:s parametr Jméno="FIRSTROW" vybrat="$FIRSTROW"/>
</XSL:volání šablona>

Po tom všem, to, Konečně máme věci správně nastaveno tak, aby naše ItemStyle.xsl může <Tabulka> značky na správném místě.

ItemStyle.Xsl

POZNÁMKA:: Znovu, po provedení změn tak, že vidíte vliv těchto změn se změnami ItemStyle.xsl.

Tady máme dva úkoly:

  • Nahradit celý mřížky šablony. Můžete kopírovat/vložit zespodu.
  • Přidat nějaké mumlání mimo definici šablony, která umožňuje "formatcurrency" Šablona pro práci. (Můžete říct, že mám slabý úchyt na XSL).

První, v horní části ItemStyle.xsl, Přidejte tento řádek:

  <!-- Někteří hatmatilky, který jí umožní zobrazit USA. Měna. -->
  <XSL:desetinný formát Jméno="zaměstnanci" číslice="D" />

  <XSL:Šablona Jméno="Výchozí" shoda="*" mód="ItemStyle">

Poznámka, že jsem přidal to přímo před <XSL:Název šablony = "výchozí" …> definice.

Další, Vraťte se do naší tabulky Šablona. Celý mřížky šablony nahraďte následující kód. Důkladně je Komentováno, Neváhejte a napište mi, nebo zanechat komentář na mém blogu, pokud máte otázky, ale.

  <XSL:Šablona Jméno="Mřížka" shoda="Řádek[@Style = 'Grid']" mód="ItemStyle">

    <!--
      ContentMain.xsl prochází CurPos a poslední.
      Jsme využívali podmíněně vypouštět otevřít a zavřít <Tabulka> značky.
    -->
    <XSL:parametr Jméno="CurPos" />
    <XSL:parametr Jméno="Poslední" />

    <!-- Následující proměnné nezměněné od standardních ItemStyle.xsl -->
    <XSL:Proměnná Jméno="SafeImageUrl">
      <XSL:volání šablona Jméno="OuterTemplate.GetSafeStaticUrl">
        <XSL:s parametr Jméno="UrlColumnName" vybrat=""ImageUrl""/>
      </XSL:volání šablona>
    </XSL:Proměnná>
    <XSL:Proměnná Jméno="SafeLinkUrl">
      <XSL:volání šablona Jméno="OuterTemplate.GetSafeLink">
        <XSL:s parametr Jméno="UrlColumnName" vybrat=""LinkUrl""/>
      </XSL:volání šablona>
    </XSL:Proměnná>
    <XSL:Proměnná Jméno="DisplayTitle">
      <XSL:volání šablona Jméno="OuterTemplate.GetTitle">
        <XSL:s parametr Jméno="Titul" vybrat="@Title"/>
        <XSL:s parametr Jméno="UrlColumnName" vybrat=""LinkUrl""/>
      </XSL:volání šablona>
    </XSL:Proměnná>
    <XSL:Proměnná Jméno="LinkTarget">
      <XSL:Pokud Testovat="@OpenInNewWindow = 'True'" >_blank</XSL:Pokud>
    </XSL:Proměnná>

    <!--
      Tady jsme definovat proměnnou, "tableStart".  Tento článek obsahuje kód HTML, který používáme k definování otevření tabulky, stejně jako popisky sloupců.  Všimněte si, že pokud CurPos = 1, To zahrnuje HTML v tagu CDATA.
      Jinak, to bude prázdná.

      Hodnota tableStart je vyzáří, pokaždé, když ItemStyle se nazývá přes ContentQueryMain.xsl.
    -->
    <XSL:Proměnná Jméno="tableStart">
      <XSL:Pokud Testovat="$CurPos = 1">
        <![CDATA[
        <ohraničení tabulky = 1>
          <TR bgcolor = "blue">
            <TD><Barva písma = "bílý"><b>Název projektu</b></písmo></TD>
            <TD align = "vpravo"><Barva písma = "bílý"><b>Datum dokončení</b></písmo></TD>
            <TD align = "vpravo"><Barva písma = "bílý"><b>Rozpočet</b></písmo></TD>
            <TD align = "vpravo"><Barva písma = "bílý"><b>Skutečné výdaje</b></písmo></TD>
            <TD><Barva písma = "bílý"><b>Celkový stav</b></písmo></TD>
          </TR>
        ]]>
      </XSL:Pokud>
    </XSL:Proměnná>

    <!--
      Jiné proměnné, tableEnd jednoduše definuje uzavírací tag tabulky.

      Stejne jako tableStart, je to vždycky vyzáří.  Právě proto, že jeho hodnota je přiřazena podmíněně založený na zda jsme už byl přijat na poslední řádek ContentQueryMain.xsl.
    -->
    <XSL:Proměnná Jméno="tableEnd">
      <XSL:Pokud Testovat="$CurPos = $Last">
        <![CDATA[ </Tabulka> ]]>
      </XSL:Pokud>
    </XSL:Proměnná>

    <!--
      Vždy posílat obsah tableStart.  Pokud to není první řádek předány nám ContentQueryMain.xsl, pak víme, že její hodnota bude prázdná.

      Zakázat výstup úniku, protože když tableStart to není prázdné, To zahrnuje skutečné HTML, který chceme být vykreslen v prohlížeči.  Pokud neříkáme analyzátor XSL zakázat výstup úniku, to bude vytvářet věci jako"&lt;Tabulka&gt;" místo toho"<Tabulka>".
    -->
    <XSL:hodnota z vybrat="$tableStart" zakázat výstup útěk="Ano"/>


    <TR>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <TD>
        <XSL:hodnota z vybrat="@Project_x005F_x0020_Name"/>
      </TD>

      <TD zarovnání="doprava">
        <XSL:hodnota z vybrat="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </TD>

      <TD zarovnání="doprava">
        <XSL:volání šablona Jméno="FormatCurrency">
          <XSL:s parametr Jméno="hodnota" 
vybrat="@Project_x005F_x0020_Budget"></XSL:s parametr> </XSL:volání šablona> </TD> <TD zarovnání="doprava"> <XSL:volání šablona Jméno="FormatCurrency"> <XSL:s parametr Jméno="hodnota" vybrat="@Project_x005F_x0020_Expenses">
</XSL:s parametr> </XSL:volání šablona> </TD> <TD> <XSL:hodnota z vybrat="@Project_x005F_x0020_Status"/> </TD> <!-- Všechny tyto je zakomentován k objasnění věci. Avšak, přivést ji zpět a tak to do <TD> Chcete-li vidět účinek. --> <!-- <div id = "linkitem" třída = "položka"> <XSL:Pokud zkušební = "řetězec délky($SafeImageUrl) != 0"> <div třída = "image oblast vlevo"> <href = "{$SafeLinkUrl}" cíl = "{$LinkTarget}"> <img třída = "image pevné šířky" src = "{$SafeImageUrl}"
ALT = "{@ImageUrlAltText}"/> </a> </div> </XSL:Pokud> <div třída = "link položka"> <XSL:volání šablona
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <href = "{$SafeLinkUrl}"
cíl = "{$LinkTarget}" title = "{@LinkToolTip}"> <XSL:hodnota-vyberte = "$DisplayTitle" /> </a> <div třída = "popis"> <XSL:hodnota z select="@Description" /> </div> </div> </div>
--> </TR> <!-- Vypouštějí uzavírací tag tabulky. Pokud nejsme v poslední řadě, to bude prázdná. --> <XSL:hodnota z vybrat="$tableEnd" zakázat výstup útěk="Ano"/> </XSL:Šablona> <XSL:Šablona Jméno="FormatCurrency"> <XSL:parametr Jméno="hodnota" vybrat="0" /> <XSL:hodnota z vybrat='formát čísla($hodnota, "$DDD,DDD,DDD. DD", "zaměstnanci")' /> </XSL:Šablona>

Standardní WSS/MOSS oken pro zadávání dat nepodporují kaskádové rozevírací seznamy (nebo jiné intra-od komunikace)

AKTUALIZOVAT (04/2008): Toto skvělé blogu ukazuje dobrý javascript založený přístup k tomuto problému: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

AKTUALIZACE II: (04/2008): Tento blog vstup vypadá slibně, stejně: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Několikrát za týden, ne-li denně, fórum uživatelů popisují požadavek, který by normálně se setkal prostřednictvím CSS rozevírací seznamy. Například, Mám dva rozevírací ovládací prvky:

  • Seznam USA. státy
  • Seznam USA. města.

Jako zodpovědný UI poskytovatelé, Chceme, aby pracoval jako:

  • Paul vybere USA. stát z drop-down.
  • To způsobí, že města drop dolů k filtrování pouze těch měst, které patří do vybraného stavu.
  • Paul vybere město z tohoto filtrovaného seznamu.

Out-of-the-box nepodporuje tuto funkci. Vlastně, neexistuje žádná podpora OOB pro jakýkoliv druh přímé intra forma komunikace. To zahrnuje programově skrývání/povolení/zakázání pole v reakci na změny pole na formuláři.

Skutečný cíl tohoto článku k popisu možných řešení a tyto jsou možnosti, jak vím, že je:

  1. Vyvinout vlastní sloupce typ. Jako vlastní sloupce vývojář, Máte plnou kontrolu nad světem"" vlastní sloupce. Můžete implementovat kaskádové rozevíracího tak.
  2. Zvažte použití pracovního postupu. V některých případech, Chcete automaticky přiřadit hodnotu k poli na hodnoty jiného pole. V tomto případě, normálně pokusíte použít vypočítaný sloupec, ale některé časy, to prostě nebude mít práci. SharePoint Designer workflow je relativně spravovat šetrná alternativa k klesá dolů do kódu a visual studio. Pokud půjdete touto cestou, být si vědom problému řešit Tento článek (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Obslužné rutiny událostí: Jako pracovního postupu, To je fakt po řešení. Vaše obslužná rutina události je sestavení rozhraní .NET (C#, VB.NET) na které SharePoint předá řízení. Objekt, který vyvinete má přístup k datům v seznamu (a celý objektový model) a dělat všechny potřebné výpočty.
  4. Pomocí aplikace SharePoint Designer vytvářet vlastní položky formuláře. Já nemám přímou zkušenost s tímto přístupem, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. Zahrnout vlastní funkce vstupu dat technologie ASP.NET (jako samostatné webové stránky, nebo jako webovou část) a místo toho použít.

Pokud někdo zná jiné a lepší možnosti, Prosím, psát komentáře a já budu aktualizovat tělo tento post.

<Konec />

Doplněk Technorati značky:

Ano/ne (zaškrtávací políčko) filtrování webové části dotaz na obsah

Chcete-li filtrovat na dotaz Ano/žádné zaškrtávací políčko s názvem "PG Milestone", konfigurovat CQWP takhle:

obrázek

To je další z těch zřejmé jednou jste víte to ale hard-to-find-an-answer-to otázek: Jak filtrovat podle typu Ano/ne zaškrtávací políčko, pomocí webové části dotaz na obsah.

První výsledek hledání Zjišťuji, že pomocí hledaný výraz "Ano/ne obsah dotazu webové části filtr" je mimo byt, tak jsem myslel, že jsem by dát to tam a uvidíme, jestli to může nahradit nesprávný výsledek v typické hledání výsledky.

Je to docela snadné: Pravda hodnoty = "1" a falešné hodnoty není rovno "1" (krásná retro, ve skutečnosti).

V příkladu výše, Vytvořil jsem stránky sloupec typu Ano/ne" (zaškrtávací políčko)" s názvem "mezník PG". Přidal jsem ho do knihovny dokumentu, nahrál několik dokumentů, Nastavte hodnotu pro pár a je testována.

<Konec />

Doplněk Technorati značky: , ,